Multimodal Live API 是一款低延迟的双向流式传输 API,支持音频和视频流式传输输入,并且可以输出多模态输出流(音频和文本)。
参数列表
BidiGenerateContentClientContent
从客户端传送的当前对话的增量更新。此处的所有内容都会无条件附加到对话历史记录中,并作为向模型发出的提示的一部分来生成内容。
此处显示消息会中断任何当前的模型生成。
字段 | |
---|---|
turns[] |
可选。附加到与模型的当前对话的内容。 对于单轮询问,这是一个实例。对于多轮询问,此字段是重复字段,包含对话记录和最新请求。 |
turn_ |
可选。如果为 true,则表示服务器内容生成应从当前累积的提示开始。否则,服务器会等待其他消息,然后再开始生成。 |
BidiGenerateContentClientMessage
客户端在 BidiGenerateContent 调用中发送的消息。
字段 | |
---|---|
联合字段 message_type 。消息的类型。message_type 只能是下列其中一项: |
|
setup |
可选。在第一条(也是唯一一条)客户端消息中发送的会话配置。 |
client_ |
可选。从客户端传送的当前对话的增量更新。 |
realtime_ |
可选。实时发送的用户输入。 |
tool_ |
可选。对从服务器收到的 |
BidiGenerateContentRealtimeInput
实时发送的用户输入。
这与 BidiGenerateContentClientContent
在以下几个方面有所不同:
- 可以连续发送,不会中断模型生成。
- 如果需要混合在
BidiGenerateContentClientContent
和BidiGenerateContentRealtimeInput
中交错的数据,服务器会尝试进行优化以获得最佳响应,但无法保证。 - 未明确指定转换结束时间,而是从用户活动(例如语音结束)派生而来。
- 即使在对话结束之前,系统也会增量处理数据,以便优化模型快速开始响应。
- 始终是实时发送的直接用户输入。可以连续发送,不会中断。该模型会自动检测用户语音的开头和结尾,并相应地开始或终止流式传输响应。系统会在数据到达后逐步进行处理,从而最大限度地减少延迟时间。
字段 | |
---|---|
media_ |
可选。媒体输入的内嵌字节数据。 |
BidiGenerateContentServerContent
模型为响应客户端消息而生成的增量服务器更新。
内容会尽快生成,但不是实时生成。客户端可以选择缓冲并实时播放。
字段 | |
---|---|
turn_ |
仅限输出。如果为 true,则表示模型已生成完毕。系统仅会在响应其他客户端消息时开始生成。可与 |
interrupted |
仅限输出。如果为 true,则表示客户端消息中断了当前的模型生成。如果客户端正在实时播放内容,则表示可以停止并清空当前的播放队列。 |
model_ |
仅限输出。模型在与用户的当前对话中生成的内容。 |
BidiGenerateContentServerMessage
BidiGenerateContent 调用的响应消息。
字段 | |
---|---|
联合字段 message_type 。消息的类型。message_type 只能是下列其中一项: |
|
setup_ |
仅限输出。在设置完成后,作为对客户端发送的 |
server_ |
仅限输出。模型为响应客户消息而生成的内容。 |
tool_ |
仅限输出。请求客户端执行 |
tool_ |
仅限输出。通知客户应取消之前使用指定 |
BidiGenerateContentSetup
要在第一条(且仅限第一条)BidiGenerateContentClientMessage
中发送的消息。包含会话期间将应用的配置。
客户端应先等待 BidiGenerateContentSetupComplete
消息,然后再发送任何其他消息。
字段 | |
---|---|
model |
必需。模型的资源名称。此 ID 将用作模型的 ID。 格式: |
generation_ |
可选。生成配置。 以下字段不受支持:
|
system_ |
可选。用户为模型提供的系统说明。 注意:部分中只能使用文本,并且每个部分的内容将位于单独的段落中。 |
tools[] |
可选。模型可能用于生成下一个回答的
|
BidiGenerateContentSetupComplete
此类型没有字段。
作为对客户端发送的 BidiGenerateContentSetup
消息的响应而发送。
BidiGenerateContentToolCall
请求客户端执行 function_calls
并返回包含匹配 id
的响应。
字段 | |
---|---|
function_ |
仅限输出。要执行的函数调用。 |
BidiGenerateContentToolCallCancellation
向客户端发送通知,告知之前针对指定 id
签发的 ToolCallMessage
不应执行,应予取消。如果这些工具调用产生了副作用,客户端可能会尝试撤消工具调用。只有在客户端中断服务器转换时,才会出现此消息。
字段 | |
---|---|
ids[] |
仅限输出。要取消的工具调用的 ID。 |
BidiGenerateContentToolResponse
客户端针对从服务器收到的 ToolCall
生成的响应。各个 FunctionResponse
对象会通过 id
字段与相应的 FunctionCall
对象进行匹配。
请注意,在单个调用和服务器流式 GenerateContent API 中,函数调用是通过交换 Content
部分进行的,而在双向 GenerateContent API 中,函数调用是通过这组专用消息进行的。
字段 | |
---|---|
function_ |
可选。对函数调用的响应。 |