Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
チャット履歴と質問を組み合わせLLMの回答精度を高めるLangChain Conversati...
Search
西岡 賢一郎 (Kenichiro Nishioka)
December 29, 2023
Technology
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
チャット履歴と質問を組み合わせLLMの回答精度を高めるLangChain Conversational Retrieval QA
機械学習の社会実装勉強会第30回 (
https://machine-learning-workshop.connpass.com/event/305446/
) の発表資料です。
西岡 賢一郎 (Kenichiro Nishioka)
December 29, 2023
More Decks by 西岡 賢一郎 (Kenichiro Nishioka)
See All by 西岡 賢一郎 (Kenichiro Nishioka)
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
120
AIエージェントを雇う前に決める5つのこと
knishioka
1
200
顧客に説明できる、 安全なAIの使い方 - 会計士・税理士向けAI活用勉強会 第2回
knishioka
0
120
ローカルLLM、実際どこまで使えるか
knishioka
0
100
会計士・税理士向け AI活用勉強会第1回
knishioka
0
140
権限は渡さない、操作だけ切り出す ― 自前MCPサーバー実践入門
knishioka
0
110
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
320
データサイエンスの現場から学ぶ 成功と失敗の実像と生成AI時代の展望
knishioka
0
130
ハーネスエンジニアリング入門
knishioka
0
950
Other Decks in Technology
See All in Technology
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
190
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
120
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
120
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
290
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
160
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
230
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
740
価値について
gree_tech
PRO
0
100
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
210
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
300
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
350
ウォンテッドリーの最近のプロダクトと技術の紹介
stomk
0
130
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Everyday Curiosity
cassininazir
0
360
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Making the Leap to Tech Lead
cromwellryan
135
10k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
チャット履歴と質問を組み合わせLLMの回答精度を高める LangChain Conversational Retrieval QA 2023/12/30 第30回勉強会
自己紹介 • 名前: 西岡 賢一郎 ◦ Twitter: @ken_nishi ◦ note:
西岡賢一郎@研究者から経営者へ (https://note.com/kenichiro) ◦ YouTube: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル (https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg) • 経歴 ◦ 東京大学で位置予測アルゴリズムを研究し博士 (学術) を取得 ◦ 東京大学の博士課程在学中にデータサイエンスをもとにしたサービスを提供する株式会社ト ライディアを設立 ◦ トライディアを別のIT会社に売却し、CTOとして3年半務め、2021年10月末にCTOを退職 ◦ CDPのスタートアップ (Sr. PdM)・株式会社データインフォームド (CEO)・株式会社ディース タッツ (CTO) ◦ 自社および他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験
本日のお話 • RAG (Retrieval Augmented Generation) • チャット履歴を考慮したRAG • デモ
RAG (Retrieval Augmented Generation)
RAG(Retrieval Augmented Generation)のアーキテクチャ • 質問に関連した外部リソースをLLMに連携し、LLMの回答の精度を高める手法 • 外部リソースのデータ検索のプロセス ◦ RAGでは、入力されたプロンプトに基づいてデータを検索し、その結果をLLMに組み込んで回答を生 成
◦ 検索サーバの設置が必要。 • 検索方式の多様性 ◦ RAGでは、キーワード検索とセマンティック検索(ベクターサーチ)の両方が利用される。 ◦ セマンティック検索では、入力されたプロンプトをベクトルに変換し、関連するデータを検索。今回 はこちらを利用。 • 文章の分割とサマリ ◦ LLMの入力制限に対応するため、データは適切に分割され、必要に応じてサマリされる。 ◦ これにより、ベクトル内の情報が適切に反映されるように管理される。 • Vector Databaseの役割 ◦ RAGのセマンティック検索には、Vector Databaseが重要。これにより、プロンプトに関連するデー タを効率的に検索が可能になる。
Vector Databaseとは • Vector Databaseは、ベクトル埋め込みを効率的に保存・管理する特殊なデータ ベース。 • AIアプリケーション、特に大規模言語モデル(LLM)にとって、長期記憶や高速検 索・クエリ能力を提供。 •
ベクトル (テキスト) 埋め込み(Vector Embedding) ◦ ベクトル埋め込みは、オブジェクトが数値のリストに変換され、非構造化データを検索可能にする。 ◦ 機械学習アルゴリズムを使用して、複雑なデータを低次元のベクトル空間に表現。 • 最近傍探索(Nearest Neighbour Search) ◦ ベクトル間の距離は類似性を表し、最も類似したデータを探す「最近傍探索」が重要な概念。 ◦ 最近傍を迅速に見つける能力が、Vector Databaseの価値となる。 • Vector Databaseの必要性 ◦ 伝統的なデータベースにベクター拡張を追加することも可能だが、、特化型Vector Databaseが必要 という議論もある。
RAGのアーキテクチャ: インデックス作成 • RAGを実現するためには、手元にある文書をベクトル化して、Vector Databaseに保存する。 • 「文書を読み込む」→ 「文書を分割する」→「分割された文書をベクトル 化」→「ベクトル化された文書と文書情報をVectore Storeに保存」
RAGのアーキテクチャ: LLMのプロンプト作成 • ユーザの質問に関連した文書をプロンプトに埋め込み、LLMに答えさせられ るようにする。 • 「ユーザの質問をベクトル化」→「Vectore Databaseで関連文書を抽出」→ 「抽出された文書をPromptに埋め込む」 •
質問と回答がベクトル空間上で近いことを前提としている
単純なRAGでうまくいかない例 質問と近い文書を検索し、プロンプトに組み込むだけではうまくいかない場合も多くある。 • 抽象的な質問と具体的な回答 ◦ 質問: 幸せとは何ですか? ◦ 抽出される文書: 幸福の心理学:幸せを感じるための要因と方法
◦ 幸福に関する心理学的な視点を提供するかもしれないが、質問の抽象的な性質に直接的な答えを与えるものではない • 因果関係の質問と統計的な回答 ◦ 質問: なぜ日本の人口は減少しているのですか? ◦ 抽出される文書: 日本の人口動態:出生率と死亡率の統計データ ◦ 日本の人口動態に関する統計情報を提供するかもしれないが、人口減少の社会的、経済的な原因については詳しく説明していない可能性がある • 比喩的な質問と文字通りの回答 ◦ 質問: 心が重いとはどういう感じですか? ◦ 抽出される文書: うつ病とその症状:心理的な重圧感の理解 ◦ うつ病や関連する心理的な症状について説明しているかもしれないが、比喩的な「心が重い」という表現の感覚的な側面には触れていないかもしれない • 広範な質問と特定の回答 ◦ 質問: 科学とは何ですか? ◦ 抽出される文書: 現代科学の基礎:科学的方法とその歴史 ◦ 科学の基本的な原則や歴史について説明しているかもしれないが、質問の広範な性質に対して特定の側面のみを照らし出しいる 質問からLLMに仮の答えを作らせて、その答えから文書を検索するHypothetical Document Embeddings (HyDE) という手法もある。 そもそもLLMがうまく回答できる良い質問を作ること自体が難しい
チャット履歴を考慮したRAG
フォローアップクエスチョンの重要性 • そもそも、質問が常に完全な情報を提供するわけではない。 • 会話の中で出てくるフォローアップクエスチョンは、より深い理解と具体的な回答を導く 鍵となる。 • フォローアップクエスチョンが必要となる例 ◦ 初期質問とAIの回答
▪ ユーザーの質問: 「気候変動は経済にどのような影響を与えるか?」 ▪ AIの回答: 「気候変動は、農業、エネルギー、保険業界など多くの経済セクターに影響を与えます。特 に、気候変動による極端な気象は農作物の生産に影響を及ぼし、エネルギー需要の変動を引き起こす可 能性があります。」 ◦ ユーザーのフォローアップ質問 ▪ フォローアップ質問: 「特に再生可能エネルギーの市場における気候変動の影響について詳しく教えて ください。」 ▪ 目的: AIの一般的な回答から、ユーザーは特定の関心領域(再生可能エネルギー市場)に焦点を絞る。 • RAGシステム内で、過去の会話を考慮し、フォローアップクエスチョンに対応することが 重要
会話を考慮する vs 会話を考慮しない 会話を考慮したAIへの質問例 • ユーザー: こんばんは、今夜のディナーに何かおすすめのレシピは ありますか? • サービス:
もちろんです。お好みの料理の種類はありますか?例え ば、和食、洋食、中華など。 • ユーザー: 和食がいいですね。 • サービス: [データベース検索: 和食レシピ] では、「鮭の味噌焼 き」と「きのこの和風パスタ」はいかがでしょうか? • ユーザー: 鮭の味噌焼きに興味があります。どのように作るんです か? • サービス: [データベース検索: 鮭の味噌焼きレシピ] 鮭の切り身に 味噌ベースのタレを塗り、オーブンで焼くだけです。具体的なレシ ピをお送りしますね。 • ユーザー: ありがとうございます。それに合うサイドディッシュは ありますか? • サービス: [データベース検索: 和食サイドディッシュ] 「ほうれん 草の胡麻和え」や「だし巻き卵」はいかがでしょうか?どちらも和 食の主菜によく合います。 • ユーザー: ほうれん草の胡麻和えを作ってみます。レシピを教えて ください。 • サービス: [データベース検索: ほうれん草の胡麻和えレシピ] ほう れん草を茹でて、すりごまと醤油、砂糖で和えるだけです。詳しい 手順を送りますね。 会話を考慮しないAIへの質問例 • ユーザー: 「和食のレシピを教えてください。」 • AIは和食のレシピを提案しますが、これが初めての質 問であると解釈します。 • ユーザー: 「鮭の味噌焼きの作り方を教えてくださ い。」 • AIは「鮭の味噌焼き」のレシピを提供しますが、これ が新しい、独立した質問であると解釈します。 • ユーザー: 「和食に合うサイドディッシュは何です か?」 • AIは和食に合うサイドディッシュを提案しますが、こ れが新しい質問であると解釈します。 • ユーザー: 「ほうれん草の胡麻和えのレシピを教えて ください。」 • AIは「ほうれん草の胡麻和え」のレシピを提供します が、これも新しい、独立した質問であると解釈しま す。 LLMが会話を考慮できないと、独立した質問に毎回必要な情報を埋め込む必要がある
会話を考慮したRAG • 過去の会話とフォローアップクエスチョンから、新しい質問をLLMに生成させ関連文書を 検索する • フォローアップクエスチョン単体で抜け落ちてしまう情報をチャット履歴から抽出が可能
デモ • デモの内容 ◦ RetrievalQAの復習 ◦ Conversational Retrieval Chain ▪
チャット履歴とフォローアップクエスチョンで新しい質問を生成 ▪ 質問生成などで使われるプロンプトを変更 ▪ おまけ: langchainのソースコード探索方法 • ソースコード ◦ https://github.com/knishioka/machine-learning-workshop/blob/main/langchain/ConversationalRetri evalChain.ipynb ◦ GitHub: knishioka/machine-learning-workshop > langchain > ConversationalRetrievalChain.ipynb