You need to enable JavaScript to run this app.
导航
典型场景7 - 安全RAG应用
最近更新时间:2025.04.28 18:06:10首次发布时间:2025.04.28 18:06:10
我的收藏
有用
有用
无用
无用

使用流程图

Image

操作步骤

步骤1:创建可信密钥及策略

  • 点击「可信密钥服务」,创建可信密钥环和可信密钥。在创建可信密钥时,“密钥标签”选择“加密向量”。

步骤2:配置密钥证明策略

策略配置要求:将向量加密服务的镜像地址【pcc-online-cr-cn-beijing.cr.volces.com/crypto_rag/crypto_rag:*】添加到访问策略的allowed_system_images,并打开allowed_system_imagesallowed_images的注释,该策略用于绑定可信密钥和机密传输,表示允许向量加密服务访问可信密钥和接收机密通信的内容。

步骤3:创建向量加密应用

  • 访问【向量加密服务】模块,点击【创建加密应用】按钮。
    • 创建时,按需选择「可信密钥服务」中用途为“加密向量”的密钥。
    • 创建成功后记录创建的应用ID,将在【使用示例】环节作为app_id
      Image

步骤4:集成向量加密接口

说明

必须要在PCC托管的机密容器服务内才能正常调用向量加密功能。

  • 下载Python版本的端云互信SDK,下载地址
  • 使用示例参考如下:
    • 参考脚本req_embed_encryption_example.py

    • 脚本参数说明:

      • account_id:主账号ID
      • ak和sk:账号访问密钥
      • app_id:用户创建的向量加密应用ID
      • policy_id:用户创建的远程证明策略ID
      • url:联系PCC管理员提供访问域名
    • 接口说明

      Class JeddakCryptoRagEncryptor

      方法

      输入参数

      输出参数

      说明

      init

      • account_id: str,火山主账号ID
      • rag_app_id: str,注册的应用ID
      • server_url: str,服务URL (联系PCC管理员提供)
      • jsc_client: jeddak_secure_channel.Client,机密通信客户端对象

      req_embed_encryption_secure_channel

      • embeddings: List[List[float]],向量的列表。
      • disable_ra_during_downgrade: bool,当机密通信失败时,是否允许降级采用明文通信,默认为True。
      • List[List[float]], 加密向量

      使用机密通信请求向量保距离加密,每个embedding不超过8192维,最多支持单次传入100个embedding。

错误排查说明

Error Code

说明

排查方法

10000

输入参数格式、类型、缺少等错误

检查输入的参数是否正确,例如待加密的向量应是float类型。

10001

获取TKS密钥失败
(不存在或无权限获取)

检查证明策略是否配置正确,策略中的allowed_system_images应正确包含向量加密服务的镜像地址。

10002

输入数据量超出上限

检查输入向量

  • 向量维度:≤8192
  • 向量数量:单次≤100

10005

机密传输加解密失败

检查机密传输client的策略ID是否配置正确。

10006

应用ID不存在

检查向量加密应用ID是否配置正确。