AI Co-Builder: Arc(简称 Arc)是直接在 CX Agent Studio 中构建的编码智能体。 它具备构建智能体应用所需的所有技能:
- 多智能体架构
- 说明
- 工具实现(例如:OpenAPI 工具和 Python 工具)
- 回调实现
- 保护措施
- 版本
如需使用 Arc,请点击代理构建器顶部的 Arc 图标,然后向代理提供提示。
上传文件
您可以向消息附加文件,为 Arc 提供更多背景信息: 产品需求文档、抽样数据文件、 需要调用的外部服务的详细信息, 或现有配置的归档。
Arc 会根据文件格式,以三种方式处理文件:
| 如何使用 | 格式 | 具体变化 |
|---|---|---|
| 直接阅读 | PDF、PNG、JPG、JPEG、WAV、OGG | 文件会按原样提供给模型。 |
| 以文本形式朗读 | TXT、MD、JSON、CSV、HTML、JS、XML、RTF、CSS | 该文件的文本会添加到您的消息中。仅包含前 262,144 个字符;如果文件更长,请让 Arc 继续读取。 |
| 未打包 | 邮编 | 系统会解压缩归档文件,并使其文本文件可供搜索。归档文件本身不会发送给模型,其中的非文本条目会列出,但不会被读取。如需让 Arc 读取 ZIP 归档文件中的非文本文件(例如 PDF 或图片),请直接上传该文件。 |
存在以下文件限制:
- 每条消息最多可上传 5 个文件
- 文件大小上限为 20 MB
- ZIP 归档文件大小上限为 500 MB
文件存储
上传的内容会存储到您自己项目中的 Cloud Storage 存储桶内,前缀为 agent-assist-uploads/。该存储桶位于与代理应用位置匹配的 Cloud Storage 位置,并且该位置的所有代理应用都会共享该存储桶:
| 代理应用位置 | 存储桶名称 | 存储桶位置 |
|---|---|---|
us |
PROJECT_ID-agent-assist-artifacts-us |
US 多区域 |
eu |
PROJECT_ID-agent-assist-artifacts-eu |
EU 多区域 |
如果存储桶不存在,
当您以登录用户身份上传文件时,控制台会创建存储桶,
该用户需要 storage.buckets.create 权限;
当 Arc 为对话生成文件时,
Customer Engagement Suite Service Agent 会创建存储桶。
上传文件需要 storage.objects.create 权限。
Arc 会使用以下设置创建存储桶:
- 生命周期规则会在文件上传 63 天后自动删除文件。
- 统一存储桶级访问权限和禁止公开访问已启用。
- 标签
goog-drz-ces-app-id和goog-drz-ces-app-location包含导致 Arc 创建存储桶的代理应用的 ID 和位置。
如果存储桶已存在于您的项目中,Arc 会按原样使用它,并应用其自己的生命周期政策。Arc 不会检查或更改其位置、标签或默认密钥。
组织政策和加密密钥
如果您使用 constraints/gcp.resourceLocations 组织政策限制条件来限制资源位置,则该政策必须允许存储桶的位置,例如 EU 多区域的值组 in:eu-locations。否则,Arc 无法创建存储桶,并且上传会失败。
如果您的项目使用客户管理的加密密钥 (CMEK),Arc 会使用您的密钥为智能体应用的位置创建存储桶作为其默认密钥,如果无法使用该密钥,则不会创建存储桶。如需让 Cloud Storage 使用该密钥,请执行以下操作:
- 在与存储桶位置匹配的密钥位置创建密钥:
us对应US多区域,europe对应EU多区域。 向项目的 Cloud Storage 服务代理
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com授予密钥的roles/cloudkms.cryptoKeyEncrypterDecrypter角色。以下命令会创建服务代理(如果尚不存在),并向其授予角色:gcloud storage service-agent --project=PROJECT_ID --authorize-cmek=KEY_RESOURCE将
PROJECT_ID替换为您的项目 ID,将KEY_RESOURCE替换为密钥的完整资源名称。
提前创建存储桶
您可以自行创建存储桶,例如,如果使用 Arc 的用户没有 storage.buckets.create 权限。使用本部分前面表格中的名称和位置,并为存储桶指定与 Arc 相同的设置。首先,将以下生命周期规则保存在名为 lifecycle-63d.json 的文件中:
{"rule": [{"action": {"type": "Delete"}, "condition": {"age": 63}}]}
然后创建存储桶并添加标签和生命周期规则:
gcloud storage buckets create gs://PROJECT_ID-agent-assist-artifacts-LOCATION \
--project=PROJECT_ID --location=LOCATION --default-storage-class=STANDARD \
--uniform-bucket-level-access --public-access-prevention
gcloud storage buckets update gs://PROJECT_ID-agent-assist-artifacts-LOCATION \
--update-labels=goog-drz-ces-app-id=APP_ID,goog-drz-ces-app-location=LOCATION \
--lifecycle-file=lifecycle-63d.json
对于使用 CMEK 的项目,请先向服务代理授予对密钥的访问权限,如上一部分所述。然后,将 --default-encryption-key 标志添加到 create 命令,使该密钥成为存储桶的默认密钥:
gcloud storage buckets create gs://PROJECT_ID-agent-assist-artifacts-LOCATION \
--project=PROJECT_ID --location=LOCATION --default-storage-class=STANDARD \
--uniform-bucket-level-access --public-access-prevention \
--default-encryption-key=KEY_RESOURCE
将 PROJECT_ID 替换为您的项目 ID,将 LOCATION 替换为 us 或 eu,将 APP_ID 替换为该位置中某个代理应用的 ID,将 KEY_RESOURCE 替换为密钥的完整资源名称。
在位置感知存储功能推出之前上传的文件
Arc 于 YEAR 年 MONTH 月开始在代理应用的位置存储文件。如果您是在此之后设置 Arc 的,则可以跳过此部分。
在 Arc 将文件存储在代理应用的位置之前,它会将每个上传的文件保存在 US 多区域中的单个存储桶 PROJECT_ID-agent-assist-artifacts 中,以供每个位置的代理应用使用。该存储桶的名称没有位置后缀。
如需区分这些文件,请查看存储这些文件的存储桶:
- 在位置感知存储功能推出之前上传的文件位于
PROJECT_ID-agent-assist-artifacts存储桶中。 - 自此之后上传的文件将存储在代理应用所在位置(
PROJECT_ID-agent-assist-artifacts-LOCATION)的存储桶中,如文件存储中的表格所示。Arc 在您首次上传后显示的通知中会指明存储桶名称。 在发送邮件之前,您可以将指针悬停在附加文件上,查看文件的存储位置。
在位置感知存储功能推出之前开始的对话,会继续将 Arc 为其生成的文件保存在 PROJECT_ID-agent-assist-artifacts 存储桶中。Arc 不会更改存储桶或移动其文件,因此其生命周期规则仍会在上传 75 天后删除文件,并且一旦这些对话停止使用该存储桶,该存储桶就会自行清空。
无论您将文件附加到哪个对话,附加的文件都会进入代理应用所在位置的存储桶。
如需将您上传到这些对话中的文件保留更长时间,请将其复制到您自己的不会自动删除文件的存储桶中:
gcloud storage cp -r gs://PROJECT_ID-agent-assist-artifacts/agent-assist-uploads \
gs://ARCHIVE_BUCKET/
将 ARCHIVE_BUCKET 替换为符合您要求的存储桶。该副本只是一个归档;这些对话会继续从 PROJECT_ID-agent-assist-artifacts 存储桶中读取。
在最后一次使用这些对话 60 天后,删除 PROJECT_ID-agent-assist-artifacts 存储桶;Arc 会在最后一次活动 60 天后删除对话。如需删除存储桶及其中的文件,请运行以下命令:
gcloud storage rm -r gs://PROJECT_ID-agent-assist-artifacts
思维链
在处理过程中,Arc 会分段展示其思维链。 您可以展开其中任何一个部分,详细了解代理的推理过程。
选择上下文
在提示对话框中,您可以点击选择上下文按钮,然后添加您希望 Arc 在提示中使用的其他上下文。例如,您可以点击此按钮, 然后在代理构建器中点击特定代理, 接着让 Arc 为您解释该代理。