ツール

プロンプトテンプレート展開ツール

プロンプトテンプレートの {{変数}} を JSON の値で埋め、モデルが受け取るプロンプトそのものと、足りない変数や使われなかった変数を表示します。

ブラウザ内で実行AI 開発ツール2.5万
無料

入力

0 B

結果

結果はここに表示されます。

実際のアプリケーションのプロンプトはテンプレートです。システムメッセージのあちこちに {{product.name}} や {{history}} があり、リクエスト時にコードが値を埋めます。回答がおかしかったとき、まず知りたいのはモデルが実際に何を受け取ったかです。テンプレートを貼り付け、変数欄に JSON オブジェクトで値を入れると、このツールは promptfoo(promptfoo/promptfoo、MIT)や Mustache 系のあらゆるエンジンと同じようにプロンプトを展開し、埋められなかった変数を一覧にし、結果のトークン数を数えます。本番環境に出す前にテンプレートを試せます。

動作のしくみ

  • {{ name }} や、{{ user.name }}、{{ items.0 }} のようなドット区切りのパスを埋めます。波括弧の内側の空白はあってもなくてもかまいません。
  • 文字列はそのまま挿入され、単純な値のリストは 1 項目 1 行になり、オブジェクトやオブジェクトのリストはインデント付きの JSON として挿入されます。null は空文字列になります。
  • 値のない変数はそのまま残して統計欄に名前を表示し、テンプレートで一度も使われなかった JSON のトップレベルのキーも同様に表示します。
  • Jinja や Nunjucks のロジック、つまり {% if %}、{% for %}、{{ name | upper }} のようなフィルターは「実行されない」ものとして一覧にし、手を加えずに残すので、出力が推測になることはありません。

データの行き先

どこにも行きません。このツールは完全にブラウザ内で動作します。貼り付けたテキストはページが処理し、サーバーに送信されることも、ログに記録されることもありません。

このツールは無料で登録不要です。結果は開いているページの中にだけあり、どこにも保存されません。

必要なポイント

このツールは無料です。ログインもポイントも必要ありません。

よくある質問

どのテンプレート構文に対応していますか?
どのエンジンでも共通の部分、つまりドット区切りのパスを含む二重波括弧の変数です。Mustache、Handlebars、promptfoo、LangChain の mustache 形式、そして単純な Jinja2 や Nunjucks のテンプレートがこれに当てはまります。ループ、条件分岐、フィルター、インクルードは実行しませんが、一覧で報告するので、テンプレートのどの部分に本物のエンジンが必要か分かります。
過去のメッセージや検索結果のリストはどう渡せばよいですか?
変数に JSON 配列を渡してください。文字列の配列は 1 項目 1 行で書き出されるので、チケットのタイトルや検索で取得した文章の一覧に向いています。オブジェクトの配列は整形された JSON で書き出され、モデルも確実に読み取れます。番号付きリストにしたい場合は、文字列に自分で番号を付けてください。
足りない変数を空にせず、出力に残すのはなぜですか?
空欄は目に見えないからです。モデルが「Sign off as .」を受け取っても誰も気づきません。{{agent_name}} が残っていれば、プレビューでもモデルの回答でもすぐに分かり、統計欄にも名前が表示されます。本当に空にしたい場合は、その変数に空文字列を設定してください。

背後にあるオープンソース

このツールは外部ライブラリを同梱しない独自実装です。promptfoo/promptfoo(MIT)はコードとして同じ仕事をします。自分のプログラムで同じことをしたいなら、Web ページを呼ぶのではなくそちらから始めてください。

promptfoo/promptfoo

別の呼び方

  • プロンプト テンプレート
  • プロンプト 変数 埋め込み
  • プロンプトエンジニアリング ツール
  • mustache テンプレート
  • jinja プロンプト
  • prompt template