- HTTP リクエスト
- パスパラメータ
- リクエストの本文
- レスポンスの本文
- 認可スコープ
- IAM 権限
- SessionConfig
- SessionConfig.RemoteDialogflowQueryParameters
- SessionOutput
- ToolCalls
- 引用
- Citations.CitedChunk
- GoogleSearchSuggestions
- WebSearchQuery
- EndSession
- SessionOutput.DiagnosticInfo
セッション内で CES エージェントとの 1 回のターン インタラクションを開始します。
HTTP リクエスト
POST https://ces.googleapis.com/v1beta/{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.useToolFakes |
省略可。セッションでツール フェイクを使用するかどうか。このフィールドが設定されている場合、エージェントは実際のツールを呼び出す代わりに、ツール フェイクを使用しようとします。 |
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")です。 |
useToolFakes |
省略可。セッションでツール フェイクを使用するかどうか。このフィールドが設定されている場合、エージェントは実際のツールを呼び出す代わりに、ツール フェイクを使用しようとします。 |
remoteDialogflowQueryParameters |
省略可。セッション制御がリモート エージェントに転送されたときにリモート Dialogflow エージェントに送信する QueryParameters。 |
SessionConfig.RemoteDialogflowQueryParameters
セッション制御がリモート エージェントに転送されたときにリモート Dialogflow エージェントに送信する QueryParameters。
| JSON 表現 |
|---|
{ "webhookHeaders": { string: string, ... }, "payload": { object }, "endUserMetadata": { object } } |
| フィールド | |
|---|---|
webhookHeaders |
省略可。QueryParameters の webhookHeaders として送信される HTTP ヘッダー。
|
payload |
省略可。QueryParameters で送信されるペイロード。 |
endUserMetadata |
省略可。QueryParameters で送信されるエンドユーザーのメタデータ。 |
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 |
リクエスト処理全体のトレース。ルートスパンとして表されます。このスパンには、特定のオペレーションのネストされた子スパンを含めることができます。 |