本指南提供了有关设置全渠道网关的端到端快速入门说明。您将学习如何将 Agent Studio 智能体配置为目的地,将 WebChat 渠道配置为来源,以及创建路由政策以将它们连接起来。
准备工作
在开始本快速入门之前,您必须拥有一个 Google Cloud 项目并完成初始设置步骤:
- 启用 API 和服务代理:确保您已启用必要的 API 并配置服务代理,如HowTo 概览中所述。
- 设置 Agent Studio 智能体:构建和配置 Agent Studio 智能体,并为其创建对话配置文件。如需查看详细说明,请参阅对话代理文档和为 CX Agent Studio 代理创建对话配置文件。代理必须在全渠道网关支持的区域中创建。
- 准备用于测试的 Web 应用:您需要一个网站或 Web 应用来部署 Web 聊天微件以进行测试。这可以是任何安全来源网页,包括本地 Web 开发服务器(例如使用
python -m http.server启动本地服务器)或部署在 Cloud Run 等平台上的服务。
第 1 步:配置 Agent Studio 智能体(目标)
如需将 Agent Studio 智能体连接到全渠道网关,您需要设置智能体运行程序服务账号并创建目标端点配置。
设置代理运行程序服务账号
所有代理都在服务账号下运行。当全渠道网关代表客服人员进行调用时,它将使用此服务账号进行身份验证。您可以使用此服务账号来限制代理的访问权限范围。
为代理创建一个服务账号以供其在其中运行。为其分配以下角色:
roles/serviceusage.serviceUsageConsumer- 您的代理所需的任何其他角色。
此外,还要向代理运行程序服务账号授予全渠道网关服务代理的 Service Account User (roles/iam.serviceAccountUser) 角色,以允许其以该服务账号的身份运行工作流:
gcloud
gcloud iam service-accounts create agent-runner \ --description="Service account for executing agentic application workflows" \ --display-name="Agent Runner" \ --project="PROJECT_ID" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:agent-runner@PROJECT_ID." \ --role="roles/serviceusage.serviceUsageConsumer" gcloud iam service-accounts add-iam-policy-binding \ agent-runner@PROJECT_ID. \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-agenticapplications." \ --role="roles/iam.serviceAccountUser" \ --project="PROJECT_ID" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:agent-runner@PROJECT_ID." \ --role="roles/dialogflow.serviceAgent"
如果您的代理需要额外的工具调用功能,您可以在稍后添加更具体的权限。
创建目标端点配置
创建指向 Agent Studio 对话配置文件的目的地端点配置。
如需将代理与全渠道网关相关联,请运行以下示例命令来创建端点配置。将占位符替换为您的目标项目、代理 ID 和服务账号详细信息:
curl
curl -i -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://agenticapplications.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/omnichannelEndpointConfigs" \ -d @- <<EOF { "displayName": "Agent Studio Destination Configuration", "destinationConfig": { "conversationProfile": { "conversationProfile": "projects/PROJECT_ID/locations/LOCATION/conversationProfiles/CONVERSATION_PROFILE_ID", "serviceAccount": "projects/PROJECT_ID/serviceAccounts/agent-runner@PROJECT_ID." } } } EOF
第 2 步:配置 WebChat 渠道(来源)
如需接收来自用户的传入消息,请将 WebChat 渠道配置为源端点,设置令牌代理以进行安全身份验证,并将聊天 widget 嵌入到您的网站中。
创建源端点配置
为 WebChat 创建来源端点配置。
如需将代理与全渠道网关相关联,请运行以下示例命令来创建端点配置。将占位符替换为您的目标项目、代理 ID 和服务账号详细信息:
curl
curl -i -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://agenticapplications.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/omnichannelEndpointConfigs" \ -d @- <<EOF { "displayName": "WebChat Source Configuration", "sourceConfig": { "webChatSdkConfig": {} } } EOF
设置令牌代理
全渠道网关要求使用不记名令牌进行身份验证的请求才能使用 WebChat。令牌代理资源会生成访问令牌,客户端 widget 使用这些令牌来调用 Google API。
为令牌代理创建服务账号
专门为令牌代理创建服务账号。 为其分配以下角色:
roles/agenticapplications.user
下面提供了一组示例命令,用于在 gcloud 下执行此操作:
gcloud
gcloud iam service-accounts create token-broker \ --description="Service account for the token broker application" \ --display-name="Service account for Token Broker" \ --project="PROJECT_ID" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:token-broker@PROJECT_ID." \ --role="roles/agenticapplications.user"
创建令牌代理资源
执行以下 c网址 命令以初始化代理。别忘了根据需要替换变量:
curl
curl -i -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://agenticapplications.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/omnichannelTokenBrokers" \ -d @- <<EOF { "displayName": "A broker", "issuerServiceAccount": "YOUR_BROKER_SERVICE_ACCOUNT_HERE" } EOF
嵌入并初始化聊天微件
按照在网站上嵌入微件中的说明,在您的网站上嵌入并初始化网络聊天微件。
在 HTML 页面中配置 chat-messenger 元素,以连接到源端点配置。将项目 ID、位置和端点配置详细信息替换为您自己的信息:
<chat-messenger
project-id="PROJECT_ID"
enable-audio-input="false"
location="LOCATION"
service='{"name":"omnichannel", "endpointConfig": "projects/PROJECT_ID/locations/LOCATION/omnichannelEndpointConfigs/SOURCE_ENDPOINT_CONFIG_ID"}'
language-code="en"
url-allowlist="https://gstatic.com/"
></chat-messenger>
接下来,使用 chatSdk 和您的令牌代理资源名称来建立安全身份验证:
<script>
window.addEventListener("chat-messenger-loaded", async () => {
const context = await window.chatSdk.prebuilts.concorde.createContext({
tokenBroker: {
tokenBrokerName: "projects/PROJECT_ID/locations/LOCATION/omnichannelTokenBrokers/TOKEN_BROKER_NAME",
},
});
window.chatSdk.registerContext(context);
});
</script>
第 3 步:配置路线
如需将来自 WebChat 源渠道的入站对话流量连接到 Agent Studio 目标代理,您必须创建路由。此示例使用静态路由政策。
如需创建路由,请运行以下示例命令。将占位符替换为目标项目和端点配置详细信息:
curl
curl -i -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://agenticapplications.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/omnichannelRoutes" \ -d @- <<EOF { "displayName": "WebChat to Agent Studio Route", "sourceEndpointConfig": [ "projects/PROJECT_ID/locations/LOCATION/omnichannelEndpointConfigs/SOURCE_ENDPOINT_CONFIG_ID" ], "staticRoutingPolicy": { "destinationEndpointConfigs": [ "projects/PROJECT_ID/locations/LOCATION/omnichannelEndpointConfigs/DESTINATION_ENDPOINT_CONFIG_ID" ], "deadline": "10s" } } EOF
第 4 步:测试集成
配置好代理、渠道和路由后,您可以测试端到端对话流程:
- 打开包含嵌入式聊天微件的 Web 应用。如果您在本地进行测试,可以在 HTML 文件所在的目录中启动本地 Web 服务器,方法是在终端中运行
python -m http.server,然后在浏览器中前往http://localhost:8000。 - 点击聊天微件,打开对话窗口。
- 发送消息,并验证您是否收到了来自通过全渠道网关路由的 Agent Studio 代理的回复。