CES 에이전트와의 단일 턴 상호작용을 시작합니다. 서버 측 스트리밍을 사용하여 증분 결과와 부분 응답을 생성되는 대로 제공합니다.
기본적으로 전체 응답 (예: 콜백의 메시지 또는 전체 LLM 응답)은 사용 가능한 즉시 클라이언트로 전송됩니다. 모델에서 개별 텍스트 청크를 직접 스트리밍하려면 enableTextStreaming을 true로 설정합니다.
HTTP 요청
POST https://ces.googleapis.com/v1beta/{config.session=projects/*/locations/*/apps/*/sessions/*}:streamRunSession
URL은 gRPC 트랜스코딩 문법을 사용합니다.
경로 매개변수
| 매개변수 | |
|---|---|
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 |
선택사항입니다. QueryParameters 세션 제어가 원격 에이전트로 전송될 때 원격 Dialogflow 에이전트로 전송할 항목입니다. |
config.enableTextStreaming |
선택사항입니다. 모델에서 텍스트 출력을 스트리밍할지 여부입니다. 기본적으로 모델의 텍스트 출력은 클라이언트로 전송되기 전에 수집됩니다. 참고: 이는 |
config.excludeDiagnosticInfo |
선택사항입니다. 세션 출력에서 진단 정보를 제외할지 여부입니다. |
inputs[] |
필수 항목입니다. 세션의 입력입니다. |
응답 본문
성공하면 응답 본문에 RunSessionResponse 인스턴스 스트림이 포함됩니다.
승인 범위
다음 OAuth 범위 중 하나가 필요합니다.
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/ces
자세한 내용은 Authentication Overview에서 확인하세요.
IAM 권한
session 리소스에 대해서는 다음 IAM 권한이 필요합니다.
ces.sessions.runSession
자세한 내용은 IAM 문서를 참조하세요.