Method: projects.locations.apps.sessions.streamRunSession

CES エージェントとの 1 回のやり取りを開始します。サーバーサイド ストリーミングを使用して、増分結果と部分レスポンスを生成時に配信します。

デフォルトでは、完全なレスポンス(コールバックからのメッセージや完全な LLM レスポンスなど)は、利用可能になるとすぐにクライアントに送信されます。モデルから個々のテキスト チャンクを直接ストリーミングできるようにするには、enableTextStreaming を true に設定します。

HTTP リクエスト

POST https://ces.googleapis.com/v1beta/{config.session=projects/*/locations/*/apps/*/sessions/*}:streamRunSession

この URL では gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
config.session

string

必須。セッションの固有識別子。形式: projects/{project}/locations/{location}/apps/{app}/sessions/{session}

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "config": {
    "session": string,
    "inputAudioConfig": {
      "audioEncoding": enum (AudioEncoding),
      "sampleRateHertz": integer,
      "noiseSuppressionLevel": string
    },
    "outputAudioConfig": {
      "audioEncoding": enum (AudioEncoding),
      "sampleRateHertz": integer
    },
    "historicalContexts": [
      {
        "role": string,
        "chunks": [
          {
            object (Chunk)
          }
        ],
        "eventTime": string
      }
    ],
    "entryAgent": string,
    "deployment": string,
    "timeZone": string,
    "useToolFakes": boolean,
    "remoteDialogflowQueryParameters": {
      "webhookHeaders": {
        string: string,
        ...
      },
      "payload": {
        object
      },
      "endUserMetadata": {
        object
      }
    },
    "enableTextStreaming": boolean,
    "excludeDiagnosticInfo": boolean
  },
  "inputs": [
    {
      object (SessionInput)
    }
  ]
}
フィールド
config.inputAudioConfig

object (InputAudioConfig)

省略可。入力音声の処理の構成。

config.outputAudioConfig

object (OutputAudioConfig)

省略可。出力音声の生成に関する構成。

config.historicalContexts[]

object (Message)

省略可。セッションの履歴コンテキスト(ユーザー入力、エージェントの応答、その他のメッセージなど)。通常、CES エージェントはセッションを自動的に管理するため、クライアントがこのフィールドに明示的に値を入力する必要はありません。ただし、クライアントは必要に応じて履歴コンテキストをオーバーライドして、特定の状態からセッションを強制的に開始できます。

config.entryAgent

string

省略可。セッションに対応する最初のエージェント。指定しない場合、セッションはアプリの root agent によって処理されます。形式: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

config.deployment

string

省略可。セッションで使用するアプリのデプロイ。形式: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

config.timeZone

string

省略可。ユーザーのタイムゾーン。指定すると、エージェントは日付と時刻に関連する変数にこのタイムゾーンを使用します。それ以外の場合、エージェントは App.time_zone_settings で指定されたタイムゾーンを使用します。

形式は IANA タイムゾーン データベースのタイムゾーンです(例: America/Los_Angeles)。

config.useToolFakes

boolean

省略可。セッションでツール フェイクを使用するかどうか。このフィールドが設定されている場合、エージェントは実際のツールを呼び出す代わりに、ツール フェイクを使用しようとします。

config.remoteDialogflowQueryParameters

object (SessionConfig.RemoteDialogflowQueryParameters)

省略可。セッション制御がリモート エージェントに転送されたときにリモート Dialogflow エージェントに送信する QueryParameters

config.enableTextStreaming

boolean

省略可。モデルからのテキスト出力のストリーミングを有効にするかどうか。デフォルトでは、モデルからのテキスト出力は収集されてからクライアントに送信されます。注: これは、sessions.streamRunSession または BidiRunSession を介したテキスト(音声以外)セッションでのみサポートされています。

config.excludeDiagnosticInfo

boolean

省略可。セッション出力から診断情報を除外するかどうか。

inputs[]

object (SessionInput)

必須。セッションの入力。

レスポンスの本文

成功した場合、レスポンスの本文には RunSessionResponse インスタンスのストリームが含まれます。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

詳細については、Authentication Overview をご覧ください。

IAM 権限

session リソースに対する次の IAM 権限が必要です。

  • ces.sessions.runSession

詳細については、IAM のドキュメントをご覧ください。