配置提示模板

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

选项 

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

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

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

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

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

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

  • RAG 提示是一种文本表达式,用于解释模型应该如何回复发送到 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";模型:“gpt-4o”;提示:“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”;模型:“gpt-4o”;提示:“查找姓名正好是 Alea 的联系人”;获取:以 JSON 返回查找请求;回复目标:Contacts::Response;提示模板名称:“find-exact”]

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

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