模型状态为READY
时,您可以使用系统函数调用模型执行推理、预测、生成等任务。
前提条件
非时序类任务
语法
SELECT function_name(model_name, field1_name, field2_name, ..., params) [FROM table_name [WHERE clause]];
参数说明
function_name:系统函数名称。取值为
ai_infer
。ai_infer
为执行非时序类任务时使用的推理函数。model_name:模型名称。必选参数,类型为VARCHAR。
field_name:目标字段参数。可能同时具有多个。具体说明如下表所示:
任务类型
参数
是否必选
参数类型
说明
特征提取
field1_name
是
VARCHAR
需要进行特征提取(向量化)的文本常量。
文生图
field1_name
是
VARCHAR
表(From条件中指定的表)中的文本列名或文本常量。
语义检索
field1_name
是
VARCHAR
需要检索的文本常量。
基础问答
field1_name
是
VARCHAR
输入的问题。
检索问答
field1_name
是
VARCHAR
输入的问题。
params:调整推理参数。可选参数。格式为:
key1=value1, [key2=value2]
。具体说明如下表所示:任务类型
参数
说明
特征提取
normalize
是否对返回的向量进行归一化处理。取值如下:
true:默认值,是。
false:否。
文生图
无
无。
语义检索
score
是否返回语义相似度。取值如下:
true:是。
false:否。
topK
检索时返回最相似的数据条数。取值范围为[1, 10000],默认值为10。
efSearch
检索时动态列表的长度,取值范围为[1,1000],默认值为100。efSearch的值越大,查询精度越高,同时会消耗更多的性能,降低查询速度。
threshold
检索时返回数据需满足语义相似度的最低阈值,取值范围为[0, 1.0],默认值为0.6。
returnChunk
是否返回文档切片(Chunk)而不是原始语料(仅在模型创建时指定text_splitter参数为
on
时有效)。取值如下:true:是。
false:否。
extendChunk
在返回Chunk时指定进行前后扩展(根据Chunk的顺序)的数量(仅在指定returnChunk参数为
true
且模型创建时指定text_splitter参数为on
时有效)。取值范围为[1,100]。rrfK
指定混合检索时使用的RRF算法中的常量K(仅在模型创建时混合检索功能打开时生效),取值范围为[1,100]。默认值为60。
verbose
是否返回详细信息。取值如下:
true:是。
false:否。
基础问答
无
无。
检索问答
topK
检索时返回最相似的数据条数。取值范围为[1, 10000],默认值为10。
efSearch
检索时动态列表的长度。取值范围为[1,1000],默认值为100。efSearch的值越大,查询精度越高,同时会消耗更多的性能,降低查询速度。
threshold
检索时返回数据需满足语义相似度的最低阈值。取值范围为[0, 1.0],默认值为0.6。
extendChunk
在检索获取Chunk时指定进行前后扩展(根据Chunk顺序)的数量(仅在模型创建时指定text_splitter参数为
on
时有效)。取值范围为[1,100]。verbose
是否返回详细信息。取值如下:
true:是。
false:否。
返回值说明
任务类型 | 返回值类型 | 返回值说明 |
特征提取 | VARCHAR | 返回文本对应的向量。 |
文生图 | VARCHAR | 图片在Lindorm S3兼容协议中的地址。 |
语义检索 | VARCHAR | 以JSON格式表示的相似文本列表。 |
基础问答 | VARCHAR | 问答的答案。 |
检索问答 | VARCHAR | 问答的答案。 |
示例
使用ai_infer
函数进行模型推理。
SELECT `design_desc`, ai_infer('interior_design', `design_desc`) as 'design_image' FROM design_desc;
返回值取决于任务类型,即模型创建时设置的TASK参数。
时序类任务
语法
SELECT function_name(field_name, model_name, params) FROM table_name [WHERE clause] SAMPLE BY time_interval;
参数说明
function_name:系统函数名称,取值如下:
FORECAST:时序预测函数。如何配置FORECAST函数中的field_name、model_name和params,请参见FORECAST函数(时序预测)。
ANOMALY_DETECT:时序异常检测函数。如何配置ANOMALY_DETECT函数中的field_name、model_name和params,请参见ANOMALY_DETECT函数(时序异常检测)。
返回值说明
任务类型 | 返回值类型 | 返回值说明 |
时序预测 | DOUBLE | 时序预测结果。 |
时序异常检测 | BOOLEAN | 时序异常检测结果。具体说明如下:
|
示例
SELECT device_id, region, `time`, raw(temperature) as temperature, anomaly_detect(temperature, ad_model) as detect_result from sensor WHERE time >= '2022-01-01 00:00:00' and time < '2022-01-01 00:01:00' SAMPLE BY 0;