- HTTP 요청
- 경로 파라미터
- 요청 본문
- 응답 본문
- 승인 범위
- IAM 권한
- MockConfig
- MockedToolCall
- MockConfig.UnmatchedToolCallBehavior
지정된 인수를 사용하여 지정된 도구를 실행합니다.
HTTP 요청
POST https://ces.googleapis.com/v1/{parent=projects/*/locations/*/apps/*}:executeTool
URL은 gRPC 트랜스코딩 문법을 사용합니다.
경로 매개변수
| 매개변수 | |
|---|---|
parent |
필수 항목입니다. 도구/툴셋이 속한 앱의 리소스 이름입니다. 형식: |
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
| JSON 표현 |
|---|
{ "args": { object }, "mockConfig": { object ( |
| 필드 | |
|---|---|
args |
(선택사항) JSON 객체 형식의 도구 입력 매개변수와 값입니다. |
mockConfig |
(선택사항) 도구 실행의 모의 구성입니다. 이 필드가 설정되면 다른 도구를 호출하는 도구가 제공된 패턴과 응답을 기반으로 모의됩니다. |
| 실행할 도구의 식별자입니다. 지속형 도구 또는 도구 세트의 도구일 수 있습니다. 다음은 상호 배타적인 필드의 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다. | |
tool |
(선택사항) 실행할 도구의 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/tools/{tool} |
toolsetTool |
(선택사항) 실행할 도구 세트 도구입니다. 도구 세트의 프레디케이트와 일치하는 도구는 하나만 있어야 합니다. 그렇지 않으면 오류가 반환됩니다. |
| 상호 배타적 필드의 끝입니다. | |
| 도구 실행에 제공할 추가 컨텍스트입니다. 다음은 상호 배타적인 필드 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다. | |
variables |
(선택사항) 도구 실행에 사용할 수 있는 변수입니다. |
context |
(선택사항) 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 ( |
| 필드 | |
|---|---|
response |
JSON 객체 형식의 도구 실행 결과입니다. 'output' 키를 사용하여 도구 응답을 지정하고 'error' 키를 사용하여 오류 세부정보를 지정합니다 (있는 경우). 'output' 및 'error' 키가 지정되지 않은 경우 전체 'response'가 도구 실행 결과로 처리됩니다. |
variables |
도구 실행이 끝날 때의 변수 값입니다. |
citations |
도구 실행의 출처 정보를 제공하는 인용입니다. |
googleSearchSuggestions |
도구 실행 중에 Google 검색 도구를 호출한 결과로 Google 검색에서 반환된 제안입니다. |
| 실행된 도구의 식별자입니다. 다음은 상호 배타적인 필드의 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다. | |
tool |
실행된 도구의 이름입니다. 형식: |
toolsetTool |
실행된 도구 세트 도구입니다. |
| 상호 배타적 필드의 끝입니다. | |
승인 범위
다음 OAuth 범위 중 하나가 필요합니다.
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/ces
자세한 내용은 Authentication Overview에서 확인하세요.
IAM 권한
parent 리소스에 대해서는 다음 IAM 권한이 필요합니다.
ces.tools.execute
자세한 내용은 IAM 문서를 참조하세요.
MockConfig
세션의 모의 도구 호출 구성입니다.
| JSON 표현 |
|---|
{ "mockedToolCalls": [ { object ( |
| 필드 | |
|---|---|
mockedToolCalls[] |
(선택사항) 세션 기간 동안 모의로 처리할 모든 도구 호출입니다. |
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 ( |
| 필드 | |
|---|---|
tool |
(선택사항) 지원 중단되었습니다. 대신 tool_identifier를 사용하세요. |
expectedArgsPattern |
필수 항목입니다. 디스패치된 모든 도구 호출의 args / 입력과 일치하는 패턴입니다. 도구 호출 입력이 이 패턴과 일치하면 모의 출력이 반환됩니다. |
mockResponse |
(선택사항) 도구 호출 인수 / 입력이 패턴과 일치하는 경우 반환할 모의 응답 / 출력입니다. |
| 모의할 도구의 식별자입니다. 다음은 상호 배타적인 필드의 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다. | |
toolId |
(선택사항) 모의할 도구의 이름입니다. 형식: |
toolset |
(선택사항) 모의할 도구 집합입니다. |
| 상호 배타적 필드의 끝입니다. | |
MockConfig.UnmatchedToolCallBehavior
도구 호출이 모의 도구 호출과 일치하지 않는 경우 수행할 작업
| 열거형 | |
|---|---|
UNMATCHED_TOOL_CALL_BEHAVIOR_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
FAIL |
모의 예상 입력 패턴과 일치하지 않는 도구 호출에 대해 오류를 발생시킵니다. |
PASS_THROUGH |
일치하지 않는 도구 호출의 경우 도구 호출을 실제 도구에 전달합니다. |