Message

대화 내의 메시지입니다.

JSON 표현
{
  "role": string,
  "chunks": [
    {
      object (Chunk)
    }
  ],
  "eventTime": string
}
필드
role

string

(선택사항) 대화 내 역할(예: 사용자, 에이전트)입니다.

chunks[]

object (Chunk)

(선택사항) 메시지의 콘텐츠를 일련의 청크로 나타냅니다.

eventTime

string (Timestamp format)

(선택사항) 메일이 전송 또는 수신된 시점의 타임스탬프입니다. 메시지가 example의 일부인 경우 사용하면 안 됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

Chunk

메시지 내 콘텐츠 청크입니다.

JSON 표현
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "text": string,
  "transcript": string,
  "blob": {
    object (Blob)
  },
  "payload": {
    object
  },
  "image": {
    object (Image)
  },
  "toolCall": {
    object (ToolCall)
  },
  "toolResponse": {
    object (ToolResponse)
  },
  "agentTransfer": {
    object (AgentTransfer)
  },
  "updatedVariables": {
    object
  },
  "defaultVariables": {
    object
  }
  // End of mutually exclusive fields.
}
필드
청크 데이터입니다. 다음은 상호 배타적인 필드의 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다.
text

string

(선택사항) 텍스트 데이터.

transcript

string

(선택사항) 오디오와 연결된 스크립트입니다.

blob

object (Blob)

(선택사항) BLOB 데이터입니다.

payload

object (Struct format)

(선택사항) 맞춤 페이로드 데이터입니다.

image

object (Image)

(선택사항) 이미지 데이터입니다.

toolCall

object (ToolCall)

(선택사항) 도구 실행 요청입니다.

toolResponse

object (ToolResponse)

(선택사항) 도구 실행 응답입니다.

agentTransfer

object (AgentTransfer)

(선택사항) 상담사 트랜스퍼 이벤트입니다.

updatedVariables

object (Struct format)

구조체는 대화에서 업데이트된 변수를 나타내며 변수 이름으로 키가 지정됩니다.

defaultVariables

object (Struct format)

구조체는 대화 시작 시 기본 변수를 나타내며 변수 이름으로 키가 지정됩니다.

상호 배타적 필드의 끝입니다.

blob

대화의 blob 입력 또는 출력을 나타냅니다.

JSON 표현
{
  "mimeType": string,
  "data": string
}
필드
mimeType

string

필수 항목입니다. 소스 데이터의 IANA 표준 MIME 유형입니다.

data

string (bytes format)

필수 항목입니다. blob의 원시 바이트입니다.

base64 인코딩 문자열입니다.

이미지

대화의 이미지 입력 또는 출력을 나타냅니다.

JSON 표현
{
  "mimeType": string,
  "data": string,
  "altText": string
}
필드
mimeType

string

필수 항목입니다. 소스 데이터의 IANA 표준 MIME 유형입니다. 지원되는 이미지 유형은 다음과 같습니다. * image/png * image/jpeg * image/webp

data

string (bytes format)

필수 항목입니다. 이미지의 원시 바이트입니다.

base64 인코딩 문자열입니다.

altText

string

(선택사항) 이미지의 대체 텍스트입니다.

ToolCall

클라이언트 또는 에이전트가 지정된 도구를 실행하도록 요청합니다.

JSON 표현
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of mutually exclusive fields.
}
필드
id

string

(선택사항) 도구 호출의 고유 식별자입니다. 값이 채워진 경우 클라이언트는 ToolResponse에서 일치하는 ID로 실행 결과를 반환해야 합니다.

displayName

string

출력 전용입니다. 도구의 표시 이름입니다.

args

object (Struct format)

(선택사항) JSON 객체 형식의 도구 입력 매개변수와 값입니다.

parentToolCallId

string

출력 전용입니다. 상위 통화를 대신하여 작업하는 하위 에이전트가 발급한 경우 이 통화를 유발한 도구 호출의 ID입니다. 최상위 호출의 경우 비워 둡니다. 클라이언트가 모든 단계를 형제로 렌더링하는 대신 하위 에이전트의 작업을 시작한 호출 아래에 그룹화할 수 있습니다.

agentName

string

출력 전용입니다. 이 통화를 발급한 상담사의 사람이 읽을 수 있는 이름입니다(예: '계약 설계사'). 루트 에이전트가 발급한 경우 비어 있습니다.

실행할 도구의 식별자입니다. 지속형 도구 또는 도구 세트의 도구일 수 있습니다. 다음은 상호 배타적인 필드의 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다.
tool

string

(선택사항) 실행할 도구의 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

(선택사항) 실행할 도구 세트 도구입니다.

상호 배타적 필드의 끝입니다.

ToolsetTool

도구 세트에서 생성된 도구입니다.

JSON 표현
{
  "toolset": string,
  "toolId": string
}
필드
toolset

string

필수 항목입니다. 이 도구가 파생된 도구 세트의 리소스 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolId

string

(선택사항) 스키마를 가져올 도구를 필터링할 도구 ID입니다.

ToolResponse

클라이언트 또는 에이전트의 특정 도구 실행 결과입니다.

JSON 표현
{
  "id": string,
  "displayName": string,
  "response": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of mutually exclusive fields.
}
필드
id

string

(선택사항) 응답이 속한 tool call의 일치하는 ID입니다.

displayName

string

출력 전용입니다. 도구의 표시 이름입니다.

response

object (Struct format)

필수 항목입니다. JSON 객체 형식의 도구 실행 결과입니다. 'output' 키를 사용하여 도구 응답을 지정하고 'error' 키를 사용하여 오류 세부정보를 지정합니다 (있는 경우). 'output' 및 'error' 키가 지정되지 않은 경우 전체 'response'가 도구 실행 결과로 처리됩니다.

parentToolCallId

string

출력 전용입니다. 상위 통화를 대신하여 작업하는 하위 에이전트가 발급한 경우 이 통화를 유발한 도구 호출의 ID입니다. 최상위 호출의 경우 비워 둡니다. 클라이언트가 모든 단계를 형제로 렌더링하는 대신 하위 에이전트의 작업을 시작한 호출 아래에 그룹화할 수 있습니다.

agentName

string

출력 전용입니다. 이 통화를 발급한 상담사의 사람이 읽을 수 있는 이름입니다(예: '계약 설계사'). 루트 에이전트가 발급한 경우 비어 있습니다.

실행된 도구의 식별자입니다. 지속형 도구 또는 도구 세트의 도구일 수 있습니다. 다음은 상호 배타적인 필드의 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다.
tool

string

(선택사항) 실행할 도구의 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

(선택사항) 실행된 도구 세트 도구입니다.

상호 배타적 필드의 끝입니다.

AgentTransfer

대화가 다른 상담사에게 트랜스퍼되었음을 나타내는 이벤트를 나타냅니다.

JSON 표현
{
  "targetAgent": string,
  "displayName": string
}
필드
targetAgent

string

필수 항목입니다. 대화가 트랜스퍼되는 에이전트입니다. 이 시점부터 상담사가 대화를 처리합니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

출력 전용입니다. 상담사의 표시 이름입니다.