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,
  "excludeDiagnosticInfo": 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)

可选。QueryParameters 当会话控制权转移到远程智能体时,要发送给远程 Dialogflow 智能体的 QueryParameters。

enableTextStreaming

boolean

可选。是否启用来自模型的流式文本输出。默认情况下,来自模型的文本输出会在发送给客户端之前收集。注意:这仅适用于通过 StreamRunSessionBidiRunSession 进行的文本(非语音)会话。

excludeDiagnosticInfo

boolean

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

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 8 位采样,使用 G.711 PCMU/A-law 压缩 14 位音频采样。

OutputAudioConfig

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

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

enum (AudioEncoding)

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

sampleRateHertz

integer

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

SessionConfig.RemoteDialogflowQueryParameters

QueryParameters 当会话控制权转移到远程智能体时,要发送给远程 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 中发送的最终用户元数据。