说明
场景说明:客户将【私有模型】通过TKS密钥加密的方式上传并发布到PCC机密容器后,完成模型服务部署,并提供密文接口供端云互信服务联调测试。
准备一台128GB以上内存物理机器,并安装好Python3环境(建议使用Anaconda环境,避免依赖冲突)。
export VERSION=0.1.7.24 pip3 install bytedance.jeddak_secure_channel-${VERSION}-py3-none-any.whl
from bytedance.jeddak_secure_model.model_encryption import EncryptionConfig, JeddakModelEncrypter if __name__ == "__main__": model_path = "/root/pcc/Qwen32B" # 模型的文件夹路径 【model_path】 bucket_name = "llmmodels" # 创建TOS的存储桶 【buck_name】 # 火山账号的ak sk volc_ak = "your access key" #【AK】 volc_sk = "your secret key" #【SK】 region = "cn-beijing" # 存储桶的区域,对应的映射关系见步骤5 endpoint = "tos-cn-beijing.volces.com" ring_id = "" # 选填,如已有密钥环,在此填写密钥环ID;如未填,则会根据`ring_name` 自动创建密钥环 ring_name = "Qwen32B-Ring" # 自定义密钥环名称【自定义修改】 ring_desc = "Ring for Qwen32B" # 添加对密钥环的描述【自定义修改】 key_name = "Qwen32BKey" # 自定义密钥名称【自定义修改】 key_desc = "Key for Qwen32B" # 添加对可信密钥的描述【自定义修改】 app_id = "your account id" # 火山页面查看自己账号的【app_id】 service = "pcc" # 目前参数传空的 config = EncryptionConfig("", "") encrypter = JeddakModelEncrypter(config) res = encrypter.encrypt_model_and_upload( model_path=model_path, bucket_name=bucket_name, volc_ak=volc_ak, volc_sk=volc_sk, region=region, endpoint=endpoint, ring_id=ring_id, ring_name=ring_name, ring_desc=ring_desc, key_name=key_name, key_desc=key_desc, app_id=app_id, service=service ) print(res)
python3 sdk.py
说明
【获取的结果】,具体如下:
自动创建的可信密钥环与可信密钥
ring_id 加密模型的可信密钥环ID
key_id 加密模型的可信密钥ID
私有模型名称与加密后的的基线值
baseline 加密模型的基线值
model_name 加密模型的名称
私有模型上传路径
model_path (TOS中的路径信息)
# ring_id 加密模型的可信密钥环ID # key_id 加密模型的可信密钥ID # baseline 加密模型的基线值 # model_name 加密模型的名称
创建证明策略
* 进入【远程证明服务】模块,点击「创建证明策略」按钮;字段如下:
* 策略名称,自定义,例如:test;
* 策略描述,自定义;
* 选择对应的加密模型,策略内容自动变化,提交成功后可在策略列表查看创建成功的策略数据;
证明策略配置
* 进入【可信密钥服务】模块,选择步骤4【ring_id】对应的密钥环,点击进入后,选择步骤4【key_id】的密钥;
* 点击【更新证明策略】,选择策略名称为【test】的策略;
说明
特别说明:不同尺寸模型,部署耗时会有差异。具体建议尺寸如下:
PCC规格 | 说明 |
---|---|
基础版 | 支持小尺寸的模型,如1.5B,具体以实际验证为准。 |
高级版 | 支持中尺寸的模型,如32B,具体以实际验证为准。 |
旗舰版 | 支持大尺寸的模型,如DeepSeek R1-671B(满血版),具体以实际验证为准。 |
说明
端侧SDK支持的语言类型为:Python、C++、Java、JS
{ "ra_url": "open.volcengineapi.com", //火山引擎地址 "ra_service_name": "test_pcc", //接收端服务在Jeddak PCC上部署时的服务名称 "ra_policy_id": "16a371d7-130b-58eb-9e95-b5b816559ad8", //远程证明时的策略ID "ra_uid": "**", //用户的火山账号ID "bytedance_top_info": "{\"ak\": \"**\", \"sk\": \"**==\", \"service\": \"pcc_test\"}", // 用户火山账号的AK和SK信息 "attest_interval": 1800, //SDK自动做RA的时间间隔 "root_key_config": "{\"test_id_test_name\": \"./myPrivateKey.pem\"}" // 数据发送端对自己做签名时,给的appinfo和私钥文件地址 }
说明
详细指引见:端云互信SDK使用指南。