0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【0から目指すAIエンジニア】Day5:PromptTemplateの基礎

Posted at

はじめに

こんにちは、慶應義塾大学理工学部機械工学科3年の金賢佑です!
私は東大発AIベンチャーの株式会社2WINSの元でインターンをしています!

これからの記事では自分がインターンを通して最強のAIエンジニアを目指していきます!
第五回はPromptTemplateの基礎を記録しました!

PromptTemplateとは

その名の通り、プロンプトをテンプレート化するためのコンポーネントです!

プロンプトとはLLMに送る指示文のこと!
例えば以下を実行してみてください!

from langchain_core.prompts import PromptTemplate

prompt = PromptTemplate.from_template("""以下の料理のレシピを教えてください

料理名: {dish}""")

prompt_value = prompt.invoke({'dish': 'カレー'})
prompt_value2 = prompt.invoke({'dish': 'ハンバーグ'})

print(prompt_value.text)
print(prompt_value2.text)

上の例では、promptを作成した後にinvokeで変数dishカレーを代入していますね!

実行結果は以下のようになります。

以下の料理のレシピを教えてください

料理名: カレー
以下の料理のレシピを教えてください

料理名: ハンバーグ

人によって教えてほしいレシピは違うものなので、料理名だけが後付けできるのはとても便利ですね!

ChatPromptTemplate

先程のPromptTemplateをChat APIに応用させたものがChatPromptTemplateになります!

例えばあなたがGPTに料理のレシピを聞くことが多いとします。
毎回文章を書くのは少し面倒ですよね....
なので料理名だけ後付けできるテンプレを作成してみましょう!

以下のコードを打ってみてください!

from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate(
    [
        ('system', 'ユーザーが入力した料理のレシピを教えてください。'),
        ('human', '{dish}'),
    ]
)

これでテンプレの完成です!
もしカレーのレシピを聞く文章を作成したいときは以下のようにinvoke()で呼び出してあげればいいだけです!

prompt_value = prompt.invoke({'dish': 'カレー'})
print(prompt_value)

後はこのテンプレをLLMに渡してあげましょう!

from langchain_openai import ChatOpenAI
model = ChatOpenAI(model='gpt-4o', temperature=0)

response = model.invoke(prompt_value)
print(response.content)

実行結果は以下のようになり、ちゃんと知りたいレシピが返ってきましたね!

### 材料
- 鶏もも肉: 300g(一口大に切る)
- 玉ねぎ: 1個(みじん切り)
- にんにく: 2片(みじん切り)
- 生姜: 1片(みじん切り)
- トマト: 1個(角切り)
- カレーパウダー: 大さじ2
- クミンシード: 小さじ1
- コリアンダーパウダー: 小さじ1
- ターメリックパウダー: 小さじ1/2
- ガラムマサラ: 小さじ1
- 塩: 適量
- コショウ: 適量
- サラダ油: 大さじ2
- 水: 200ml
- ヨーグルト: 大さじ2(お好みで)

### 作り方
1. フライパンにサラダ油を熱し、クミンシードを入れて香りが立つまで炒めます。
2. 玉ねぎを加え、透明になるまで炒めます。
3. にんにくと生姜を加え、さらに炒めます。
4. 鶏肉を加え、表面が白くなるまで炒めます。
5. トマトを加え、柔らかくなるまで炒めます。
6. カレーパウダー、コリアンダーパウダー、ターメリックパウダー、ガラムマサラを加え、全体に絡めます。
7. 水を加え、沸騰したら弱火にして蓋をし、15〜20分煮込みます。
8. 塩とコショウで味を調えます。
9. お好みでヨーグルトを加え、さらに数分煮込みます。
10. ご飯やナンと一緒にお召し上がりください。

このレシピは基本的なものなので、野菜や豆類を加えてアレンジすることもできます。お好みのスパイスを追加して、自分だけのカレーを作ってみてください。

まとめ

今回はPromptTemplateを使ってテンプレートの作成を行いました!
次回はOutput parserを使ってみたいと思います!

お疲れ様でした!

参考文献

LangChainとLangGraphによるRAG・AIエージェント〈実践〉入門/西見公宏/吉田真吾/大嶋勇樹

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?