腾讯云 COS

以 Markdown 格式查看

腾讯云 COS 连接器用于索引对象存储中已经批准的文件范围。建议为每个业务知识目录配置单独连接器,并把腾讯云 CAM 权限限制到具体存储桶和前缀。

适用场景

场景建议
COS 知识目录使用固定存储桶和前缀,例如 knowledge/,只同步该目录下的对象。
项目资料检索每个项目使用独立前缀,便于授权、停用和重新索引。
受限文件使用艾维斯私有文档访问权限并指定用户或用户组。
公共桶迁移先把 COS 存储桶改为私有读写,再用最小只读 CAM 子账号接入。

腾讯云侧准备

  1. 登录腾讯云控制台。
  2. 进入访问管理 CAM用户用户列表
  3. 推荐新建一个专用于该部署的子用户,例如 aivis-cos-reader。不要使用主账号密钥。
  4. 打开该子用户详情,进入API 密钥,点击新建密钥
  5. 创建后保存 SecretIdSecretKey
    • SecretId 填入艾维斯凭据的密钥 ID
    • SecretKey 填入艾维斯凭据的密钥
    • 使用永久密钥时,Session Token 留空。

腾讯云自 2023 年 11 月 30 日起关闭查询 SecretKey 的功能,新建密钥只在创建时显示一次。如果之前没有保存,无法再次查看,只能新建一组密钥,并在验证成功后删除或禁用旧密钥。参见腾讯云子账号访问密钥管理

COS 文件与权限

在 COS 控制台中完成以下配置:

  1. 打开目标存储桶,例如 aivis-cos-test-1250000000
  2. 文件列表中创建 knowledge/ 文件夹。
  3. 将待索引的 PDF、Word、Markdown、TXT 等文件上传到该文件夹。
  4. 给 CAM 子账号授予只读权限,范围限制到 aivis-cos-test-1250000000/knowledge/*

至少允许以下操作:

权限用途
cos:GetBucket列举 knowledge/ 前缀下的对象。
cos:GetObject读取对象内容用于索引。

不要授予写入或删除权限。若当前存储桶仍为公有读写,请先改为私有读写,再创建或启用连接器。

凭据填写

在艾维斯中创建腾讯云 COS 凭据:

创建腾讯云 COS 凭据弹窗,填写 SecretId、SecretKey,永久密钥的 Session Token 留空

字段填写值
SecretId / 密钥 ID腾讯云 CAM 子账号生成的 SecretId,通常以 AKID 开头。
SecretKey / 密钥与该 SecretId 配套的 SecretKey
Session Token使用永久密钥时留空;仅在使用临时密钥时填写。

不要填写其他系统的 cli_... Client ID,也不要把 SecretKey 发给任何人或提交到代码仓库。

连接器填写示例

以下示例对应一个只索引 knowledge/ 目录的测试连接器:

腾讯云 COS 连接器表单,填写连接器名称、存储桶名称、前缀、区域,并确认对象 ACL 限制

字段填写值
连接器名称腾讯云 COS 测试
存储桶名称aivis-cos-test-1250000000
前缀knowledge/
区域ap-guangzhou
高级 Endpoint留空
ACL 限制确认勾选
文档访问权限建议选择私有并指定用户或用户组。

前缀应以 / 之外的普通目录名开头,并建议以 / 结尾。不要把未获批准的目录放在同一个连接器范围内。

验证

腾讯云 COS 连接器列表显示正在索引、组织内公开和已索引文档数量

  1. 创建凭据后,确认凭据校验通过。
  2. 创建连接器并运行一次索引尝试。
  3. 确认索引结果只包含 knowledge/ 前缀下的对象。
  4. 搜索上传文件中的代表性标题或句子,确认可以命中并引用来源。
  5. 使用未被授权的艾维斯用户验证私有连接器内容不可搜索。

故障排查

现象可能原因与处理方式
凭据无效确认 SecretIdSecretKey 属于同一个 CAM 子账号,且没有把 cli_... Client ID 填入密钥 ID。
无法列举对象确认子账号拥有目标存储桶和前缀的 cos:GetBucket 权限,并检查区域是否为 ap-guangzhou 等真实桶区域。
对象列出但读取失败确认子账号拥有 cos:GetObject 权限,且授权范围覆盖 knowledge/*
索引了过多文件检查前缀是否过宽。请使用 knowledge/ 这类明确目录,并把 CAM 策略限制到同一前缀。
用户能搜索不该访问的文件COS 文件 ACL 不会自动同步为艾维斯搜索权限。请使用私有文档访问权限,或按受众拆分存储桶前缀和连接器。

相关页面