发起与 CES 智能体的单轮互动。使用服务器端流式传输,在生成增量结果和部分回答时即时提供。
默认情况下,完整的回答(例如,来自回调的消息或完整的 LLM 回答)会在生成后立即发送给客户端。如需启用直接从模型流式传输单个文本块的功能,请将 enableTextStreaming 设置为 true。
HTTP 请求
POST https://ces.googleapis.com/v1beta/{config.session=projects/*/locations/*/apps/*/sessions/*}:streamRunSession
网址采用 gRPC 转码语法。
路径参数
| 参数 | |
|---|---|
config.session |
必需。会话的唯一标识符。格式: |
请求正文
请求正文中包含结构如下的数据:
| JSON 表示法 |
|---|
{ "config": { "session": string, "inputAudioConfig": { "audioEncoding": enum ( |
| 字段 | |
|---|---|
config.inputAudioConfig |
可选。用于处理输入音频的配置。 |
config.outputAudioConfig |
可选。用于生成输出音频的配置。 |
config.historicalContexts[] |
可选。会话的历史上下文,包括用户输入、代理回答和其他消息。通常,CES 代理会自动管理会话,因此客户端无需明确填充此字段。不过,客户端可以选择替换历史上下文,以强制会话从特定状态开始。 |
config.entryAgent |
可选。处理会话的入口客服人员。如果未指定,会话将由应用的 |
config.deployment |
可选。要用于会话的应用部署。格式: |
config.timeZone |
可选。用户所在的时区。如果提供,代理将使用该时区来处理与日期和时间相关的变量。否则,代理将使用 App.time_zone_settings 中指定的时区。 格式为 IANA 时区数据库时区,例如“America/Los_Angeles”。 |
config.useToolFakes |
可选。是否为会话使用虚构工具。如果设置了此字段,代理将尝试使用工具伪造,而不是调用实际工具。 |
config.remoteDialogflowQueryParameters |
可选。当会话控制权转移到远程代理时,要发送到远程 Dialogflow 代理的 QueryParameters。 |
config.enableTextStreaming |
可选。是否在模型生成文本输出时,以增量方式将文本输出流式传输到客户端。默认值为
注意:此功能仅支持使用 |
config.includeLlmThoughtSummary |
可选。是否在会话输出中包含 LLM 思考摘要。 |
config.excludeDiagnosticInfo |
可选。是否从会话输出中排除诊断信息。 |
config.includeProgressUpdate |
可选。是否向客户端发送中间处理更新。如果启用,更新将在 |
inputs[] |
必需。会话的输入。 |
响应正文
如果成功,响应正文将包含 RunSessionResponse 实例数据流。
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/ces
如需了解详情,请参阅 Authentication Overview。
IAM 权限
需要拥有 session 资源的以下 IAM 权限:
ces.sessions.runSession
如需了解详情,请参阅 IAM 文档。