模型推理

模型状态为READY时,您可以使用系统函数调用模型执行推理、预测、生成等任务。

前提条件

已创建或导入模型,且模型状态为READY。具体操作,请参见模型创建模型管理

非时序类任务

语法

SELECT function_name(model_name, field1_name, field2_name, ..., params) [FROM table_name [WHERE clause]];

参数说明

  • function_name:系统函数名称。取值为ai_inferai_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:系统函数名称,取值如下:

返回值说明

任务类型

返回值类型

返回值说明

时序预测

DOUBLE

时序预测结果。

时序异常检测

BOOLEAN

时序异常检测结果。具体说明如下:

  • true:表示有异常;

  • false:表示无异常。

示例

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;