实用工具

提示词模板填充工具

用 JSON 填充提示词模板里的 {{变量}},看到模型实际收到的完整提示词,以及哪些变量缺失、哪些没用上。

浏览器本地运行AI 开发工具2.5万
免费

输入

0 B

结果

结果会显示在这里。

真实应用里的提示词都是模板:系统消息里这里一个 {{product.name}},那里一个 {{history}},请求时由代码填进去。模型回答不对时,第一个要查的就是它到底收到了什么。把模板粘贴进来,在变量框里以 JSON 对象的形式填好取值,这个工具会按 promptfoo(promptfoo/promptfoo,MIT)以及所有 Mustache 风格引擎的方式渲染出提示词,列出没有被填上的变量,并统计结果的 Token 数,让你在模板上线之前先测一遍。

它是怎么工作的

  • 支持 {{ name }} 以及 {{ user.name }}、{{ items.0 }} 这样的点号路径,大括号里的空格可有可无。
  • 字符串原样插入;由普通值组成的数组每项一行;对象或对象数组以缩进的 JSON 插入;null 替换为空字符串。
  • 没有取值的变量会原样保留并在统计栏中列出名字,JSON 里模板从未用到的顶层键也会列出。
  • Jinja 和 Nunjucks 的逻辑——{% if %}、{% for %} 以及 {{ name | upper }} 这类过滤器——会被标为“未执行”并保持原样,输出绝不靠猜。

你的数据去了哪里

哪也没去。本工具完全在你的浏览器里运行:你粘贴的文本由页面处理,不会传输到任何服务器,也不会写进任何日志。

本工具免费且无需登录,运行结果只存在于你当前的页面里,不会被保存到任何地方。

它要花多少

本工具完全免费,不需要登录,也不消耗积分。

常见问题

支持哪种模板语法?
支持各家引擎的共同部分:带点号路径的双大括号变量。这覆盖了 Mustache、Handlebars、promptfoo、LangChain 的 mustache 格式,以及简单的 Jinja2、Nunjucks 模板。循环、条件、过滤器和 include 不会执行,只会报告出来,让你知道模板的哪些部分需要真正的引擎。
怎么传入历史消息或检索结果这样的列表?
给变量一个 JSON 数组。字符串数组会每项一行输出,适合工单标题或检索到的段落;对象数组会输出为格式化的 JSON,模型读起来也很可靠。需要编号列表的话,请在字符串里自己写好编号。
为什么缺失的变量要保留在输出里,而不是直接置空?
空白是看不见的:模型收到“署名:。”,谁也不会注意到。留下一个 {{agent_name}} 则在预览和模型回答里都一目了然,统计栏也会点名列出。如果你确实想让它为空,把变量设为空字符串即可。

背后的开源项目

本工具是独立实现,并未打包第三方库。promptfoo/promptfoo(MIT)在代码层面做的是同一件事——如果你需要在自己的程序里实现它,从那里开始,而不是调用一个网页。

promptfoo/promptfoo

也常被称作

  • 提示词模板
  • prompt 模板
  • prompt 变量替换
  • 提示词工程工具
  • mustache 模板
  • jinja prompt