KVCache(Key-Value Cache)是Transformer模型的一种优化技术,主要用于加速大模型服务。PolarDB for AI支持将基于KVCache的大模型部署至PolarDB集群并进行在线调用。
前提条件
- 添加GPU规格的AI节点,当前支持添加的规格如下: - 8核30 GB+ 一张GU30(polar.mysql.g8.2xlarge.gpu) 
- 16核125 GB+ 一张GU100(polar.mysql.x8.2xlarge.gpu) 
 
- 设置AI节点的连接数据库账号。 
- 使用集群地址连接PolarDB集群。 重要- 使用命令行连接集群时,需增加 - -c选项。
- 在使用DMS体验和使用PolarDB for AI功能时,由于DMS默认使用PolarDB集群的主地址进行连接,无法将SQL语句路由至AI节点。因此,您需要手动将连接地址修改为集群地址。 
 
支持的大模型类型
| 模型名称 | 需要的GPU节点数量 | 
| DeepSeek-R1-Distill-Qwen-7B | 1 | 
| DeepSeek-R1-Distill-Qwen-32B | 2 | 
使用说明
部署大模型
语法
/*polar4ai*/DEPLOY MODEL `<MODEL_NAME>` WITH (gpu=<GPU_NUM>)参数说明
| 参数名 | 参数类型 | 参数说明 | 
| MODEL_NAME | string | 支持的大模型类型中模型名称。 | 
| GPU_NUM | int | 支持的大模型类型中模型对应的GPU节点数量。 | 
示例
/*polar4ai*/DEPLOY MODEL `DeepSeek-R1-Distill-Qwen-7B` WITH (gpu=1)查看大模型部署信息
语法
/*polar4ai*/SHOW DEPLOYMENT `<MODEL_NAME>`返回参数说明
| 参数名 | 参数类型 | 参数说明 | 
| request_path | string | 大模型服务endpoint。 | 
| app_code | string | 调用模型服务的鉴权字符串。 | 
| model_name | string | 大模型名称。 | 
| deployment_status | int | 大模型部署状态。 | 
示例
/*polar4ai*/SHOW DEPLOYMENT `DeepSeek-R1-Distill-Qwen-7B`调用in-db大模型服务
支持使用curl调用大模型。请求数据格式与OpenAI规范相同,其中REQUEST_PATH和APP_CODE需替换为大模型部署信息中查询到的相应值,而MODEL_NAME则需替换为您所部署的模型名称。
curl -v <REQUEST_PATH> -H 'Authorization: APPCODE <APP_CODE>' -H "Content-Type: application/json" -d '{
  "model": "<MODEL_NAME>",
  "messages": [{
    "role": "user",
    "content": [{"type": "text", "text": "你是谁"}]
  }]}'删除大模型
语法
/*polar4ai*/DROP DEPLOYMENT `<MODEL_NAME>`示例
/*polar4ai*/DROP DEPLOYMENT `DeepSeek-R1-Distill-Qwen-7B`