SessionConfig

会话的配置。

JSON 表示法
{
  "session": string,
  "inputAudioConfig": {
    object (InputAudioConfig)
  },
  "outputAudioConfig": {
    object (OutputAudioConfig)
  },
  "historicalContexts": [
    {
      object (Message)
    }
  ],
  "entryAgent": string,
  "deployment": string,
  "timeZone": string,
  "useToolFakes": boolean,
  "remoteDialogflowQueryParameters": {
    object (SessionConfig.RemoteDialogflowQueryParameters)
  },
  "enableTextStreaming": boolean,
  "includeLlmThoughtSummary": boolean,
  "excludeDiagnosticInfo": boolean,
  "includeProgressUpdate": boolean
}
字段
session

string

必需。会话的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/sessions/{session}

inputAudioConfig

object (InputAudioConfig)

可选。用于处理输入音频的配置。

outputAudioConfig

object (OutputAudioConfig)

可选。用于生成输出音频的配置。

historicalContexts[]

object (Message)

可选。会话的历史上下文,包括用户输入、代理回答和其他消息。通常,CES 代理会自动管理会话,因此客户端无需明确填充此字段。不过,客户端可以选择替换历史上下文,以强制会话从特定状态开始。

entryAgent

string

可选。处理会话的入口客服人员。如果未指定,会话将由应用的 root agent 处理。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

deployment

string

可选。要用于会话的应用部署。格式:projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

timeZone

string

可选。用户所在的时区。如果提供,代理将使用该时区来处理与日期和时间相关的变量。否则,代理将使用 App.time_zone_settings 中指定的时区。

格式为 IANA 时区数据库时区,例如“America/Los_Angeles”。

useToolFakes

boolean

可选。是否为会话使用虚构工具。如果设置了此字段,代理将尝试使用工具伪造,而不是调用实际工具。

remoteDialogflowQueryParameters

object (SessionConfig.RemoteDialogflowQueryParameters)

可选。当会话控制权转移到远程代理时,要发送到远程 Dialogflow 代理的 QueryParameters。

enableTextStreaming

boolean

可选。是否在模型生成文本输出时,以增量方式将文本输出流式传输到客户端。默认值为 false。

  • 停用后,模型的文本输出会被缓冲,并且发送到客户端的每个文本输出都是一个完整的句子。客户端可以在新行中呈现每个文本输出。
  • 启用后,每个文本输出可能仅包含句子的一部分。客户端应串联连续的文本输出,以呈现完整的回答。

注意:此功能仅支持使用 StreamRunSession 或 BidiRunSession 的文本(非语音)会话。

includeLlmThoughtSummary

boolean

可选。是否在会话输出中包含 LLM 思考摘要。

excludeDiagnosticInfo

boolean

可选。是否从会话输出中排除诊断信息。

includeProgressUpdate

boolean

可选。是否向客户端发送中间处理更新。如果启用,更新将在 SessionOutput.progress 中发送。

InputAudioConfig

InputAudioConfig 用于配置 CES 代理应如何解读传入的音频数据。

JSON 表示法
{
  "audioEncoding": enum (AudioEncoding),
  "sampleRateHertz": integer,
  "noiseSuppressionLevel": string
}
字段
audioEncoding

enum (AudioEncoding)

必需。输入音频数据的编码。

sampleRateHertz

integer

必需。输入音频数据的采样率(以赫兹为单位)。

noiseSuppressionLevel

string

可选。是否对输入音频启用噪音抑制。可用值为“low”(低)、“moderate”(中)、“high”(高)、“very_high”(极高)。

AudioEncoding

AudioEncoding 指定音频数据的编码格式。

枚举
AUDIO_ENCODING_UNSPECIFIED 未指定音频编码。
LINEAR16 16 位线性 PCM 音频编码。
MULAW 8 位采样,使用 G.711 PCMU/mu-law 压缩 14 位音频采样。
ALAW 使用 G.711 PCMU/A-law 压缩 14 位音频样本的 8 位样本。

OutputAudioConfig

OutputAudioConfig 用于配置 CES 智能体应如何合成传出音频回答。

JSON 表示法
{
  "audioEncoding": enum (AudioEncoding),
  "sampleRateHertz": integer
}
字段
audioEncoding

enum (AudioEncoding)

必需。输出音频数据的编码。

sampleRateHertz

integer

必需。输出音频数据的采样率(以赫兹为单位)。

SessionConfig.RemoteDialogflowQueryParameters

当会话控制权转移到远程代理时,要发送到远程 Dialogflow 代理的 QueryParameters。

JSON 表示法
{
  "webhookHeaders": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "endUserMetadata": {
    object
  }
}
字段
webhookHeaders

map (key: string, value: string)

可选。要作为 QueryParameters 中的 webhookHeaders 发送的 HTTP 标头。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

payload

object (Struct format)

可选。要在 QueryParameters 中发送的载荷。

endUserMetadata

object (Struct format)

可选。要在 QueryParameters 中发送的最终用户元数据。