Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Azure OpenAI Serviceのプロンプトエンジニアリング入門
Search
tomokusaba
April 18, 2024
Programming
3
1.9k
Azure OpenAI Serviceのプロンプトエンジニアリング入門
Azure OpenAI Serviceのプロンプトエンジニアリング入門
Global Azure 2024
https://jazug.connpass.com/event/311408/
tomokusaba
April 18, 2024
Tweet
Share
More Decks by tomokusaba
See All by tomokusaba
速報Visual Studio 2026(Insiders)
tomokusaba
0
38
Cloud Adoption Framework(導入戦略)
tomokusaba
0
27
.NET開発者のためのAzureの概要
tomokusaba
0
250
薬屋のひとりごとにみるトラブルシューティング
tomokusaba
0
470
Cloud Adoption Framework入門
tomokusaba
1
38
GitHub Copilot の概要
tomokusaba
1
180
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
550
Azure AI Foundry Agent Serviceを使用してコードファースト アプリを構築する
tomokusaba
1
340
Part1 GitHubってなんだろう?その1
tomokusaba
3
1k
Other Decks in Programming
See All in Programming
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
270
OSS開発者という働き方
andpad
5
1.7k
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
860
🔨 小さなビルドシステムを作る
momeemt
4
680
今から始めるClaude Code入門〜AIコーディングエージェントの歴史と導入〜
nokomoro3
0
180
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
310
testingを眺める
matumoto
1
140
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
160
Kiroで始めるAI-DLC
kaonash
2
590
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
450
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
310
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
440
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
330
21k
Six Lessons from altMBA
skipperchong
28
4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
GraphQLとの向き合い方2022年版
quramy
49
14k
Into the Great Unknown - MozCon
thekraken
40
2k
Designing for humans not robots
tammielis
253
25k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Balancing Empowerment & Direction
lara
3
620
Music & Morning Musume
bryan
46
6.8k
Transcript
Azure OpenAI Serviceの プロンプトエンジニアリング入門 株式会社SAKURUG プロダクトDiv 草場 友光 Global Azure
2024
自己紹介 • 普段は主にシステムをAzureにモダナ イズする仕事をしています。 • コミュニティ活動を通じて知識をアッ プデートしています。 • 2022/08-2024 Microsoft
MVP (Developer Technologies) • tomo_kusaba
宣伝 【VISION】ひとの可能性を開花させる企業であり続ける VISIONに共感できる仲間募集中。
注意 • 個人の見解・解釈が多分に入っています。 • 見解の相違・事実誤認などありましたらご指摘ください。
今日の目的 • 生成AIを使う上で出力を改善する第一歩はプロンプトを改善する ことです。 • 本日はプロンプトを改善してよりよい出力を得るための技法を学 んでいきたいと思います。 • Azure OpenAI
Serviceのプレイグラウンドが使用可能な方は 一緒にやってみるとより理解が深まると思います。 • (参考) https://github.com/microsoft/generative-ai- for-beginners/tree/main/translations/ja-jp
プロンプトエンジニアリングとは? • 目的に合わせた初期プロンプトを「設計する」 • 回答品質を上げるために、反復・試行錯誤して「改善する」 • プロンプトエンジニアリングは机上で練り上げるのではなく実際 にLLMに質問を投げかけて何回も試行錯誤して最良のものを得 ていくことが重要
プロンプトエンジニアリングの必要性 • モデルの回答は確率的な性質を持っています。 たとえ、同じプロンプトだとしても実行するたびに異なる結果を得る場合があります。プロン プトエンジニアリングの手法でこのばらつきを軽減するのに役立ちます。 • モデルは回答をねつ造することがあります。 モデルは有限のデータで事前トレーニングされています。その結果、架空あるいは事実と異 なる回答を出力することがあります。 •
モデルの能力は異なります。 新しいモデルや新世代のモデルはより高度な機能を持つことが知られています。例えば、 GPT-35-TurboよりGPT-4の方がより精度の高い回答を得られる可能性があります。
ねつ造について • Microsoftでは責任あるAIガイドラインの枠組みにおいて一般 的に「幻覚」とか「ハルシネーション」と表現される用語について 「ねつ造」という用語を強く推奨しています。 • 機械が生み出した回答に対して人間の特性を誤って当てはめる擬 人化を避けるためで、これによって不快におもう方への配慮です。
生成AIの出力結果を改善する方法 プロンプトエンジニアリング Retrieval Augmented Generation(RAG) 知識拡張 ファインチューニング モデルトレーニング 簡単かつ安い 難しいかつ高い
プロンプトエンジニアリング Retrieval Augmented Generation(RAG) 知識拡張 ファインチューニング モデルトレーニング 高品質
演習のためのリポジトリ • https://github.com/tomokusaba/GlobalAzure2024
生成AIの活用方法① ー 指示 • 文章の要約 • 文章の翻訳 • 非構造化データからの整形 •
JSONで出力など
生成AIの活用方法② ー 質問 • 会話形式でAIの持っている知識を尋ねる
生成AIの活用方法③ ー プログラムコー ド • プログラムに関する説明やコード生成、コードの説明を求めるな ど
LLMに向かない質問①-1 例)今年のセリーグの優勝チームを教えてください 学習データにないので通常のGPT- 35-Turboだとねつ造された回答 がされる。 実際には2021年の優勝チームはヤ クルトスワローズです。(残念) Bingによって最 新のデータをRAG で取り込まれた
Copilotなら正確 な回答がされる。
LLMに向かない質問①-2 • システムメッセージにアウトメッセージを設定する 質問文にだしたメッセージに対してうまく答えられない場合にた いして逃げ道を与える指示を出してあげる。
LLMに向かない質問② 例)98765の平方根を求めてください。 数値計算ならコードで書いた方がよい。
LLMに向かない質問③ • LLMはアクションを実行することができません。 アクションを実行したい場合、Semantic KernelのPluginなど を利用してください。
明確な構文を追加する • プロンプトに明確な構文を(句読点、見出し、セクションマーカー) をしようするとよい • 異なる情報ソースの区切りに「---」を使うことができる。 • 使用する構文が分からない場合マークダウンまたはXMLを使う とAzure OpenAI
Serviceはいい感じに解釈してくれる可能 性が高い。 • 学習に大量のWebコンテンツが使用されているため
基本的なプロンプトー情報抽出 次の文章から名前と所属と受賞歴を抽出してく ださい。 --- では簡単に自己紹介をしたいと思います。私は 草場友光と言います。主にシステムのモダナイの 業務をしておりこうした登壇活動によって知識の アップデートをしています。 所属は株式会社SAKURUGというところで渋谷 に本社があり、最近では和歌山の白浜や仙台、福
岡という場所にもオフィスがあります。 2022年8月にMicrosoft MVPを Developer Technologiesの分野で受賞し ました。今後もよろしくお願いします。
キューを含むプロンプト • キューとは期待する回答フォーマットの一部をプロンプトに含めて モデルを正しい方向に誘導します。 • モデルはそのキューを受け取ってその文章の流れに沿って続けま す。
フューショットプロンプト EC2:AWS Cloud Run:Google Cloud Autonomous Database:OCI App Service: フューショットプロンプトを用いない場合
余計な出力がされる
サポートコンテンツ • プロンプトの内容は以下のように分類できると考えられます。 • 指示:なにをするのか? • 主要コンテンツ:指示をする内容 • セカンダリコンテンツ:何らかの形で出力に影響を与える追加情報 •
分類の例 • 指示:次の文章から名前と所属と受賞歴を抽出してください。 • 主要コンテンツ:文章の内容(長いので割愛) • セカンダリ:JSON形式にしてください。
Chain of thought • LLMはタスクを小さなステップに分割し世界に関する知識と推論 能力を使用します。
Chain of thought
Temperature • 0から1までの範囲があり0が最も決定的で、1が最も多様性があ ります。 • Temperature=0
Temperature • Temperature=1
ベストプラクティス • プロンプトを具体的に書く! • プロンプトに例示を含める! • 生成AIと繰り返し対話する! • プロンプトの順序も重要! •
モデルにOUT指定をする!
参考文献 • generative ai for beginners https://github.com/microsoft/generative-ai-for- beginners/tree/main/translations/ja-jp • Azure
OpenAI ServiceではじめるChatGPT/LLMシステム 構築入門(ドーナツ本) (ISBN:978-4-297-13929-2)
おしまい おしまい