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
feat: enhance agent and vendor documentation with new features and configurations
- Updated `withTools` method to clarify support for both MCP and inline REST tool invocation.
- Added `GeminiSTT` vendor with detailed configuration options for Google Gemini ASR.
- Introduced `OpenAIGptLive` vendor for OpenAI GPT Live with specific parameters.
- Enhanced documentation for MLLM vendors, including support for new global and CN vendors.
- Improved examples for filler words and inline tools in agent configuration.
- Updated tests to cover new features and ensure proper serialization of configurations.
@@ -104,13 +105,31 @@ const stt = new DeepgramSTT({
104
105
});
105
106
```
106
107
108
+
`GeminiSTT` serializes its API key, model, and optional transcription settings
109
+
into the generated Gemini ASR configuration:
110
+
111
+
```typescript
112
+
import { GeminiSTT } from'agora-agents';
113
+
114
+
const stt =newGeminiSTT({
115
+
apiKey: 'your-gemini-key',
116
+
model: 'gemini-transcribe',
117
+
language: 'en-US',
118
+
wordTimestamp: true,
119
+
});
120
+
```
121
+
122
+
ARES and Fengming hotwords are sent as the top-level `asr.keywords` field;
123
+
additional provider-specific fields remain under `asr.params`.
124
+
107
125
## MLLM vendors
108
126
109
127
MLLM (Multimodal LLM) vendors handle audio end-to-end — no separate STT or TTS step. Call `agent.withMllm(vendor)` and MLLM mode is enabled automatically; no separate `advancedFeatures` flag is needed.
|`GeminiLive`| Google Gemini Live API |`apiKey`, `model`, `url?`, `voice?`, `greetingMessage?`, `failureMessage?`, `inputModalities?`, `outputModalities?`, `messages?`, `turnDetection?`|
116
135
|`VertexAI`| Vertex AI Gemini Live |`model`, `url?`, `projectId`, `location`, `adcCredentialsString`, `voice?`, `greetingMessage?`, `failureMessage?`, `inputModalities?`, `outputModalities?`, `messages?`, `turnDetection?`|
Copy file name to clipboardExpand all lines: docs/guides/mllm-flow.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ description: Use global or Chinese mainland MLLM providers for end-to-end audio
6
6
7
7
# MLLM Flow (Multimodal)
8
8
9
-
In MLLM mode, a single multimodal model handles audio input and output end-to-end — no separate STT or TTS step. AgentKit supports global OpenAI Realtime, Azure OpenAI Realtime, Gemini Live, Vertex AI, and xAI Grok providers, plus Qwen Omni for Chinese mainland deployments.
9
+
In MLLM mode, a single multimodal model handles audio input and output end-to-end — no separate STT or TTS step. AgentKit supports global OpenAI Realtime (`mllm.vendor = 'openai'`), OpenAI GPT Live (`mllm.vendor = 'openai_gpt_live'`), Azure OpenAI Realtime, Gemini Live, Vertex AI, and xAI Grok providers, plus Qwen Omni for Chinese mainland deployments.
Set the MLLM vendor for multimodal mode. Pass a global vendor (`OpenAIRealtime`, `AzureOpenAIRealtime`, `GeminiLive`, `VertexAI`, `XaiGrok`) or the Chinese mainland vendor `QwenOmni`. Calling `withMllm()` automatically sets `mllm.enable = true`. MLLM mode does not require `withTts()` / `withLlm()` / `withStt()`.
83
+
Set the MLLM vendor for multimodal mode. Pass a global vendor (`OpenAIRealtime`, `OpenAIGptLive`, `AzureOpenAIRealtime`, `GeminiLive`, `VertexAI`, `XaiGrok`) or the Chinese mainland vendor `QwenOmni`. Calling `withMllm()` automatically sets `mllm.enable = true`. MLLM mode does not require `withTts()` / `withLlm()` / `withStt()`.
84
84
85
85
> Avatars are only supported with the cascading ASR + LLM + TTS pipeline. Combining `withMllm()` with `withAvatar()` throws at `toProperties()` and `session.start()`.
86
86
@@ -118,7 +118,9 @@ Set advanced features (e.g. `enable_rtm`).
@@ -251,8 +253,12 @@ In the cascading pipeline, `toProperties()` also fills in a default `asr` block
251
253
252
254
Public aliases over Fern-generated types include `LlmConfig`, `SttConfig`, `AsrConfig` (= `SttConfig`), `MllmConfig`, `AvatarConfig`, session/conversation types, and think types (`ThinkOnListeningAction`, etc.).
253
255
256
+
LLM configs also expose `LlmTool`, `LlmToolFunction`, `LlmToolServer`, and
257
+
`LlmToolExecution` for inline synchronous REST tools. These are distinct from
Wire vendor name aliases: `AsrVendorName` (ASR vendor string), `AvatarWireVendor` (avatar vendor string on `AvatarConfig`).
257
263
258
-
Think value constants: `ThinkOnListeningActionInject`, `ThinkOnListeningActionInterrupt`, `ThinkOnListeningActionIgnore`, `ThinkOnThinkingActionInterrupt`, `ThinkOnThinkingActionIgnore`, `ThinkOnSpeakingActionInterrupt`, `ThinkOnSpeakingActionIgnore`.
264
+
Think value constants include `ThinkOnListeningActionInject`, `ThinkOnListeningActionInterrupt`, `ThinkOnListeningActionIgnore`, and `ThinkOnListeningActionAppend`; corresponding `Append` constants are also available for thinking and speaking states. `append` queues the instruction until the current state finishes without interrupting the active interaction.
0 commit comments