この記事は上記勉強会の資料です。
↑上記記事を参考にサービスアカウントの設定をしてください。
※ Google Cloudの無料期間が終了していると、課金されますが、ハンズオンの内容だけだと数百円もいかないと考えています。
料金は確実には言えないので、Google Cloudはご自身の責任でご使用ください。
↑今回のサンプルコード
git clone https://github.com/shu-kob/prompt_engineering cd prompt_engineering
pip install vertexai
LangChainを使わずVertex AIのライブラリを使用
シンプルなVertex AIでGeminiを実行
project_id = "PROJECT_ID" # 書き換える
実行
python3 generate_content.py
response = model.generate_content( "プロンプトエンジニアリングとは" )
プロンプトを変更して実行してみましょう。
Zero Shot プロンプティング
project_id = "PROJECT_ID" # 書き換える
実行
python3 zero_shot_prompting.py
prompt = """ 以下はニュース記事のタイトルです。「政治」「経済」「芸能」「スポーツ」「科学」「その他」のうち1つに分類してください。 回答だけ一言で出力してください =========================== 紅白出場歌手の選考基準 NHK公開 """
プロンプトを変更して実行してみましょう。
Few Shot プロンプティング
project_id = "PROJECT_ID" # 書き換える
実行
python3 few_shot_prompting.py
prompt = """ 以下はニュース記事のタイトルです。「政治」「経済」「芸能」「スポーツ」「科学」「その他」のうち1つに分類してください。 回答だけ一言で出力してください =========================== 「紅白出場歌手の選考基準 NHK公開」 =========================== 以下は例です 「G20 バイデン氏不在で集合写真」:政治 「岡田将生&高畑充希結婚 SNS反応」:芸能 """
プロンプトを変更して実行してみましょう。
LangChainを使用
langchain_google_vertexai を使用
pip install langchain_google_vertexai
python3 invoke.py
messages = [ ("human", "ネコの鳴き真似をしてください。"), ]
プロンプトを変更して実行してみましょう。
PromptTemplateを使用
pip install langchain_core pip install pydantic==2.9.0
実行
python3 prompt_template.py
template = """質問: {question} ステップバイステップで考えてください。""" question = """ 10 + 2 * 3 - 4 * 2 """
プロンプトテンプレートやQuestionを変更して実行してみましょう。
ChatPromptTemplateを使用
実行
python3 chat_prompt_template.py
prompt_template = ChatPromptTemplate.from_messages([ ("system", "ステップバイステップで考えてください。"), ("human", "{question}"), ]) question = """ 10 + 2 * 3 - 4 * 2 """
システムプロンプトやQuestionを変更して実行してみましょう。