Method: projects.locations.apps.sessions.runSession

세션 내에서 CES 에이전트와 단일 차례 상호작용을 시작합니다.

HTTP 요청

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

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,
    "includeLlmThoughtSummary": boolean,
    "excludeDiagnosticInfo": boolean,
    "includeProgressUpdate": 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

(선택사항) 모델의 텍스트 출력을 생성되는 대로 클라이언트에 점진적으로 스트리밍할지 여부입니다. 기본값은 false입니다.

  • 사용 중지하면 모델의 텍스트 출력이 버퍼링되고 클라이언트로 전송되는 각 텍스트 출력은 완전한 문장입니다. 클라이언트는 각 텍스트 출력을 새 줄에 렌더링할 수 있습니다.
  • 사용 설정하면 각 텍스트 출력에 문장의 일부만 포함될 수 있습니다. 클라이언트는 연속된 텍스트 출력을 연결하여 전체 대답을 렌더링해야 합니다.

참고: 이 기능은 sessions.streamRunSession 또는 BidiRunSession를 사용하는 텍스트(음성 아님) 세션에서만 지원됩니다.

config.includeLlmThoughtSummary

boolean

(선택사항) 세션 출력에 LLM 사고 요약을 포함할지 여부입니다.

config.excludeDiagnosticInfo

boolean

(선택사항) 세션 출력에서 진단 정보를 제외할지 여부입니다.

config.includeProgressUpdate

boolean

(선택사항) 클라이언트에 중간 처리 업데이트를 포함할지 여부입니다. 사용 설정하면 업데이트가 SessionOutput.progress로 다시 전송됩니다.

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