操作指导
创建模型服务:
CREATE LLM RERANK MODEL mod_r using model = 'BAAI/bge-reranker-v2-m3', url = 'https://ip:port/v1/rerank', api_key='api_key'; --创建rerank模型服务
CREATE LLM QUERY MODEL mod_q USING model = 'Qwen/Qwen2.5-7B-Instruct', url ='https://ip:port/v1/chat/completions', api_key='api_key', extra_params='{"max_tokens": 5, "temperature": 0.1}'; --创建大语言模型服务
CREATE LLM EMBED MODEL mod_e USING MODEL = 'Qwen/gte-Qwen2-1.5B-instruct', url ='https://ip:port/v1/embeddings', api_key='api_key'; --创建embedding模型服务 删除模型服务:
drop llm model mod_r; drop llm model mod_q; drop llm model mod_e;
模型服务创建详细语法如下:
CREATE LLM QUERY MODEL gs_model_name
USING
MODEL = 'remote_model_name',
URL = 'https://example.com:443/path/to/api',
API_KEY = 'api_key'
[, SYSTEM_PROMPT = 'prompt_string' ]
[, EXTRA_PARAMS = '{JSON}' ];
CREATE LLM EMBED MODEL gs_model_name
USING
MODEL = 'remote_model_name',
URL = 'https://example.com:443/path/to/api',
API_KEY = 'api_key'
[, EXTRA_PARAMS = '{JSON}' ];
CREATE LLM RERANK MODEL gs_model_name
USING
MODEL = 'remote_model_name',
URL = 'https://example.com:443/path/to/api',
API_KEY = 'api_key'
[, EXTRA_PARAMS = '{JSON}' ]; 参数说明如下表所示:
| 参数名 | 类型 | 描述 |
|---|---|---|
| gs_model_name | string | gs_model_name是模型服务在GaussDB中的名称。该名称作为标识符,在以后的语义函数中作为参数输入,不超过63字节。输入大小写不敏感,在系统中自动转写至小写字母存储,只支持数字、字母和下划线'_'符号,且不能以数字开头,如果超过长度则会自动截断。 |
USING语句下包括下面五个参数:
| 参数名 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| model | text | 必选 | 在外部模型服务中需要指定的模型名称,长度不超过64字节。在支持OpenAI标准的API的模型服务中,需要在请求体中指定模型名。 |
| url | text | 必选 | 模型服务的地址,不超过256字节。 |
| api_key | text | 必选 | 认证所需的API KEY,长度16到256字节。模型服务往往需要通过API KEY进行认证,通过认证才可以返回结果。模型注册时指定API KEY,之后每次模型调用直接复用。 |
| system_prompt | text | 可选 | 可选,OpenAI v1/chat/completions API中输入的参数。对应给模型服务输入的系统提示词,代表给模型提前输入的系统指令。如果system_prompt长度超过模型最大tokens范围则模型侧会拒绝服务并返回异常信息。 |
| extra_params | JSON字典 | 可选 | 其他需要透传到模型服务的参数。OpenAI 的API规范中,可以在请求体内添加支持的参数。详细的支持参数请参照待添加的模型服务对应的API文档,各模型服务可能存在差异,通过JSON字典的字符串格式输入,在数据库侧会校验json格式的合法性,除了创建大语言模型时会校验temperature和max_tokens的范围之外,其余参数会被直接透传到模型服务上,如果属于模型参数范围则会生效,否则会忽略该参数,不合法参数会返回模型侧异常信息。 |
| 参数名 | 类型 | 是否必选 | 描述 | 取值范围 |
|---|---|---|---|---|
| temperature | text | 可选 | OpenAI v1/chat/completions API中输入的temperature参数。代表模型输出的随机程度。 | [0, 2]。 |
| max_tokens | text | 可选 | OpenAI v1/chat/completions API中输入的max_tokens参数。模型服务输出的最大token数量。 | 正整数,范围[1,8192]。 如果该值为1.0,2.0等后面为0的浮点数,则会强制转为整数类型,否则会报错。 |
- 模型服务还有其他参数,本功能在使用时仅对temperature参数进行范围校验,其他参数通过模型自身进行合法性校验。
- 每个模型有其自身token处理上限,如果超过模型上限则模型服务会报错。
模型删除命令:
DROP LLM model gs_model_name;
其中参数 gs_model_name表示以前已经注册过的某个模型服务的名称。当该名称存在时,从系统表中删除对应的记录。
该命令为DDL命令,返回结果为成功或失败。