您可以将 Agent Assist 功能与外部 API 和数据源搭配使用。 Google Cloud 提供 OpenAPI 和 Integration Connectors 工具,以简化 Agent Assist 集成。
OpenAPI 工具
OpenAPI 工具可实现 Agent Assist 功能与外部 API 之间的连接。此连接可让 Agent Assist 功能从多个来源读取和写入信息。如需创建 OpenAPI 工具,您必须提供一个描述要连接的外部 API 的 OpenAPI 架构。
Integration Connectors 工具
使用Integration Connectors连接 Google Cloud 到各种数据源。连接器工具可让 Agent Assist 功能使用 Integration Connectors 来读取和写入这些数据源。
准备工作
如需设置环境以创建 OpenAPI 和 Integration Connectors 工具,请输入项目 ID 和区域,然后运行以下代码。
CLOUDSDK_CORE_PROJECT=YOUR_PROJECT_ID
REGION=YOUR_REGION
API_VERSION=v2beta1
API_ENDPOINT=https://${REGION}-dialogflow.googleapis.com/${API_VERSION}
function gcurl () {
curl -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "X-Goog-User-Project: ${CLOUDSDK_CORE_PROJECT}" -H "Content-Type: application/json; charset=utf-8" "$@"
}创建 OpenAPI 工具
如需使用 OpenAPI 工具,您必须先请求创建该工具,然后保存工具资源名称。
第 1 1 步:请求创建工具
请按照以下步骤操作,请求创建 OpenAPI 工具。
- 按如下方式自定义代码:
- 在单个项目中,请使用在所有工具中唯一的
tool_key值。 - 在
open_api_spec.text_schema字段中输入您自己的 OpenAPI 架构。
- 在单个项目中,请使用在所有工具中唯一的
运行以下自定义代码。
$ cat > create-tool-request.json << EOF { "tool_key": "UNIQUE_KEY", "description": "TOOL_DESCRIPTION", "display_name": "TOOL_DISPLAY_NAME", "open_api_spec": { "text_schema": "Your-Schema" } } EOF$ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/tools -d @create-tool-request.json | tee create-tool-response.json
如果成功,API 会返回新创建的工具,其中包含资源名称,如以下示例所示。
{
"name": "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID",
"toolKey": "UNIQUE_KEY",
"description": "TOOL_DESCRIPTION",
"createTime": "2025-06-02T18:11:38.999174724Z",
"updateTime": "2025-06-02T18:11:38.999174724Z",
"displayName": "TOOL_DISPLAY_NAME",
"openApiSpec": {
"textSchema": "Your-Schema"
}
}
第 2 步:保存工具资源名称
将工具资源名称保存到环境变量中,以供日后使用。以下是工具资源环境变量的示例模板。
TOOL_RESOURCE=$(cat create-tool-response.json | jq .name | tr -d '"')
使用 OpenAPI 工具的 AI 教练
您可以将 OpenAPI 工具与 AI 指导功能搭配使用,以便从 Google Cloud之外获取更多信息。然后,系统可以使用这些外部信息生成建议,帮助联络中心客服人员。
第 1 步:创建生成器
以下示例使用工具资源环境变量创建了一个生成器。
$ cat > create-generator-request.json << _EOF_
{"agent_coaching_context":{"instructions":[{"agent_action":"help customer by using the tool to find information from library of congress","condition":"The customer asks about library of congress","description":"agent coaching test","display_name":"Search for information"}],"overarching_guidance":"Help customer with questions"},"description":"prober-generate-suggestions-with-agent-coaching-generator","inference_parameter":{"max_output_tokens":256,"temperature":0},"tools":["${TOOL_RESOURCE}"],"trigger_event":"CUSTOMER_MESSAGE"}
_EOF_
$ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/generators -d @create-generator-request.json | tee create-generator-response.json
_EOF_
$ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/generators -d @create-generator-request.json | tee create-generator-response.json
您应该会收到如下所示的 AI 教练生成器示例的回答。
{
"name": "projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID",
"description": "example-generator",
"inferenceParameter": {
"maxOutputTokens": 256,
"temperature": 0
},
"triggerEvent": "CUSTOMER_MESSAGE",
"createTime": "2025-06-02T18:30:51.021461728Z",
"updateTime": "2025-06-02T18:30:51.021461728Z",
"agentCoachingContext": {
"instructions": [
{
"displayName": "Search for information",
"condition": "The customer asks about library of congress",
"agentAction": "help customer by using the tool to find information from library of congress"
}
],
"version": "1.5",
"overarchingGuidance": "Help customer with questions"
},
"tools": [
"projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID"
]
}
保存生成器资源名称
将其另存为环境变量,以供日后使用,如以下示例所示。
GENERATOR_RESOURCE=$(cat create-generator-response.json | jq .name | tr -d '"')
第 2 步:创建对话配置文件
运行以下代码以创建对话资料。
$ cat > create-conversation-profile-request.json << _EOF_
{"displayName":"prober-generate-suggestions-with-agent-coaching-generator","humanAgentAssistantConfig":{"humanAgentSuggestionConfig":{"generators":["${GENERATOR_RESOURCE}"]}}}
_EOF_
$ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/conversationProfiles -d @create-conversation-profile-request.json | tee create-conversation-profile-response.json
您应该会收到如下所示的响应。
{
"name": "projects/Your-Project-ID/locations/Your-Region/conversationProfiles/Conversation-Profile-ID",
"displayName": "prober-generate-suggestions-with-agent-coaching-generator",
"humanAgentAssistantConfig": {
"humanAgentSuggestionConfig": {
"generators": [
"projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID"
]
}
},
"languageCode": "en-US",
"createTime": "2025-06-02T18:40:39.940318Z",
"updateTime": "2025-06-02T18:40:39.940318Z",
"projectNumber": "${project_number}"
}保存对话配置文件资源名称
将此名称保存为环境变量,如以下示例所示。
CONVERSATION_PROFILE_RESOURCE=$(cat create-conversation-profile-response.json | jq .name | tr -d '"')
第 3 步:创建对话
运行以下代码以创建对话。
$ cat > create-conversation-request.json << _EOF_
{"conversationProfile":"${CONVERSATION_PROFILE_RESOURCE}"}
_EOF_
$ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/conversations -d @create-conversation-request.json | tee create-conversation-response.json
您应该会收到如下所示的响应。
{
"name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-ID",
"lifecycleState": "IN_PROGRESS",
"conversationProfile": "projects/Your-Project-ID/locations/Your-Region/conversationProfiles/Conversation-Profile-ID",
"startTime": "2025-06-02T18:43:40.818123Z",
"conversationStage": "HUMAN_ASSIST_STAGE",
"source": "ONE_PLATFORM_API",
"initialConversationProfile": {
"name": "projects/Your-Project-ID/locations/Your-Region/conversationProfiles/Conversation-Profile-ID",
"displayName": "prober-generate-suggestions-with-agent-coaching-generator",
"humanAgentAssistantConfig": {
"humanAgentSuggestionConfig": {
"generators": [
"projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID"
]
}
},
"languageCode": "en-US"
},
"projectNumber": "${project_number}",
"initialGeneratorContexts": {
"projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID": {
"generatorType": "AGENT_COACHING",
"generatorVersion": "1.5"
}
}
}
保存对话资源名称
将此名称保存为环境变量,以供日后使用。您的变量应采用以下格式。
CONVERSATION_RESOURCE=$(cat create-conversation-response.json | jq .name | tr -d '"')
第 4 步:创建最终用户
运行以下代码以创建最终用户。
$ cat > create-end-user-request.json << _EOF_
{"role":"END_USER"}
_EOF_
$ gcurl -X POST ${API_ENDPOINT}/${CONVERSATION_RESOURCE}/participants -d @create-end-user-request.json | tee create-end-user-response.json
您应该会收到如下所示的响应。
{
"name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-ID/participants/End-User-Participant-ID",
"role": "END_USER"
}保存最终用户资源名称
将最终用户资源名称保存为环境变量,如下所示。
END_USER_RESOURCE=$(cat create-end-user-response.json | jq .name | tr -d '"')
第 5 步:创建人工客服
运行以下代码以创建人工客服。
$ cat > create-human-agent-request.json << _EOF_
{"role":"HUMAN_AGENT"}
_EOF_
$ gcurl -X POST ${API_ENDPOINT}/${CONVERSATION_RESOURCE}/participants -d @create-human-agent-request.json | tee create-human-agent-response.json
您应该会收到如下所示的响应。
{
"name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-IDHuman-Agent-Participant-ID",
"role": "HUMAN_AGENT"
}
保存人工客服资源名称
将人工客服资源名称保存为环境变量,如下所示。
HUMAN_AGENT_RESOURCE=$(cat create-human-agent-response.json | jq .name | tr -d '"')
第 6 步:向 AI 教练发送文本
运行以下代码,使用 AnalyzeContent 方法将文本发送给 AI 教练。
cat > analyze-content-1-request.json << _EOF_
{"text_input":{"languageCode":"en-US","text":"Can you search library of congress for the latest trends"}}
_EOF_
gcurl -X POST "${API_ENDPOINT}/${END_USER_RESOURCE}:analyzeContent" -d @analyze-content-1-request.json | tee analyze-content-1-response.json
第 7 步:验证工具调用
运行以下代码以验证工具调用。
cat analyze-content-1-response.json| jq ".humanAgentSuggestionResults[0].generateSuggestionsResponse.generatorSuggestionAnswers[0].generatorSuggestion.toolCallInfo"
您应该会收到如下所示的响应。
[
{
"toolCall": {
"tool": "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID",
"action": "search",
"inputParameters": {
"q": "latest trends",
"fo": "json",
"tool_description": "A generic search endpoint that might be available across various LoC APIs. The structure of the results will vary.\n",
"at": "trending_content"
},
"createTime": "2025-06-02T18:56:53.882479179Z"
},
"toolCallResult": {
"tool": "projects/Your-Project-ID/locations/Your-Region/tools/MjM0NTU3NDk2MTM5NTAwNzQ4OQ",
"action": "search",
"content": ""}]}",
"createTime": "2025-06-02T18:56:54.289367086Z"
}
}
] 第 8 步:(可选)删除资源
如需删除您在之前步骤中创建的资源,请运行以下代码。
对话资料
gcurl -X DELETE ${API_ENDPOINT}/${CONVERSATION_PROFILE_RESOURCE}
生成器
gcurl -X DELETE ${API_ENDPOINT}/${GENERATOR_RESOURCE}
OpenAPI 工具
gcurl -X DELETE ${API_ENDPOINT}/${TOOL_RESOURCE}
创建 Integration Connectors 工具
您可以使用 Google Cloud 控制台设置Integration Connectors。请按照以下步骤操作,基于 BigQuery 连接器创建 Agent Assist Integration Connectors 工具。
第 1 步:创建 BigQuery 连接器工具
在创建 Integration Connectors 工具之前,请前往 Google Cloud 控制台并创建 BigQuery Integration Connectors。
第 2 步:请求创建 Integration Connectors 工具
运行以下代码以请求创建工具。对于 connector_spec.name 字段,请使用 BigQuery 连接器的资源名称。
cat > create-connector-tool-request.json << _EOF_
{
"tool_key": "order_tool",
"description": "order bigquery connector tool",
"display_name": "order bigquery connector tool",
"connector_spec": {
"name": "projects/Your-Project-ID/locations/Your-Region/connections/Your-Connector-ID",
"actions": [
{
"entityOperation": {
"entityId": "Orders",
"operation": "LIST"
}
}, {
"entityOperation": {
"entityId": "Orders",
"operation": "GET"
}
}
]
}
}
_EOF_
gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/tools -d @create-connector-tool-request.json | tee create-connector-tool-response.json
您应该会看到如下所示的响应。
{
"name": "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID",
"toolKey": "order_tool",
"description": "order bigquery connector tool",
"createTime": "2025-06-03T19:29:55.896178942Z",
"updateTime": "2025-06-03T19:29:55.896178942Z",
"connectorSpec": {
"name": "projects/Your-Project-ID/locations/Your-Region/connections/order-bigquery-connector",
"actions": [
{
"entityOperation": {
"entityId": "Orders",
"operation": "LIST"
}
},
{
"entityOperation": {
"entityId": "Orders",
"operation": "GET"
}
}
]
},
"displayName": "order bigquery connector tool"
}
后续步骤
如需查看 Agent Assist 支持的 Integration Connectors 工具的完整列表,请参阅 Dialogflow 连接器工具列表。