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.9k
プロンプトエンジニアリング入門
プロンプトエンジニアリング入門
.NETラボ 勉強会 2024年3月
https://dotnetlab.connpass.com/event/311594/
tomokusaba
March 16, 2024
Tweet
Share
More Decks by tomokusaba
See All by tomokusaba
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
200
.NET Conf 2024の振り返り
tomokusaba
0
240
.NET Conf 2024 .NETラボ 勉強会 2024年12月
tomokusaba
1
30
C#/.NETのこれまでのふりかえり
tomokusaba
1
230
Cloud Adoption Framework にみる組織とクラウド導入戦略
tomokusaba
2
810
Cloud Adoption Frameworkにみる組織とクラウド導入戦略(縮小版)
tomokusaba
1
300
私の考える初学者がBlazorできるまでの学習方法
tomokusaba
1
400
Semantic Kernelの最新状況及び入門
tomokusaba
0
290
Fluent UI Blazor 最新Update
tomokusaba
1
330
Other Decks in Programming
See All in Programming
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
270
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
240
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
200
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
320
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
990
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
290
103 Early Hints
sugi_0000
1
320
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
600
情報漏洩させないための設計
kubotak
5
1.2k
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
3
160
Compose UIテストを使った統合テスト
hiroaki404
0
120
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
260
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Speed Design
sergeychernyshev
25
720
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Raft: Consensus for Rubyists
vanstee
137
6.7k
We Have a Design System, Now What?
morganepeng
51
7.3k
How to Ace a Technical Interview
jacobian
276
23k
Git: the NoSQL Database
bkeepers
PRO
427
64k
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)
おしまい おしまい