hunyuan、lkeap 模型后端随平台同步弃用,推荐您将在用模型迁移到 tokenhub 后端。本文介绍迁移方法。项目 | hunyuan / lkeap 后端(已弃用) | tokenhub 后端(推荐) |
认证方式 | SecretId / SecretKey(TC3 签名) | api_key(Bearer) |
响应协议 | 腾讯云 API 格式( $.Response...) | OpenAI 兼容格式( $.choices...、$.data...) |
version / region | 需要(如 2023-09-01、ap-guangzhou) | 不需要,注册时传 NULL |
模型名 | 注册名即调用名 | model_name 仅是插件内的别名;插件实际发给 TokenHub 网关的模型标识由 real_model_name 决定,必须填写控制台“在线推理”中已开通模型的服务 ID(如 hy3),否则报 The model or service ID xxx does not exist |
插件功能 | hunyuan / lkeap | tokenhub | 迁移动作 |
对话 chat_completions | ✓ | ✓ | 仅配置变更 |
固定场景(sentiment / summarize / generate_text / generate_int / generate_double / generate_boolean) | ✓ | ✓ | 仅配置变更 |
NL2SQL(generate_query) | ✓ | ✓ | 仅配置变更 |
文本向量 get_embedding | ✓ | ✓ | 配置变更 + 存量数据重新 embedding |
RAG(retrieve / rag) | ✓ | ✓ | 配置变更 + 存量数据重新 embedding |
自动向量列 autoembedding | ✓ | ✓ | 任务重建 + 存量数据重新 embedding |
文本排序 run_rerank | ✓(仅 lkeap) | × | 无迁移路径,请用向量检索排序替代 |
sk- 开头)。原平台的 SecretId/SecretKey 与 API Key 不通用,必须重新创建。类型 | 模型(服务 ID) | 关键规格 |
语言模型 | hy3、glm-5.2、deepseek-v4-flash、deepseek-v4-pro、kimi-k2.7、minimax-m3 等 | 上下文256k - 1M,详见模型列表 |
向量模型 | kinfra-text-embedding-0.6b | 1024维,32k 上下文,轻量低成本 |
向量模型 | kinfra-text-embedding-4b | 2560维,32k 上下文,高质量检索 |
get_embedding 无法调用,请勿注册使用。api_key 取代 SecretId / SecretKey:SELECT tencentdb_ai.update_model_attr('<模型名>', 'api_key', 'sk-********');
'$.Response.Choices[*].Message.Content' 改为 OpenAI 格式 '$.choices[0].message.content';embedding 模型始终为 NULL(由 get_embedding 自行解析响应)。chat_completions、sentiment、summarize、generate_text、generate_int、generate_double、generate_boolean、generate_query。-- 以旧模型 my-chat(原 hunyuan 后端)为例,依次更新四项属性SELECT tencentdb_ai.update_model_attr('my-chat', 'backend_type', 'tokenhub');SELECT tencentdb_ai.update_model_attr('my-chat', 'real_model_name', 'hy3'); -- 换成你选择的服务 IDSELECT tencentdb_ai.update_model_attr('my-chat', 'json_path', '$.choices[0].message.content');SELECT tencentdb_ai.update_model_attr('my-chat', 'api_key', 'sk-********');-- 验证:业务 SQL 模型名不变,直接可用SELECT tencentdb_ai.chat_completions('my-chat', '你好,一句话介绍你自己');
answer--------------------------------------------------------------------------------------"你好,我是混元,是由腾讯开发的大模型,能为你解答问题、提供信息并协助处理各类任务。"(1 row)
SELECT tencentdb_ai.add_model('hy3', NULL, NULL, '$.choices[0].message.content'::jsonpath, 'tokenhub');SELECT tencentdb_ai.update_model_attr('hy3', 'api_key', 'sk-********');
get_embedding,以及依赖它的 retrieve、rag、autoembedding。SELECT tencentdb_ai.add_model('kinfra-text-embedding-0.6b', NULL, NULL, NULL, 'tokenhub');SELECT tencentdb_ai.update_model_attr('kinfra-text-embedding-0.6b', 'api_key', 'sk-********');
UPDATE kb_docs SET embedding = (SELECT e::vector(1024)FROM tencentdb_ai.get_embedding('kinfra-text-embedding-0.6b', ARRAY[chunk]) AS e);
UPDATE kb_docs SET embedding = NULL;ALTER TABLE kb_docs ALTER COLUMN embedding TYPE vector(2560);UPDATE kb_docs SET embedding = (SELECT e::vector(2560)FROM tencentdb_ai.get_embedding('kinfra-text-embedding-4b', ARRAY[chunk]) AS e);
REINDEX INDEX <索引名>;
-- 1. 删除旧任务(任务 ID 可通过 tencentdb_ai.autoembedding_status 视图查询)SELECT tencentdb_ai.drop_incr_autoembedding_task(<旧任务ID>);-- 2. 清空旧向量(若同时更换了模型注册,先完成 update_model_attr)UPDATE notes SET body_embedding = NULL;-- 3. 重新注册增量任务SELECT tencentdb_ai.add_incr_autoembedding_task('public', 'notes', ARRAY['body']::name[], 'kinfra-text-embedding-0.6b');-- 4. 注册回填任务,重嵌存量数据SELECT tencentdb_ai.add_backfill_autoembedding_task('public', 'notes', ARRAY['body']::name[], 'kinfra-text-embedding-0.6b', NULL, true);-- 5. 查看回填进度SELECT task_kind, status, backfill_state, backfilled_rows, failed_countFROM tencentdb_ai.autoembedding_status;
task_kind | status | backfill_state | backfilled_rows | failed_count-----------+---------+----------------+-----------------+--------------incr | enabled | | | 0backfill | | done | 2 | 0(2 rows)
run_rerank 仅支持 lkeap 后端,无迁移路径。建议使用向量检索按距离排序替代:SELECT chunk, distanceFROM tencentdb_ai.retrieve('kinfra-text-embedding-0.6b', '你的查询','public', 'kb_docs', 'chunk', 'embedding', 10, 'cosine')ORDER BY distance, chunk;
文档反馈