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
プロンプトエンジニアリング入門
Search
tomokusaba
March 16, 2024
Programming
3
1.8k
プロンプトエンジニアリング入門
プロンプトエンジニアリング入門
.NETラボ 勉強会 2024年3月
https://dotnetlab.connpass.com/event/311594/
tomokusaba
March 16, 2024
Tweet
Share
More Decks by tomokusaba
See All by tomokusaba
.NET Conf 2024の振り返り
tomokusaba
0
74
.NET Conf 2024 .NETラボ 勉強会 2024年12月
tomokusaba
1
17
C#/.NETのこれまでのふりかえり
tomokusaba
1
190
Cloud Adoption Framework にみる組織とクラウド導入戦略
tomokusaba
2
740
Cloud Adoption Frameworkにみる組織とクラウド導入戦略(縮小版)
tomokusaba
1
270
私の考える初学者がBlazorできるまでの学習方法
tomokusaba
1
360
Semantic Kernelの最新状況及び入門
tomokusaba
0
240
Fluent UI Blazor 最新Update
tomokusaba
1
290
アクセシビリティの観点からみたFluent UI Blazorのすすめ
tomokusaba
1
350
Other Decks in Programming
See All in Programming
Missing parts when designing and implementing Android UI
ericksli
0
190
みんなでプロポーザルを書いてみた
yuriko1211
0
280
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
260
Jakarta EE meets AI
ivargrimstad
0
250
Arm移行タイムアタック
qnighy
0
350
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
距離関数を極める! / SESSIONS 2024
gam0022
0
300
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
360
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
200
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
120
RubyLSPのマルチバイト文字対応
notfounds
0
120
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Automating Front-end Workflow
addyosmani
1366
200k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Side Projects
sachag
452
42k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Thoughts on Productivity
jonyablonski
67
4.3k
The Invisible Side of Design
smashingmag
298
50k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Facilitating Awesome Meetings
lara
50
6.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Transcript
プロンプトエンジニアリング 入門 株式会社SAKURUG プロダクトDiv 草場 友光 .NETラボ勉強会2024年3月
自己紹介 • 普段は主にシステムをAzureにモダナ イズする仕事をしています。 • コミュニティ活動を通じて知識をアッ プデートしています。 • 2022/08-2024 Microsoft
MVP (Developer Technologies) • tomo_kusaba
宣伝 【VISION】ひとの可能性を開花させる企業であり続ける VISIONに共感できる仲間募集中。
注意 • 個人の見解・解釈が多分に入っています。 • 見解の相違・事実誤認などありましたらご指摘ください。 • #dotnetlabでtweetすると左側に表示されます
今日の目的 • 生成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ガイドラインの枠組みにおいて一般 的に「幻覚」とか「ハルシネーション」と表現される用語について 「ねつ造」という用語を強く推奨しています。 • 機械が生み出した回答に対して人間の特性を誤って当てはめる擬 人化を避けるためで、これによって不快におもう方への配慮です。
演習のためのリポジトリ • https://github.com/tomokusaba/dotnetlab202403
LLMに向かない質問①-1 例)2024年現在の大谷翔平の所属チームを教えてください。 学習データにないので通常 のGPT-35-Turboだとね つ造された回答がされる。 Bingによって最 新のデータをRAG で取り込まれた Copilotなら正確 な回答がされる。
LLMに向かない質問①-2 • システムメッセージにアウトメッセージを設定する 質問文にだしたメッセージに対してうまく答えられない場合にた いして逃げ道を与える指示を出してあげる。
LLMに向かない質問② 例)98765の平方根を求めてください。 数値計算ならコードで書いた方がよい。
LLMに向かない質問③ • LLMはアクションを実行することができません。 アクションを実行したい場合、Semantic KernelのPluginなど を利用してください。
基本的なプロンプトー情報抽出 次の文章から名前と所属と受賞歴を抽出してく ださい。 では簡単に自己紹介をしたいと思います。私は 草場友光と言います。主にシステムのモダナイの 業務をしておりこうした登壇活動によって知識の アップデートをしています。 所属は株式会社SAKURUGというところで渋谷 に本社があり、最近では和歌山の白浜や仙台、福 岡という場所にもオフィスがあります。
2022年8月にMicrosoft MVPを Developer Technologiesの分野で受賞し ました。今後もよろしくお願いします。
キューを含むプロンプト • キューとは期待する回答フォーマットの一部をプロンプトに含めて モデルを正しい方向に誘導します。 • モデルはそのキューを受け取ってその文章の流れに沿って続けま す。
フューショットプロンプト 衣笠祥雄:広島東洋カープ 佐々木主浩:横浜ベイスターズ 掛布雅之:阪神タイガース 長嶋茂雄: フューショットプロンプトを用いない場合 余計な出力がされる
サポートコンテンツ • プロンプトの内容は以下のように分類できると考えられます。 • 指示:なにをするのか? • 主要コンテンツ:指示をする内容 • セカンダリコンテンツ:何らかの形で出力に影響を与える追加情報 •
分類の例 • 指示:次の文章から名前と所属と受賞歴を抽出してください。 • 主要コンテンツ:文章の内容(長いので割愛) • セカンダリ:JSON形式にしてください。
Chain of thought • LLMはタスクを小さなステップに分割し世界に関する知識と推論 能力を使用します。
Temperature • 0から1までの範囲があり0が最も決定的で、1が最も多様性があ ります。 • Temperature=0
Temperature • Temperature=1
参考文献 • 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)
おしまい おしまい