Method: projects.locations.apps.executeTool

지정된 인수를 사용하여 지정된 도구를 실행합니다.

HTTP 요청

POST https://ces.googleapis.com/v1/{parent=projects/*/locations/*/apps/*}:executeTool

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

경로 매개변수

매개변수
parent

string

필수 항목입니다. 도구/툴셋이 속한 앱의 리소스 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "args": {
    object
  },
  "mockConfig": {
    object (MockConfig)
  },

  // 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.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "variables": {
    object
  },
  "context": {
    object
  }
  // End of mutually exclusive fields.
}
필드
args

object (Struct format)

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

mockConfig

object (MockConfig)

(선택사항) 도구 실행의 모의 구성입니다. 이 필드가 설정되면 다른 도구를 호출하는 도구가 제공된 패턴과 응답을 기반으로 모의됩니다.

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

string

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

toolsetTool

object (ToolsetTool)

(선택사항) 실행할 도구 세트 도구입니다. 도구 세트의 프레디케이트와 일치하는 도구는 하나만 있어야 합니다. 그렇지 않으면 오류가 반환됩니다.

상호 배타적 필드의 끝입니다.
도구 실행에 제공할 추가 컨텍스트입니다. 다음은 상호 배타적인 필드 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다.
variables

object (Struct format)

(선택사항) 도구 실행에 사용할 수 있는 변수입니다.

context

object (Struct format)

(선택사항) Python 도구에 전달할 [ToolCallContext](자세한 내용은 https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/python#environment 참고).

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

응답 본문

ToolService.ExecuteTool의 응답 메시지입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "response": {
    object
  },
  "variables": {
    object
  },
  "citations": {
    object (Citations)
  },
  "googleSearchSuggestions": {
    object (GoogleSearchSuggestions)
  },

  // 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.
}
필드
response

object (Struct format)

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

variables

object (Struct format)

도구 실행이 끝날 때의 변수 값입니다.

citations

object (Citations)

도구 실행의 출처 정보를 제공하는 인용입니다.

googleSearchSuggestions

object (GoogleSearchSuggestions)

도구 실행 중에 Google 검색 도구를 호출한 결과로 Google 검색에서 반환된 제안입니다.

실행된 도구의 식별자입니다. 다음은 상호 배타적인 필드의 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다.
tool

string

실행된 도구의 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

실행된 도구 세트 도구입니다.

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

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

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

자세한 내용은 Authentication Overview에서 확인하세요.

IAM 권한

parent 리소스에 대해서는 다음 IAM 권한이 필요합니다.

  • ces.tools.execute

자세한 내용은 IAM 문서를 참조하세요.

MockConfig

세션의 모의 도구 호출 구성입니다.

JSON 표현
{
  "mockedToolCalls": [
    {
      object (MockedToolCall)
    }
  ],
  "unmatchedToolCallBehavior": enum (MockConfig.UnmatchedToolCallBehavior)
}
필드
mockedToolCalls[]

object (MockedToolCall)

(선택사항) 세션 기간 동안 모의로 처리할 모든 도구 호출입니다.

unmatchedToolCallBehavior

enum (MockConfig.UnmatchedToolCallBehavior)

필수 항목입니다. mockedToolCalls의 args 패턴과 일치하지 않는 도구 호출의 동작입니다.

MockedToolCall

모의 도구 호출입니다.

타겟 도구와 해당 도구의 args / 입력과 일치하는 패턴을 표현합니다. 패턴이 일치하면 모의 응답이 반환됩니다.

JSON 표현
{
  "tool": string,
  "expectedArgsPattern": {
    object
  },
  "mockResponse": {
    object
  },

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

string

(선택사항) 지원 중단되었습니다. 대신 tool_identifier를 사용하세요.

expectedArgsPattern

object (Struct format)

필수 항목입니다. 디스패치된 모든 도구 호출의 args / 입력과 일치하는 패턴입니다. 도구 호출 입력이 이 패턴과 일치하면 모의 출력이 반환됩니다.

mockResponse

object (Struct format)

(선택사항) 도구 호출 인수 / 입력이 패턴과 일치하는 경우 반환할 모의 응답 / 출력입니다.

모의할 도구의 식별자입니다. 다음은 상호 배타적인 필드의 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다.
toolId

string

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

toolset

object (ToolsetTool)

(선택사항) 모의할 도구 집합입니다.

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

MockConfig.UnmatchedToolCallBehavior

도구 호출이 모의 도구 호출과 일치하지 않는 경우 수행할 작업

열거형
UNMATCHED_TOOL_CALL_BEHAVIOR_UNSPECIFIED 기본값 이 값은 사용되지 않습니다.
FAIL 모의 예상 입력 패턴과 일치하지 않는 도구 호출에 대해 오류를 발생시킵니다.
PASS_THROUGH 일치하지 않는 도구 호출의 경우 도구 호출을 실제 도구에 전달합니다.