PredictFromModel
从指定文本嵌入向量的训练回归模型中返回预测值。
格式
PredictFromModel ( 模型名称 ; v1 )
参数
模型名称
- 任何指定已加载到内存中的训练回归模型名称的文本表达式。
v1
- 包含预测输入特征的任何文本表达式、字段或容器字段。可以作为 JSON 数组(例如 [1.2,3.4,5.6]
)或作为包含嵌入向量的二进制容器数据提供。
返回的数据类型
数字
原始版本
22.0
说明
PredictFromModel 使用配置回归模型脚本步骤训练和加载的回归模型生成数值预测。该函数接受输入特征(可以是嵌入向量),并根据模型训练期间得出的模式返回单个数值预测。
在使用此函数之前,您必须:
-
使用配置回归模型脚本步骤训练回归模型。
-
确保模型已加载到内存中。模型保持加载状态,直到显式卸载或 FileMaker 会话结束。
-
提供与用于创建模型的训练数据具有相同结构和维度的输入特征。
v1
参数接受两种格式的输入功能:
-
包含 JSON 数值数组的文本,如
[1.2、3.4、5.6、7.8]
。这种格式是人类可读的,适用于简单的用例。JSON 数组也可以由 AI 模型生成的嵌入向量组成。 -
存储为二进制容器数据的嵌入向量。这种格式通常为大规模操作提供更好的性能,并且是使用 AI 模型生成的嵌入向量时的首选格式。
注释
-
v1
中的输入特征必须具有相同的维度数量,并且顺序与用于创建模型的训练数据相同。 -
要使用 AI 模型生成用于 v1 的嵌入向量,您可以使用插入嵌入脚本步骤,在搜索结果中插入嵌入脚本步骤,或 GetEmbedding函数。
-
使用二进制容器数据嵌入向量通常比 JSON 数组提供更好的性能,特别是对于高维特征向量。
-
模型名称区分大小写,必须与使用配置回归模型脚本步骤加载的模型名称完全匹配。
-
模型会保留在内存中,直到明确删除,因此无需重新加载即可高效地进行多次预测。
-
函数在以下情况下返回“?”:
-
指定的模型名称不存在或当前未加载到内存中。
-
与模型的训练数据相比,输入特征的尺寸或格式不正确。
-
示例 1
一个使用在配置回归模型中示例 1 所训练的房价模型进行简单预测的表达式。输入特征适用于面积、卧室和房龄。
PredictFromModel ( "HousePriceModel" ; "[1600, 3, 20]" )
返回基于1600 平方英尺、3 间卧室和 20 年的预测房价。可能的返回值是 256.96153846153845279(价格单位与训练数据中使用的目标值相同)。
示例 2
利用在配置回归模型中示例 2 所训练的模型,根据客户评论的文本内容预测其星级评分。脚本要求用户输入评论 ($reviewInput),配置 AI 账户,然后使用该账户获取 $reviewInput 的文本嵌入向量。接下来,它加载存储在全局字段 Reviews::ReviewModel 中的回归模型,然后使用加载的模型“ReviewModel”和嵌入向量显示预测评级 ($reviewEmbedding)。完成后,脚本会从内存中卸载模型。
显示自定义对话框 ["输入您的评论"; $reviewInput ]
配置 AI 账户 [ 账户名称: "AI_Model_Server" ; 模型提供商: 自定义 ; 端点: "https://myserver.example.com:8080/" ; 验证 SSL 证书 ; API 密钥: Global::API_Key ]
插入嵌入 [ 账户名称: "AI_Model_Server" ; 嵌入模型: "all-MiniLM-L12-v2" ; 输入: $reviewInput ; 目标: $reviewEmbedding ]
配置回归模型 [ 操作: 加载模型 ; 模型名称: "ReviewModel" ; 模型加载自: Reviews::ReviewModel ]
显示自定义对话框 [ "预测的评级"; PredictFromModel ( "ReviewModel" ; $reviewEmbedding ) ]
配置回归模型 [ 操作: 卸载模型 ; 模型名称: "ReviewModel" ]
对于一条正面评价,若训练时使用的目标评分值范围为 1 至 5,则模型可能预测出的评分为 4.8700974666666665414。