快速入门

本指南提供了有关设置全渠道网关的端到端快速入门说明。您将学习如何将 Agent Studio 智能体配置为目的地,将 WebChat 渠道配置为来源,以及创建路由政策以将它们连接起来。

准备工作

在开始本快速入门之前,您必须拥有一个 Google Cloud 项目并完成初始设置步骤:

  1. 启用 API 和服务代理:确保您已启用必要的 API 并配置服务代理,如HowTo 概览中所述。
  2. 设置 Agent Studio 智能体:构建和配置 Agent Studio 智能体,并为其创建对话配置文件。如需查看详细说明,请参阅对话代理文档和为 CX Agent Studio 代理创建对话配置文件。代理必须在全渠道网关支持的区域中创建。
  3. 准备用于测试的 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 步:测试集成

配置好代理、渠道和路由后,您可以测试端到端对话流程:

  1. 打开包含嵌入式聊天微件的 Web 应用。如果您在本地进行测试,可以在 HTML 文件所在的目录中启动本地 Web 服务器,方法是在终端中运行 python -m http.server,然后在浏览器中前往 http://localhost:8000。
  2. 点击聊天微件,打开对话窗口。
  3. 发送消息,并验证您是否收到了来自通过全渠道网关路由的 Agent Studio 代理的回复。

后续步骤