- HTTP リクエスト
- パスパラメータ
- リクエストの本文
- レスポンスの本文
- 認可スコープ
- IAM 権限
- SessionConfig
- InputAudioConfig
- AudioEncoding
- OutputAudioConfig
- SessionConfig.RemoteDialogflowQueryParameters
- SessionInput
- ToolResponses
- イベント
- SessionOutput
- ToolCalls
- 引用
- Citations.CitedChunk
- GoogleSearchSuggestions
- WebSearchQuery
- EndSession
- SessionOutput.DiagnosticInfo
セッション内で CES エージェントとの 1 回のターン インタラクションを開始します。
HTTP リクエスト
POST https://ces.googleapis.com/v1/{config.session=projects/*/locations/*/apps/*/sessions/*}:runSession
この URL では gRPC Transcoding 構文を使用します。
パスパラメータ
| パラメータ | |
|---|---|
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.remoteDialogflowQueryParameters |
省略可。セッション制御がリモート エージェントに転送されたときにリモート Dialogflow エージェントに送信する QueryParameters。 |
inputs[] |
必須。セッションの入力。 |
レスポンスの本文
SessionService.RunSession に対するレスポンス メッセージです。
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
| JSON 表現 |
|---|
{
"outputs": [
{
object ( |
| フィールド | |
|---|---|
outputs[] |
セッションの出力。 |
認可スコープ
次の OAuth スコープのいずれかが必要です。
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/ces
詳細については、Authentication Overview をご覧ください。
IAM 権限
session リソースに対する次の IAM 権限が必要です。
ces.sessions.runSession
詳細については、IAM のドキュメントをご覧ください。
SessionConfig
セッションの構成。
| JSON 表現 |
|---|
{ "session": string, "inputAudioConfig": { object ( |
| フィールド | |
|---|---|
session |
必須。セッションの固有識別子。形式: |
inputAudioConfig |
省略可。入力音声の処理に関する構成。 |
outputAudioConfig |
省略可。出力音声の生成に関する構成。 |
historicalContexts[] |
省略可。セッションの履歴コンテキスト(ユーザー入力、エージェントの応答、その他のメッセージなど)。通常、CES エージェントがセッションを自動的に管理するため、クライアントがこのフィールドに明示的に値を入力する必要はありません。ただし、クライアントは必要に応じて履歴コンテキストをオーバーライドして、特定の状態からセッションを強制的に開始できます。 |
entryAgent |
省略可。セッションに対応する最初のエージェント。指定しない場合、セッションはアプリの |
deployment |
省略可。セッションで使用するアプリのデプロイ。形式: |
timeZone |
省略可。ユーザーのタイムゾーン。指定した場合、エージェントは日付と時刻に関連する変数にこのタイムゾーンを使用します。それ以外の場合、エージェントは App.time_zone_settings で指定されたタイムゾーンを使用します。 形式は IANA タイムゾーン データベースのタイムゾーン(例: "America/Los_Angeles")です。 |
remoteDialogflowQueryParameters |
省略可。セッション制御がリモート エージェントに転送されたときにリモート Dialogflow エージェントに送信する QueryParameters。 |
InputAudioConfig
InputAudioConfig は、CES エージェントが受信した音声データを解釈する方法を構成します。
| JSON 表現 |
|---|
{
"audioEncoding": enum ( |
| フィールド | |
|---|---|
audioEncoding |
必須。入力音声データのエンコード。 |
sampleRateHertz |
必須。入力音声データのサンプルレート(ヘルツ単位)。 |
noiseSuppressionLevel |
省略可。入力音声のノイズ抑制を有効にするかどうか。使用可能な値は、「low」、「moderate」、「high」、「very_high」です。 |
AudioEncoding
AudioEncoding は、音声データのエンコード形式を指定します。
| 列挙型 | |
|---|---|
AUDIO_ENCODING_UNSPECIFIED |
音声エンコードが指定されていません。 |
LINEAR16 |
16 ビット リニア PCM オーディオ エンコード。 |
MULAW |
G.711 PCMU/mu-law を使用して 14 ビットの音声サンプルの圧縮と伸張を行う 8 ビットのサンプル。 |
ALAW |
G.711 PCMU/A-law を使用して 14 ビットの音声サンプルの圧縮と伸張を行う 8 ビットのサンプル。 |
OutputAudioConfig
OutputAudioConfig は、CES エージェントが発信音声レスポンスを合成する方法を構成します。
| JSON 表現 |
|---|
{
"audioEncoding": enum ( |
| フィールド | |
|---|---|
audioEncoding |
必須。出力音声データのエンコード。 |
sampleRateHertz |
必須。出力音声データのサンプリング レート(ヘルツ単位)。 |
SessionConfig.RemoteDialogflowQueryParameters
セッション制御がリモート エージェントに転送されたときにリモート Dialogflow エージェントに送信する QueryParameters。
| JSON 表現 |
|---|
{ "webhookHeaders": { string: string, ... }, "payload": { object }, "endUserMetadata": { object } } |
| フィールド | |
|---|---|
webhookHeaders |
省略可。QueryParameters の webhookHeaders として送信される HTTP ヘッダー。
|
payload |
省略可。QueryParameters で送信されるペイロード。 |
endUserMetadata |
省略可。QueryParameters で送信されるエンドユーザーのメタデータ。 |
SessionInput
セッションの入力。
| JSON 表現 |
|---|
{ "willContinue": boolean, // Union field |
| フィールド | |
|---|---|
willContinue |
省略可。現在のメッセージが双方向ストリーミング セッションの大きな入力のフラグメントであるかどうかを示すフラグ。
注: このフィールドは音声入力と DTMF 入力には適用されません。これらは常に終端信号に基づいて自動的に処理されるためです。 |
共用体フィールド input_type。入力のタイプ。input_type は次のいずれかになります。 |
|
text |
省略可。エンドユーザーからのテキストデータ。 |
dtmf |
省略可。エンドユーザーからの DTMF 数字。 |
audio |
省略可。エンドユーザーからの音声データ。 Base64 でエンコードされた文字列。 |
toolResponses |
省略可。クライアントからのツール呼び出しの実行結果。 |
image |
省略可。エンドユーザーからの画像データ。 |
blob |
省略可。エンドユーザーからの BLOB データ。 |
variables |
省略可。セッションのコンテキスト変数。名前でキー設定されます。アプリで宣言された変数のみが CES エージェントで使用されます。 認識されない変数は、追加のセッション パラメータとして [Dialogflow エージェント][Agent.RemoteDialogflowAgent] に送信されます。 |
event |
省略可。イベント入力。 |
ToolResponses
クライアントからリクエストされたツール呼び出しの実行結果。
| JSON 表現 |
|---|
{
"toolResponses": [
{
object ( |
| フィールド | |
|---|---|
toolResponses[] |
省略可。ツール実行結果のリスト。 |
イベント
イベント入力。
| JSON 表現 |
|---|
{ "event": string } |
| フィールド | |
|---|---|
event |
必須。イベントの名前。 |
SessionOutput
セッションの出力。
| JSON 表現 |
|---|
{ "turnIndex": integer, "turnCompleted": boolean, "diagnosticInfo": { object ( |
| フィールド | |
|---|---|
turnIndex |
この出力が属する会話ターンの順序(1 から始まる)。 |
turnCompleted |
true の場合、CES エージェントは現在の会話ターンの終了を検出し、このターンではこれ以上出力を行いません。 |
diagnosticInfo |
省略可。診断情報には、入力の処理中の実行の詳細が含まれます。各ターンの最後の SessionOutput( |
共用体フィールド output_type。出力のタイプ。output_type は次のいずれかになります。 |
|
text |
CES エージェントからの出力テキスト。 |
audio |
CES エージェントから音声を出力します。 Base64 でエンコードされた文字列。 |
toolCalls |
クライアントにツールの実行をリクエストします。 |
citations |
エージェントが生成したテキストのソース情報を提供する引用。 |
googleSearchSuggestions |
|
endSession |
セッションが終了したことを示します。 |
payload |
CES エージェントからの構造化出力を含むカスタム ペイロード。 |
ToolCalls
クライアントにツールを実行して、セッションを続行する前に実行結果を返すよう求めるリクエスト。
| JSON 表現 |
|---|
{
"toolCalls": [
{
object ( |
| フィールド | |
|---|---|
toolCalls[] |
省略可。実行するツール呼び出しのリスト。 |
引用
エージェントの回答に関連付けられた引用。
| JSON 表現 |
|---|
{
"citedChunks": [
{
object ( |
| フィールド | |
|---|---|
citedChunks[] |
引用された情報の一覧。 |
Citations.CitedChunk
引用された情報の一部。
| JSON 表現 |
|---|
{ "uri": string, "title": string, "text": string } |
| フィールド | |
|---|---|
uri |
引用に使用される URI。 |
title |
引用されたドキュメントのタイトル。 |
text |
引用に使用されるテキスト。 |
GoogleSearchSuggestions
Google Search Tool からの検索候補。
| JSON 表現 |
|---|
{
"htmls": [
string
],
"webSearchQueries": [
{
object ( |
| フィールド | |
|---|---|
htmls[] |
検索候補の準拠する HTML と CSS のスタイル。提供される HTML と CSS は、デバイスの設定に自動的に適応し、 |
webSearchQueries[] |
Google 検索の実行に使用されたクエリのリストと、検索候補を構成する検索結果 URI。 |
WebSearchQuery
1 つのウェブ検索クエリとそれに関連付けられた検索 URI を表します。
| JSON 表現 |
|---|
{ "query": string, "uri": string } |
| フィールド | |
|---|---|
query |
検索クエリのテキスト。 |
uri |
クエリの Google 検索結果ページの URI。 |
EndSession
セッションが終了したことを示します。終了の理由は、正常に完了した(ユーザーが「さようなら」と言ったなど)か、)またはエージェントのエスカレーション。
セッションが終了すると、エージェントはそれ以上の入力を処理しません。クライアントは、エージェントから残りのレスポンスをすべて受け取った後、ハーフクローズして切断する必要があります。
| JSON 表現 |
|---|
{ "metadata": { object } } |
| フィールド | |
|---|---|
metadata |
省略可。セッション終了の理由など、セッション終了シグナルに関する追加情報を提供します。 |
SessionOutput.DiagnosticInfo
処理中の実行の詳細が含まれます。
| JSON 表現 |
|---|
{ "messages": [ { object ( |
| フィールド | |
|---|---|
messages[] |
処理中に発生したメッセージのリスト。 |
rootSpan |
リクエスト処理全体のトレース。ルートスパンとして表されます。このスパンには、特定のオペレーションのネストされた子スパンを含めることができます。 |