tencent cloud

云数据库 PostgreSQL

动态与公告
产品动态
产品简介
产品概述
产品特性
产品优势
应用场景
信息安全说明
地域和可用区
产品功能列表
大版本生命周期说明
MSSQL 兼容版
产品计费
计费概述
实例类型与规格
购买方式
退费说明
欠费说明
备份空间收费说明
快速入门
创建 PostgreSQL 实例
连接 PostgreSQL 实例
管理 PostgreSQL 实例
数据导入
通过 DTS 迁移数据
内核能力介绍
内核版本概述
内核版本更新动态
查看内核版本
自研内核功能介绍
数据库审计
审计服务说明
开通审计服务
查看审计日志
修改审计服务
审计性能说明
用户指南
实例管理
升级实例
CPU 弹性扩容
只读实例
账号管理
数据库管理
参数管理
日志管理及分析
备份与恢复
数据迁移
插件管理
网络管理
访问管理
数据安全
租户及资源隔离
安全组
监控与告警
标签
AI 实践
使用 tencentdb_ai 插件调用大模型
使用 tencentdb_ai 插件构建 AI 应用
结合 Supabase 快速构建基于云数据库 PostgreSQL 的后端服务
实践教程
跨库访问
如何在 PostgreSQL 中自动创建分区
基于 pg_roaringbitmap 实现超大规模标签查找
一条 SQL 实现查询附近的人
如何配置云数据库 PostgreSQL 作为 GitLab 外部数据源
通过 cos_fdw 插件支持分级存储能力
通过 pgpool 实现读写分离
通过 auto_explain 插件实现慢 SQL 分析
使用 pglogical 进行逻辑复制
使用 Debezium 采集 PostgreSQL 数据
在 CVM 本地搭建 PostgreSQL 异地灾备环境
只读实例与只读组实践教程
如何使用云函数定时操作数据库
表膨胀处理
性能白皮书
测试方法
测试结果
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Read-only Replica APIs
Backup and Recovery APIs
Parameter Management APIs
Security Group APIs
Performance Optimization APIs
Account APIs
Specification APIs
Network APIs
Data Types
Error Codes
常见问题
相关协议
Service Level Agreement
Terms of Service
词汇表
联系我们
文档云数据库 PostgreSQLAI 实践使用 tencentdb_ai 插件调用大模型

使用 tencentdb_ai 插件调用大模型

PDF
聚焦模式
字号
最后更新时间: 2025-11-07 17:27:52
当前无论是基础大模型还是 AI 应用开发都发展迅速,云数据库 PostgreSQL 提供了 tencentdb_ai 插件,方便您在云数据库 PostgreSQL 实例中轻松调用网络可通的大模型 API,完成各种场景的应用开发。本插件支持大版本为 PostgreSQL 17 的实例。
说明:
使用 tencentdb_ai 的前提是您已经创建完成了大版本为 PostgreSQL 17 的实例。
创建 tencentdb_ai 插件会关联创建 pgcrypto 插件,请知悉。

tencentdb_ai 插件函数说明

新增模型

add_model 函数定义如下:
tencentdb_ai.add_model(
model_name NAME,
version TEXT,
region TEXT,
json_path JSONPATH
);
参数解释如下:
model_name:模型名称,如 hunyuan-litedeepseek-r1 等。
version:该模型的公共参数 version,如该模型不需要 version 参数则可以不填写。
region:该模型的公共参数 region,如该模型不需要 region 参数则可以不填写。
json_path:为调用该模型时,指定如何对模型的JSON响应进行提取。相当于对模型输出调用jsonb_path_query_first函数。如果不指定该参数,默认原样输出模型的原始响应。

查看已注册模型

list_models 函数定义如下:
tencentdb_ai.list_models(void);

更新模型

update_model_attr 函数定义如下:
tencentdb_ai.update_model_attr(
model_name NAME,
attr_name text,
attr_value text
);
参数解释如下:
model_name:模型名称。
attr_name:需要更新的模型属性。可更新的模型属性有 version、region、json_path、SecretId、SecretKey
attr_value:需要更新的属性的值。
具体 SecretId 和 SecretKey 请查看 访问管理

删除模型

delete_model 函数定义如下:
tencentdb_ai.delete_model(
model_name NAME
);
参数解释如下:
model_name:模型名称。

模型调用

call_model 函数定义如下:
tencentdb_ai.call_model(
model_name NAME,
common_params TEXT[],
api_params TEXT[]
);
参数解释如下:
model_name:模型名称。
common_params:需要调用模型的公共参数,例如ARRAY['Action: ChatCompletions', 'Version: 2023-09-01']
api_params:需要调用模型的专有参数,例如ARRAY['"Stream": false', '"Model": "hunyuan-lite"', '"Messages": [{"Role": "user", "Content": "您好"}]']
除了使用 call_model 函数来进行模型调用之外,您还可以使用如下几个接口来进行特定场景的模型调用。

固定场景接口

对话

chat_completions 函数定义如下:
tencentdb_ai.chat_completions(
model_name NAME,
content TEXT,
args TEXT[] default NULL
);
参数解释如下:
model_name:模型名称。
content:对话内容。
args:调用模型的其他参数,默认为 NULL。
调用示例:
SELECT tencentdb_ai.chat_completions('hunyuan-lite', '您好');
chat_completions
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------
{"Response":{"RequestId":"*******-****-****-****-***********","Note":"以上内容为AI生成,不代表开发者立场,请勿删除或修改本标记","Choices":[{"Index":0,"Message":{"Role":"assistant","Co
ntent":"您好呀!很高兴能和您聊天,今天有什么想和我分享的吗"},"FinishReason":"stop"}],"Created":1739786393,"Id":"*******-****-****-****-*********","Usage":{"PromptTokens":3,"Completio
nTokens":17,"TotalTokens":20}}}
(1 row)

文本转向量

get_embedding 函数定义如下:
tencentdb_ai.get_embedding(
model_name NAME,
content TEXT[]
);
参数解释如下:
model_name:模型名称。
content:转化内容。
调用示例:
damoxing1=> SELECT tencentdb_ai.get_embedding('hunyuan-embedding',ARRAY['您好', 'PostgreSQL']);

文本排序

run_rerank 函数定义如下:
tencentdb_ai.run_rerank(
model_name NAME,
query TEXT,
documents TEXT[],
args TEXT[] DEFAULT NULL
);
参数解释如下:
model_name:模型名称。
query:文本排序的问题。
documents:待文本排序的内容。
args:特定模型的指定参数。
damoxing1=> SELECT COUNT(*) FROM tencentdb_ai.run_rerank('lke-reranker-base', '知识引擎大模型', ARRAY['混元大模型', '腾讯知识引擎']);
count
-------
2
(1 row)

图生文

image_to_text函数定义如下:
tencentdb_ai.image_to_text
(
model_name NAME,
query TEXT,
image TEXT,
args TEXT[] DEFAULT NULL
);
参数解释如下:
model_name:模型名称。
query:图生文本的问题。
image:图片地址。
args:特定模型的指定参数。

插件使用示例

下面为您一一描述插件使用过程:
1. 创建插件
damoxing=> CREATE EXTENSION tencentdb_ai CASCADE;
NOTICE: installing required extension "pgcrypto"
CREATE EXTENSION
检查插件创建完成
damoxing=> SELECT * FROM pg_extension;
oid | extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
-------+--------------+----------+--------------+----------------+------------+-----------+--------------
14275 | plpgsql | 10 | 11 | f | 1.0 | |
16440 | pgcrypto | 16437 | 2200 | t | 1.3 | |
16477 | tencentdb_ai | 16437 | 2200 | t | 1.0 | {16479} | {""}
(3 rows)
2. 添加大模型
damoxing=> SELECT tencentdb_ai.add_model('hunyuan-lite','2023-09-01', NULL, NULL);
add_model
-----------
(1 row)
3. 添加大模型 API 调用的 SecretId 和 SecretKey
具体 SecretId 和 SecretKey 请查看 访问管理
damoxing=> SELECT tencentdb_ai.update_model_attr('hunyuan-lite', 'SecretId', 'AKID***************');
update_model_attr
-------------------
(1 row)
damoxing=> SELECT tencentdb_ai.update_model_attr('hunyuan-lite', 'SecretKey', '********************');
update_model_attr
-------------------
(1 row)
4. 查看当前添加的模型列表
damoxing=> SELECT * FROM tencentdb_ai.list_models();
-[ RECORD 1 ]--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
model_name | hunyuan-lite
json_path |
secretid | ***************************
secretkey | ***************************
version |
region |
id_random | 516234453022
key_random | 134577899689
5. 调用大模型
聊天场景下,您可以使用 call_model 接口。
damoxing=> SELECT tencentdb_ai.call_model('hunyuan-lite',
ARRAY['Action: ChatCompletions', 'Version: 2023-09-01'],
ARRAY['"Stream": false', '"Model": "hunyuan-lite"', '"Messages": [{"Role": "user", "Content": "您好"}]']);damoxing(> damoxing(>
call_model
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------
{"Response":{"RequestId":"*******-****-****-****-***********","Note":"以上内容为AI生成,不代表开发者立场,请勿删除或修改本标记","Ch
oices":[{"Index":0,"Message":{"Role":"assistant","Content":"您好!很高兴与您交流。请问有什么我可以帮助您的吗?无论是关于生活、工作、学
习还是其他方面的问题,我都会尽力为您提供帮助。"},"FinishReason":"stop"}],"Created":1739793838,"Id":"*******-****-****-****-***********
","Usage":{"PromptTokens":3,"CompletionTokens":33,"TotalTokens":36}}}
(1 row)

damoxing=>

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈