基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
AI 模型注册
更新时间:2026-09-16 10:37:00
本文介绍如何通过 DBMS_AI_SERVICE 包配置 AI 模型访问,以便在 OceanBase AI 数据库内使用 AI 函数服务。
注意
使用 AI_SPLIT_DOCUMENT 函数不需要注册厂商配置。
前提条件
- 已具备 AI 模型相关权限,具体请参见 AI 函数服务权限。
- 已获取第三方模型服务的 API Key。
注册厂商配置
支持使用 REGISTER_PROVIDER 注册厂商配置,通过 provider/model 格式调用 AI 函数。无需分别创建模型与端点,也无需填写完整 URL 路径。
说明
厂商配置注册从 V4.6.2.1 版本开始支持。
说明
若仅需使用某类 AI 函数,可只注册对应厂商。例如仅使用 AI_COMPLETE 时,完成下文中的注册步骤并选用对应模型即可。
说明
语义索引暂不支持使用 REGISTER_PROVIDER 注册厂商配置,须另行通过 CREATE_AI_MODEL / CREATE_AI_MODEL_ENDPOINT 注册,详细说明请参见 语义搜索。
注册厂商配置
支持注册内置厂商和非内置厂商(包括 vLLM 和自定义厂商),具体说明如下:
- 内置厂商:只需填写
access_key,protocol与base_url可省略,系统会自动填充默认值。完整列表见下文表格。 - vLLM:需要配置
protocol和base_url,不可省略。 - 自定义厂商:需至少填写
base_url与access_key,protocol默认为openai。 - 若同名厂商已存在,请改用
ALTER_PROVIDER更新配置。
支持的内置厂商列表及其对应的 protocol/base_url 默认值如下(仅在内置厂商 首次注册且未填写 protocol/base_url 时生效):
| provider | protocol | base_url |
|---|---|---|
aliyun |
openai |
https://dashscope.aliyuncs.com/compatible-mode/v1 |
aliyun-dashscope |
dashscope |
https://dashscope.aliyuncs.com/api/v1 |
deepseek |
openai |
https://api.deepseek.com |
siliconflow |
openai |
https://api.siliconflow.cn/v1 |
openai |
openai |
https://api.openai.com/v1 |
cohere |
cohere |
https://api.cohere.com/v2 |
tencent |
openai |
https://api.hunyuan.cloud.tencent.com/v1 |
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('aliyun', '{
"access_key": "sk-xxxx"
}');
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('aliyun-dashscope', '{
"access_key": "sk-xxxx"
}');
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('deepseek', '{
"access_key": "sk-xxxx"
}');
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('siliconflow', '{
"access_key": "sk-xxxx"
}');
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('tencent', '{
"access_key": "sk-xxxx"
}');
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('openai', '{
"access_key": "sk-xxxx"
}');
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('cohere', '{
"access_key": "sk-xxxx"
}');
vLLM 是一个本地部署框架。对接时需配置 protocol 和 base_url,不可省略;服务不校验密钥时,access_key 也需填写非空占位值。当前仅支持嵌入(AI_EMBED):
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('vllm', '{
"protocol": "vllm",
"base_url": "https://vllm.example.com/v1",
"access_key": "sk-xxxx"
}');
其他非内置厂商需至少填写 base_url 与 access_key,protocol 默认为 openai:
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('ob-mass', '{
"protocol": "openai",
"base_url": "https://example.com/v1",
"access_key": "sk-xxxx"
}');
调用 AI 函数
使用 REGISTER_PROVIDER 注册厂商配置后,即可通过 provider/model 格式调用 AI 函数。以阿里云 DashScope 厂商为例:
-- 调用嵌入模型
SELECT AI_EMBED('aliyun-dashscope/text-embedding-v3', 'hello');
-- 调用文本生成模型
SELECT AI_COMPLETE('aliyun-dashscope/qwen-plus', 'hello');
-- 调用重排序模型
SELECT AI_RERANK('aliyun-dashscope/gte-rerank-v2', 'query', '["doc1", "doc2"]');
(可选)配置模型参数
使用 ALTER_MODEL_PROFILE 为 provider/model 设置调用参数:
CALL DBMS_AI_SERVICE.ALTER_MODEL_PROFILE('aliyun/qwen-plus', '{
"model_config": {
"max_tokens": 4096,
"temperature": 0,
"enable_thinking": false
},
"run_config": {
"batch_size": 16,
"max_image_size": 4194304,
"min_concurrency": 10,
"max_concurrency": 100
}
}');
(可选)配置网关(Gateway)
AI 网关位于 AI 函数与真实模型服务之间,提供路由与容灾能力:将同一逻辑模型下的多个端点(Endpoint)(可对应不同 Key、供应商或模型)统一纳管,按权重将流量分发至健康节点;若某端点连续失败,则自动熔断并切换至其它可用端点。
使用 CREATE_AI_GATEWAY 创建网关时,可同时配置端点权重与熔断参数:
CALL DBMS_AI_SERVICE.CREATE_AI_GATEWAY('prod_gateway', '{
"endpoints": [
{"name":"ep1","model":"aliyun/qwen-plus","weight":70},
{"name":"ep2","model":"deepseek/deepseek-chat","weight":30}
],
"circuit_breaker": {
"failure_rate_threshold": 50,
"window_size_seconds": 60,
"minimum_requests": 10,
"break_duration_seconds": 60,
"probe_requests": 3
}
}');
完整语法与参数说明请参见文末相关文档。
注册多模态模型(图片)
注意
图片嵌入和处理从 V4.6.2.1 版本开始支持。
说明
当前多模态能力说明如下:
- 多模态嵌入:支持的
provider包括aliyun-dashscope和vllm。 - 多模态文本生成:目前仅支持
aliyun-dashscope,暂不支持vllm。 - 支持的 AI 函数:包括
AI_EMBED、AI_COMPLETE、AI_PROMPT。
注册多模态嵌入厂商
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('aliyun-dashscope', '{
"access_key": "sk-xxxx"
}');
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('vllm', '{
"protocol": "vllm",
"base_url": "https://vllm.example.com/v1",
"access_key": "sk-xxxx"
}');
说明
请将 access_key 替换为您的实际 API Key。
调用多模态嵌入模型
用于 AI_EMBED 图片嵌入,可选择图片 URL 或二进制图片数据(BASE64)。
-- 需将图片 URL 信息替换为实际的图片 URL
SET @img_url = 'https://example.com/image.jpg';
-- 图片 URL 嵌入
SELECT AI_EMBED('aliyun-dashscope/qwen2.5-vl-embedding', @img_url, '{"type":"image"}');
-- 使用二进制图片数据(通过 BASE64 编码)
SET @img_base64 = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx';
-- 图片二进制数据嵌入(BASE64)
SELECT AI_EMBED('aliyun-dashscope/qwen2.5-vl-embedding', FROM_BASE64(@img_base64), '{"type":"image"}');
注册多模态文本生成厂商
仅支持 aliyun-dashscope 厂商。
CALL DBMS_AI_SERVICE.REGISTER_PROVIDER('aliyun-dashscope', '{
"access_key": "sk-xxxx"
}');
调用多模态文本生成模型
通过 AI_COMPLETE 结合 AI_PROMPT 的图片占位符对图片进行处理,可选择图片 URL 或二进制图片数据(BASE64)。
-- 单图片处理(图片 URL)
SELECT AI_COMPLETE(
'aliyun-dashscope/qwen3.5-plus',
AI_PROMPT('请描述这张图片 {img_0}', @img_url)
);
-- 单图片处理(BASE64)
SELECT AI_COMPLETE(
'aliyun-dashscope/qwen3.5-plus',
AI_PROMPT('请描述这张图片 {img_0}', FROM_BASE64(@img_base64))
);
相关文档
- AI 函数服务快速上手:注册完成后运行第一个示例的步骤。
- AI 函数服务使用及示例:各 AI 函数的语法与更多示例。
- DBMS_AI_SERVICE 包:厂商配置与相关子程序的完整参数说明。
- 语义搜索:语义索引暂不支持
REGISTER_PROVIDER时的模型注册方式。