GetEmbedding

将输入数据发送到嵌入模型,并将向量表示作为容器数据返回。

格式 

GetEmbedding(账户 ; 模型 ; 输入)

参数 

账户 - 使用此功能的 AI 账户。在目前文件中,使用配置 AI 账户脚本步骤设置账户,并在此函数使用之前随时为其分配此名称。

模型 - 生成嵌入向量的模型名称。将模型名称指定为文本表达式,该文本表达式由模型提供商提供。

输入 - 任何返回文本或容器数据以发送到模型以转换为嵌入向量的表达式。

返回的数据类型 

容器

原始版本 

21.0

说明 

插入嵌入脚本步骤类似,该函数使用 AI 账户和模型获取指定输入的嵌入向量。但此函数仅将嵌入向量作为容器数据返回,该数据可能比存储为文本时小,并且可以提高使用嵌入向量进行任何进一步处理的性能。

对于图像和文本嵌入向量,可以使用 FileMaker Pro 单独提供或与 FileMaker Server 一起安装的开源模型服务器支持的模型。请参阅 Claris 工程博客

此函数返回s "?",EvaluationError 函数返回:

  • 错误代码 877 ("找不到 AI 账户") - 如果当前没有配置 AI 账户,

  • 错误代码 882 ("无效的 AI 请求") - 如果在执行图像嵌入时,输入指定的图像是不受支持的文件类型或文件大小太大

示例 1 

配置 AI 账户,转到会议详细信息布局,然后将当前记录中的 Meetings::Note_Embedding 容器字段的值设置为文本 "Claris" 的二进制嵌入向量数据。

复制
配置 AI 账户 [ 账户名称: "my-account" ; 模型提供商: OpenAI ; API 密钥: "sk-RZCtpWT..." ]
转到布局 [ "会议详细令牌" (会议) ; 动画: 无 ]

设置字段 [ Meetings::Note_Embedding ; GetEmbedding ( "my-account" ; "text-embedding-3-small" ; "Claris" ) ]

示例 2 

配置 AI 账户,转到会议详细信息布局,并要求用户输入文本以与当前记录中的备注字段进行比较。接下来,获取输入的嵌入向量,并将其作为容器数据存储在变量中,并对 Meetings::Note 字段中的文本进行同样的处理。然后显示两个变量中嵌入向量的余弦相似性。

复制
配置 AI 账户 [ 账户名称: "my-account" ; 模型提供商: OpenAI ; API 密钥: "sk-RZCtpWT..." ]

转到布局 [ "会议详细信息" (会议) ; 动画: 无 ]

显示自定义对话框 [ "比较此文本与会议记录:" ; $Input ]
设置变量 [ $Input_Embedding ; 值: GetEmbedding ( "my-account" ; "text-embedding-3-small" ; $Input ) ]
设置变量 [ $Note_Embedding ; 值: GetEmbedding ( "my-account" ; "text-embedding-3-small" ; Meetings::Note ) ]

显示自定义对话框 [ "余弦相似性" ; CosineSimilarity ( $Input_Embedding ; $Note_Embedding ) ]