You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+40-41Lines changed: 40 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@ pip install agora-agents
20
20
## Quick Start
21
21
22
22
Start with the `Agent` builder: create a client with app credentials, choose your ASR, LLM, and TTS providers, then start a session. Omit vendor API keys for supported Agora-managed models, or provide keys when you want BYOK.
23
+
Set Agora interaction language with `turn_detection.language`; provider-specific STT language values remain under `asr.params`.
`Agora` generates the required ConvoAI REST auth and RTC join tokens automatically when you provide `app_id` and `app_certificate`. For supported Agora-managed models, leave vendor API keys unset; provide keys when you want BYOK.
131
98
99
+
## AI Studio pipeline IDs
100
+
101
+
Use `pipeline_id` when you want a published AI Studio pipeline to provide the base agent configuration:
102
+
103
+
```python
104
+
agent = Agent(
105
+
name="support",
106
+
pipeline_id="studio-pipeline-id",
107
+
)
108
+
109
+
session = agent.create_session(
110
+
client,
111
+
channel="support-room",
112
+
agent_uid="1",
113
+
remote_uids=["100"],
114
+
)
115
+
```
116
+
117
+
You can override it per session:
118
+
119
+
```python
120
+
session = agent.create_session(
121
+
client,
122
+
channel="support-room",
123
+
agent_uid="1",
124
+
remote_uids=["100"],
125
+
pipeline_id="session-pipeline-id",
126
+
)
127
+
```
128
+
129
+
AgentKit sends the resolved value as the top-level `/join` field `pipeline_id`, not inside `properties`. Explicit Agent config such as `with_llm()`, `with_tts()`, `with_stt()`, `with_mllm()`, and `advanced_features` may send `properties` fields that override the saved pipeline settings.
130
+
132
131
### BYOK version
133
132
134
133
Use the same `Agent` builder shape, but provide credentials explicitly when you want vendor-managed billing and routing instead of Agora-managed models.
Copy file name to clipboardExpand all lines: changelog.md
+21-2Lines changed: 21 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,25 @@ All notable changes to this project will be documented in this file.
4
4
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/).
6
6
7
+
## [v2.1.0] — 2026-06-02
8
+
9
+
### Added
10
+
11
+
-**Turn detection language** — AgentKit now manages Agora interaction language through `turn_detection.language`, validates it against the supported BCP-47 language list, and sends the default `en-US` when no language is provided.
12
+
-**Provider parameter parity** — ASR, LLM, MLLM, TTS, and avatar wrappers expose typed provider parameters plus passthrough fields where the generated core supports additional properties.
13
+
14
+
### Changed
15
+
16
+
-**Generated core refresh** — Regenerated core types from the v2.1 API schema.
17
+
-**Deepgram TTS passthrough** — `DeepgramTTS` now uses `additional_params` for passthrough fields and flattens them into `tts.params`; the removed nested `params.params` shape is no longer documented or emitted.
18
+
-**OpenAI TTS** — Docs and tests now reflect the generated core shape, including `instructions` and `speed` under `tts.params`.
19
+
-**TTS provider docs** — Updated TTS provider reference tables to match implemented wrapper fields and generated core params.
20
+
21
+
### Fixed
22
+
23
+
-**Managed-provider validation** — AgentKit validation now distinguishes preset-backed providers from BYOK providers so required provider fields are only required when credentials are caller-supplied.
24
+
-**Language placement** — Provider-specific STT language values remain under `asr.params`, while Agora interaction language is emitted separately as `turn_detection.language`.
25
+
7
26
## [v2.0.0] — 2026-05-21
8
27
9
28
### Added
@@ -52,7 +71,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
52
71
53
72
### Added
54
73
55
-
-**`DeepgramTTS`** — New TTS vendor wrapper for Deepgram (Beta). Accepts `api_key`, `model`, `base_url`, `sample_rate`, `params`, and `skip_patterns`.
74
+
-**`DeepgramTTS`** — New TTS vendor wrapper for Deepgram (Beta). Accepts `api_key`, `model`, `base_url`, `sample_rate`, `additional_params`, and `skip_patterns`.
56
75
-**`Agent.with_tools(enabled=True)`** — Dedicated builder method to enable MCP tool invocation (`advanced_features.enable_tools`). Replaces the raw `with_advanced_features(AdvancedFeatures(enable_tools=True))` call.
57
76
-**LLM vendors: `headers` field** — All four LLM vendors (`OpenAI`, `AzureOpenAI`, `Anthropic`, `Gemini`) now accept an optional `headers: Dict[str, str]` parameter. Use this to pass custom HTTP headers to the LLM provider (e.g., tenant identifiers, routing headers).
58
77
-**`AgentSession.think()` / `AsyncAgentSession.think()`** — Send a custom instruction to a running agent through the `agent_management` API.
@@ -107,7 +126,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
107
126
108
127
### Added
109
128
110
-
-**`OpenAITTS`** — New optional parameters: `response_format` (str, e.g. `"pcm"`) and `speed` (float).
129
+
-**`OpenAITTS`** — New optional parameters: `instructions` (str) and `speed` (float).
111
130
-**`CartesiaTTS`** — `voice_id` user-facing field is preserved; voice is serialized to the required nested object format automatically.
112
131
-**`RimeTTS`** — New optional parameters: `lang` (str), `sampling_rate` (int, serialized as `samplingRate`), `speed_alpha` (float, serialized as `speedAlpha`).
113
132
-**`OpenAIRealtime`** — New optional parameter: `failure_message` (str).
system_messages=[{'role': 'system', 'content': 'You are a helpful voice assistant.'}],
23
+
greeting_message='Hello! How can I help you?',
24
+
failure_message='Sorry, something went wrong.',
25
+
max_history=20,
26
+
)
23
27
)
24
28
```
25
29
26
30
| Parameter | Type | Required | Description |
27
31
|---|---|---|---|
28
32
|`name`|`str`| No | Agent display name (used as session name if not overridden) |
29
-
|`instructions`|`str`| No |System prompt for the LLM|
30
-
|`greeting`|`str`| No |Message spoken when the agent joins|
31
-
|`failure_message`|`str`| No |Message spoken on error|
32
-
|`max_history`|`int`| No |Maximum conversation history length|
33
+
|`instructions`|`str`| No |Deprecated. Use LLM vendor `system_messages` instead.|
34
+
|`greeting`|`str`| No |Deprecated. Use LLM/MLLM vendor `greeting_message` instead.|
35
+
|`failure_message`|`str`| No |Deprecated. Use LLM/MLLM vendor `failure_message` instead.|
36
+
|`max_history`|`int`| No |Deprecated. Use LLM vendor `max_history` instead.|
33
37
|`turn_detection`|`TurnDetectionConfig`| No | Turn detection settings |
34
38
|`sal`|`SalConfig`| No | SAL (Speech Activity Level) configuration |
35
39
|`advanced_features`|`Dict[str, Any]`| No | Advanced features (e.g., `{'enable_rtm': True}`) |
@@ -57,15 +61,15 @@ Each `with_*` method returns a **new** `Agent` instance — the original is unch
57
61
58
62
| Method | Accepts | Purpose |
59
63
|---|---|---|
60
-
|`with_instructions(text)`|`str`|Override the system prompt|
61
-
|`with_greeting(text)`|`str`|Override the greeting message|
64
+
|`with_instructions(text)`|`str`|Deprecated. Use LLM vendor `system_messages` instead.|
65
+
|`with_greeting(text)`|`str`|Deprecated. Use LLM/MLLM vendor `greeting_message` instead.|
62
66
|`with_name(name)`|`str`| Override the agent name |
63
-
|`with_turn_detection(config)`|`TurnDetectionConfig`|Override cascading-flow SOS/EOS detection; use `with_interruption()` for interruption behavior |
67
+
|`with_turn_detection(config)`|`TurnDetectionConfig`|Configure `turn_detection.language` and cascading-flow SOS/EOS detection; use `with_interruption()` for interruption behavior |
64
68
|`with_sal(config)`|`SalConfig`| Set SAL configuration |
65
69
|`with_advanced_features(features)`|`Dict[str, Any]`| Set advanced features |
66
70
|`with_parameters(parameters)`|`SessionParams`| Set session parameters |
Use `turn_detection.language` for Agora interaction language; it defaults to `en-US`. STT vendor `language` options are serialized under `asr.params` using each provider's own format.
0 commit comments