💻 プロンプティングTips
フォーマットを自在に変換できる
Template Prompt
Template Prompt(テンプレート・プロンプト)は、大規模言語モデルの出力を正確に希望の形式にコントロールするための強力なプロンプトです。
このプロンプトでは、モデルにテンプレートを提供し、そのテンプレートに沿って出力するよう指示します。テンプレートにはプレースホルダーを設け、モデルにそれを埋めるよう指示します。
例えば、次のようなプロンプトです。
プロンプト例
テンプレート:
論文タイトル: TITLE_PLACEHOLDER
著者: AUTHOR_PLACEHOLDER
概要:
SUMMARY_PLACEHOLDER
ーーー
論文情報:
A Neural Probabilistic Language Model
Yoshua Bengio, Réjean Ducharme, Pascal Vincent
This paper presents a neural network architecture for statistical language modeling. A learning algorithm is developed for sequentially organizing neurons into a layered hierarchical structure. This provides a significant improvement in generalization performance over the maximum entropy model and the standard back-propagation algorithm on a difficult task of predicting the next word in natural language text.
以上の情報を用いて、論文のタイトル、著者、概要を記入してください。
このプロンプトでは、最初に「テンプレート」として、3つの項目(論文タイトル、著者、概要)を設定しています。
その後に、整形されていない情報を与えて、各プレースホルダー(上のプロンプト例では、*******_PLACEHOLDER)を埋めるように指示します。
するとGPTは、与えられた情報を分析して、それぞれのプレースホルダーに該当する情報を抽出し、指定したテンプレートに沿って情報を出力します。
回答例(GPT-4)
論文タイトル: A Neural Probabilistic Language Model
著者: Yoshua Bengio, Réjean Ducharme, Pascal Vincent
概要:
This paper presents a neural network architecture for statistical language modeling. A learning algorithm is developed for sequentially organizing neurons into a layered hierarchical structure. This provides a significant improvement in generalization performance over the maximum entropy model and the standard back-propagation algorithm on a difficult task of predicting the next word in natural language text.
つまり、テンプレート・プロンプトは、整形されていない生の情報・データを、意図するフォーマットに自在に変換するためのプロンプトパターン、と言えます。
もう少し実務的な例をテストしてみますね。
プロンプト例
テンプレート:
顧客ID: CUSTOMER_ID_PLACEHOLDER
氏名: NAME_PLACEHOLDER
住所: ADDRESS_PLACEHOLDER
電話番号: PHONE_NUMBER_PLACEHOLDER
不整形式顧客データ:
ID:1234, 氏名: 田中太郎, 住所: 東京都千代田区○丁目1-2 電話:03-1234-5678
ID:2345,氏名:山田花子 住所:大阪府大阪市△区□丁目5-6, 電話:06-8765-4321
以上のデータを使用し、整形式の顧客データを生成してください。
よく見ていただくと、不整形式顧客データの二人分のデータはフォーマットがバラバラです。
田中さんの方は、ID番号の後にカンマ+スペースですが、山田さんはカンマのみでスペースはありません。
また名前の後のカンマも、田中さんにはありますが、山田さんにはありません。
このような不整形式情報を、こちらが意図するフォーマット(テンプレート)に変換する時に非常に役に立ちます。
では、実際の出力を見てみましょう。
回答例(GPT-4)
顧客ID: 1234
氏名: 田中太郎
住所: 東京都千代田区○丁目1-2
電話番号: 03-1234-5678
顧客ID: 2345
氏名: 山田花子
住所: 大阪府大阪市△区□丁目5-6
電話番号: 06-8765-4321
いかがですか?
GPTが不整形式データから、顧客ID、氏名、住所、電話番号を正しく抽出し、それを、与えられたテンプレートに沿って出力しました。
これを、Advanced Data Analysis(旧Code interpreter)のファイル読み込み・出力機能と連動させると、不整形式データの入力されたテキストファイルやCSVファイルを読み込ませて、テンプレートに沿って整形されたデータをCSVファイルとして出力する、というファイル変換も可能になります。
実際に、上の例を使ってファイルを変換した結果を、ChatGPTスレッドで共有します。以下のリンクからご覧ください。
👉ChatGPTの共有リンク:テンプレートプロンプトによるフォーマット変換(ファイル読み込み&出力)
テストで用いた読み込みTXTファイルはコチラ👉
テストで出力されたCSVファイルはコチラ👉
Quick Tip: テストプロンプトを見ていただくと分かるように、Advanced Data Analysisでテキスト(CSV)ファイルを出力する時に、”(UTF-8 with BOMエンコード)”と指定すると、出力された日本語が文字化けしにくくなります。
テンプレートプロンプト、いかがでしたか?
テンプレートは情報を整理するだけでなく、太字にしたり、表形式を指定することもできます。
最後に紹介したファイル操作は、日々の実務を高効率化してくれると思います。
ぜひ試してみてくださいね。