更新时间:2026-07-28 GMT+08:00
分享

技术原理

系统表实现

本特性在GaussDB中复用系统表GS_MODEL_WAREHOUSE,记录创建的外部模型服务相关信息。通过新添加的CREATE LLM和DROP LLM命令,实现对模型服务的管理。

系统表GS_MODEL_WAREHOUSE具体描述请参见《参考》中“系统表和系统视图 > 系统表 > AI > GS_MODEL_WAREHOUSE”章节。

在CREATE LLM语句中指定的参数会在系统表的下列字段存储,其余参数置为空或默认值,对应关系如下表1

表1 GS_MODEL_WAREHOUSE表存储字段信息

表字段

对应模型信息

modelname

gs_model_name,数据库中模型服务的名称。

modeltype

模型服务的类型。llm_query/llm_embed/llm_rerank三类函数中可以调用的模型服务分别记录为 llm_query_api/llm_embed_api/llm_rerank_api。

hyperparametersnames

必选和选填的所有参数的名字会被记录在这个字段。

hyperparametersvalues

必填和选填的所有参数的值会被记录在这个字段。顺序必须与hyperparametersnames一致。

hyperparametersoids

必填和选填的所有参数的类型对应的OID会被记录在这个字段。顺序必须与hyperparametersnames一致。

创建模型服务时,模型侧的api_key信息在存入系统表之前会进行加密,本特性复用OBS传输使用的密钥文件:

obsserver.key.cipher

加密时读取该密钥文件,使用aes128算法生成API KEY对应的密文,并将密文存于系统表中对应的字典里。

DDL实现

本特性为支持模型服务管理,新增CREATE LLM和DROP LLM命令。以CREATE LLM为例,其时序图如图图1 模型创建序列图所示:

图1 模型创建序列图

其执行顺序可分解如下:

  1. 用户在输入CREATE LLM命令之后,系统会将其解析成一个新增的CREATE LLM的DDL语句,并触发SQL引擎调用对应的执行逻辑。
  2. 系统对参数进行解析和校验,并将API KEY进行加密处理。上一步校验通过后,可进入下一步校验模型服务的可用性。
  3. GaussDB内核对模型服务发送模拟请求,当收到正常反馈之后则表示校验成功。成功之后会将command模块添加进系统表,并将命令执行成功的提示返回给用户。

相关文档