Method: projects.locations.apps.sessions.streamRunSession

CES 에이전트와의 단일 턴 상호작용을 시작합니다. 서버 측 스트리밍을 사용하여 증분 결과와 부분 응답을 생성되는 대로 제공합니다.

기본적으로 전체 응답 (예: 콜백의 메시지 또는 전체 LLM 응답)은 사용 가능한 즉시 클라이언트로 전송됩니다. 모델에서 개별 텍스트 청크를 직접 스트리밍하려면 enableTextStreaming을 true로 설정합니다.

HTTP 요청

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

URL은 gRPC 트랜스코딩 문법을 사용합니다.

경로 매개변수

매개변수
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)

선택사항입니다. QueryParameters 세션 제어가 원격 에이전트로 전송될 때 원격 Dialogflow 에이전트로 전송할 항목입니다.

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 문서를 참조하세요.