配置提示模板

设置一个提示模板,在其他 AI 脚本步骤中按名称使用,给定模型提供程序和您可以自定义的预定义提示。

选项 

仅当“模板类型”为“SQL 查询”时选项可用:

  • SQL 提示是一种文本表达式,用于定义模型应该如何构建 SQL 查询。

  • 自然语言提示是一种文本表达式,用于解释模型应该如何提供回复。

仅当“模板类型”为“查找请求”时选项才可用:

  • 查找请求提示是一种文本表达式,用于定义模型应该如何构建查找请求。预定义的提示包括查找请求的 JSON 格式(与 FileMaker Data API 使用的相同)、日期和时间格式及其他规则。

仅当“模板类型”为“RAG 提示”时选项才可用:

  • RAG 提示是一种文本表达式,用于解释模型应如何响应发送到 Claris AI 模型服务器上 RAG 空间的提示。

兼容性 

产品 是否支持
FileMaker Pro 是
FileMaker Go 是
FileMaker WebDirect 是
FileMaker Server 是
FileMaker Cloud 是
FileMaker Data API 是
自定义 Web 发布 是

原始版本 

22.0

说明 

此脚本步骤设置了一个提示模板,您可以在可以使用提示模板的 AI 脚本步骤中按名称引用该模板。当其他 AI 脚本步骤中没有指定提示模板时,此脚本步骤中的预定义提示与其他 AI 脚本步骤中使用的提示相同。提示模板允许您执行提示工程,为不同的模型提供程序和用例自定义提示的结构和格式,并在您的 AI 脚本中提供更一致的行为。

提示模板的工作方式是定义包含模板常量的可重复使用的提示结构 - 当模板在 AI 脚本步骤之一中使用模板时,在运行时动态替换为实际值的占位符。在特定模板中使用的可用常量取决于“模板类型”:

常量 替换为 在提示中

:schema:

指定表的数据定义语言 (DDL) 格式的数据库架构。

SQL 提示
自然语言提示
查找请求提示

:question:

用户的自然语言问题或提示。

SQL 提示
自然语言提示
查找请求提示
RAG 提示

:context:

脚本步骤的“参数”选项中 context_prompt 键指定的上下文信息。例如,“参数”选项可以是一个表达式,告诉模型如何使用系统日期格式中的今天的日期来处理对“今天”的引用:

"{ \"context_prompt\": \"将'今天'视为" & Get(当前日期) & "\"}"

查找请求提示
RAG 提示

:sql_query:

模型生成的 SQL 查询。

自然语言提示

:sql_results:

执行 SQL 查询返回的结果。

自然语言提示

:date_format:

系统日期格式。在提示中很有用,说明模型应该使用的日期格式。

查找请求提示

当 AI 脚本步骤使用模板时,脚本步骤会根据当前上下文和正在执行的操作用适当的值替换常量。

运行此脚本步骤时,提示模板仅在当前 FileMaker 客户端会话期间对当前文件中的脚本可用。

注释 

  • 如果已存在具有指定名称的提示模板,则此脚本步骤将它替换为新配置。

  • 提示模板名称区分大小写。“MyTemplate”和“mytemplate”被视为不同的模板。

  • 如果 AI 脚本步骤引用了不存在的提示模板名称,则会返回“未找到请求的模板。”错误消息。

  • 如果 AI 脚本步骤使用与 AI 账户中指定的模型提供商不同的模型提供商配置的提示模板,则会返回一个错误,表明模型提供商不匹配。

  • 不适用于当前操作的提示模板常量在提示文本中保持不变。

示例 1 

配置 AI 账户,然后配置一个提示模板,以说明模型在引用“通过自然语言执行 SQL 查询”脚本步骤时应如何呈现其自然语言回复。查询询问有关“联系人”表中的数据的问题,其中包含“姓名”和“公司”字段中的数据。

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

配置提示模板 [模板名称:"whimsical";模型提供商:OpenAI;模板类型:SQL 查询;自然语言提示:“答案应以纯文本返回,而不是 JSON。¶ 用轻松、异想天开的语气回复。”]

转到布局[“联系人”(联系人);动画:无 ]

通过自然语言执行 SQL 查询[账户名称:"my-account";模型:Global::ModelName;提示:“Alea 在哪家公司工作?”; 指定的选项:来自列表;操作:查询;数据表:来自列表;表...;流;提示模板名称: "whimsical" ;  响应目标:Contacts::Response ]

可能的响应存储在“Contacts::Response”字段中:

这位备受瞩目的杰出人士 Alea,就职于大名鼎鼎的 Acme Anvils!

示例 2 

配置 AI 账户,然后配置一个提示模板,其中包含有关如何在“通过自然语言执行查找”脚本步骤引用时如何在查找请求中找到完全匹配的额外信息。在“查找请求提示”的预定义值中添加一个规则,说明如何使用 == 为整个字段指定完全匹配(为简洁起见,省略了预定义提示的第一部分)。“通过自然语言执行查找”脚本步骤中的提示要求完全匹配,并在响应字段中以 JSON 返回查找请求。

复制
配置 AI 账户[账户名称:“my-account”;模型提供商:OpenAI;API 密钥:Global::API_Key ]

配置提示模板 [模板名称:"find-exact";模型提供商:OpenAI;模板类型:查找请求;查找请求提示:“...10。要查找与整个 fieldX 值完全匹配的项目,请使用以下格式:{ \"fieldX\": \"==\" }"  ]

转到布局[“联系人”(联系人);动画:无 ]

通过自然语言执行查找 [账户名称:“my-account”;模型:Global::ModelName;提示:“查找姓名正好是 Alea 的联系人”;获取:以 JSON 返回查找请求;响应目标:Contacts::Response;提示模板名称:“find-exact”]

在“响应”字段中返回可能的查找请求:

复制
{"布局":"联系人","查询":[{"Contacts::Name":"==Alea"}],"排序":[]}