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
GraphRAG: What I Thought I Knew (But Didn’t)
Search
Sashimimochi
January 28, 2025
Technology
1
640
GraphRAG: What I Thought I Knew (But Didn’t)
エンジニア達の「完全に理解した」Talk #61 で登壇したときのスライドです。
https://easy2.connpass.com/event/341131/
Sashimimochi
January 28, 2025
Tweet
Share
More Decks by Sashimimochi
See All by Sashimimochi
Alert on Call with LLM
sashimimochi
0
11
My AI Copilot for writing
sashimimochi
1
180
Search Engineer diving into Kubernetes
sashimimochi
1
220
Using GPTs from Local by Dify
sashimimochi
1
850
Max out Local LLM in Challenging Environments
sashimimochi
3
550
Search Engine for Frontend Engineer
sashimimochi
0
220
Start Vector Search with Solr
sashimimochi
1
1.1k
Other Decks in Technology
See All in Technology
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
15k
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
200
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
290
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.4k
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
400
「もしもデータ基盤開発で『強くてニューゲーム』ができたなら今の僕はどんなデータ基盤を作っただろう」
aeonpeople
0
250
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
1
110
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
170
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
1.7k
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
360
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
2.3k
"人"が頑張るAI駆動開発
yokomachi
1
630
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
70
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
590
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
290
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
31
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Building the Perfect Custom Keyboard
takai
1
660
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.3k
Transcript
私は本当のGraphRAGを 知らなかったらしい... さしみもち 2025/1/28【オンライン】エンジニア達の「完全に理解した」Talk#61 どうやら
自己紹介 さしみもち @Sashimimochi343 普段は年間数十億件のトラフィック がある検索システムの開発・運用や データ分析基盤の運用をしてます。 最近は、年末年始にランニングをし てあやうく膝を壊しかけました 2
じゃあ、なにをしてたのか? 3
本 を 書 こ う ! そ う だ 4
9 17 11 15 ご協力ありがとうございました!! 5
9 17 11 15 6
「RAG」をご存知ですか? 7
RAGとは Retrieval Augmented Generationの略 LLMの知識にないことであっても、情報を 外部から検索によって補完することで、 回答できるようにするフレームワーク 8
日本で一番高い山は? 富士山です 通常のLLMの回答 9
2025年の恵方は? 通常のLLMの回答 知らないんだよなあ... 適当でもいいか それ去年じゃん 10 東北東やや東です
西南西やや西です RAGによるLLMの回答 合ってる! 11 2025年の恵方は? わからん... ググったろ!
RAGが苦手なこと AさんとBさんの関係は何ですか? 兄弟(姉妹)です 12
RAGが苦手なこと 1. Aさんは母が最初にお腹を痛め て産んだ子だ 2. Bさんのときは母も出産に慣れ たものだ 3. AさんとBさんは小さい頃から 友だちのように遊んでいた
インデックス用テキスト 13
AとBの関係は? 友人です RAGによるLLMの回答 ググったろ! 違うなあ... 14
そこでGraphRAGが注目されている 15
GraphRAGとは...? • 構造化データ(グラフ)を検 索してRAGを行う • 専用のクエリ言語を用いるこ とで関係性の検索ができる • 元が非構造化データ(テキス ト)であっても、構造化デー
タ(グラフ)に変換すれば同 じ仕組みが使える 16
GraphRAGとは...? 17
だとすると... 全文検索(エンジン)RAGとの違い ベクトル検索RAGとの違い Q. メタデータ絞り込みで同様のこと ができるのでは? A. 事前にメタデータフィールドは想 定しきれないので難しいし、無駄が 出やすい
Q. LLMを使ってテキスト→知識グラ フが作れるならベクトル検索で十分 なのでは? A. 必要十分な文(チャンク)が毎回 ヒットさせられるならベクトル検索 でもOK。でも、そうじゃないから GraphRAGなどの別の仕組みが検討さ れている 18
だとすると... GraphRAGの欠点として • 表記揺れには弱いはず ◦ グラフクエリ言語であいまい検索は難しそう • そもそも知識グラフを作るのが高コスト ◦ 精度を追求するなら人力になるが、膨大なテキストをちまちまグラフに
してられない • 新たな外部システムを用意する必要がある ◦ Graph DBなる専用のDBが必要 19
だとすると... GraphRAGの欠点として • 表記揺れには弱いはず ◦ グラフクエリ言語であいまい検索は難しそう • そもそも知識グラフを作るのが高コスト ◦ 精度を追求するなら人力になるが、膨大なテキストをちまちまグラフに
してられない • 新たな外部システムを用意する必要がある ◦ Graph DBなる専用のDBが必要 20 なんだ、限定的なケース(必要十分な文を確実に 当てたいとき)専用の検索手法が増えた程度か
と、思っていたのだが... 21
実はその程度のものじゃないらしい!? 22
注文されているのはMicrosoftのGraphRAG! MS GraphRAG特徴 1. グラフクエリ言語は使わない ◦ 自然言語からグラフクエリ言語への変換 はしない ◦ グラフDBは必須ではない
2. 文書全体を意識した回答が可能 ◦ 「この文書の主題を教えて下さい」など ◦ 直接文中に書かれてない抽象的な質問へ の回答ができる →グローバル検索 MS GraphRAG GraphRAG全般 23 注目されている のはコレ!
MS式GraphRAGならこんなことができる! Q. この物語の主題はなんですか? A. 『クリスマス・キャロル』の最重要テーマは、主人公エベニーザ・ス クルージの変貌とクリスマスの力です。 この物語は、思いやり、共感、寛大さの重要性を強調し、スクルージの 最初のみじめさや孤独と、クリスマス精神を受け入れる周囲の人々の温 かさや喜びを対比させています。作中でスクルージは過去、現在、未来 のクリスマスの亡霊たちとの交流を通じて、過去の過ちと向き合い、よ
り慈愛に満ちた思いやりのある人生を受け入れるようになる様子が描か れ、利己主義の結末と贖罪の可能性を探求しています。 24
MS式GraphRAGの仕組み https://graphrag.com/reference/knowledge-graph/lexical-graph-ex tracted-entities-community-summaries/ より インデックス作成時 1. データのチャンク化(テキストユニット)への分割 2. Entityや付加情報の抽出 3.
Entityの概要生成&リレーション抽出 4. コミュニティクラスタリング 5. コミュニティ要約の生成 回答生成時 1. ユーザクエリの回答に適したコミュニティ要約の検出 ▪ 各コミュニティ要約を適当なサイズにチャ ンク分割 ▪ 各チャンクを使って1次回答を生成 ▪ 各回答に対して有益性を100点満点で評価 2. スコアが高いコミュニティ要約を使って最終的な回答 を生成 25
MS式GraphRAGの仕組み https://graphrag.com/reference/knowledge-graph/lexical-graph-ex tracted-entities-community-summaries/ より インデックス作成時 1. データのチャンク化(テキストユニット)への分割 2. Entityや付加情報の抽出 3.
Entityの概要生成&リレーション抽出 4. コミュニティクラスタリング 5. コミュニティ要約の生成 回答生成時 1. ユーザクエリの回答に適したコミュニティ要約の検出 ▪ 各コミュニティ要約を適当なサイズにチャ ンク分割 ▪ 各チャンクを使って1次回答を生成 ▪ 各回答に対して有益性を100点満点で評価 2. スコアが高いコミュニティ要約を使って最終的な回答 を生成 26
MS式GraphRAGの仕組み https://graphrag.com/reference/knowledge-graph/lexical-graph-ex tracted-entities-community-summaries/ より インデックス作成時 1. データのチャンク化(テキストユニット)への分割 2. Entityや付加情報の抽出 3.
Entityの概要生成&リレーション抽出 4. コミュニティクラスタリング 5. コミュニティ要約の生成 回答生成時 1. ユーザクエリの回答に適したコミュニティ要約の検出 ▪ 各コミュニティ要約を適当なサイズにチャ ンク分割 ▪ 各チャンクを使って1次回答を生成 ▪ 各回答に対して有益性を100点満点で評価 2. スコアが高いコミュニティ要約を使って最終的な回答 を生成 近しい内容のチャンクを整理し、段階的にまとめて抽象化し ていくのがMS GraphRAGの肝 27
MS式GraphRAGの仕組み インデックス作成時 1. データのチャンク化(テキストユニット)への分割 2. Entityや付加情報の抽出 3. Entityの概要生成&リレーション抽出 4. コミュニティクラスタリング
5. コミュニティ要約の生成 回答生成時 1. ユーザクエリの回答に適したコミュニティ要約の検出 ▪ 各コミュニティ要約を適当なサイズにチャ ンク分割 ▪ 各チャンクを使って1次回答を生成 ▪ 各回答に対して有益性を100点満点で評価 2. スコアが高いコミュニティ要約を使って最終的な回答 を生成 https://qiita.com/nohanaga/items/75305fc63602bd2cdaca より 28
MS式GraphRAGの仕組み インデックス作成時 1. データのチャンク化(テキストユニット)への分割 2. Entityや付加情報の抽出 3. Entityの概要生成&リレーション抽出 4. コミュニティクラスタリング
5. コミュニティ要約の生成 回答生成時 1. ユーザクエリの回答に適したコミュニティ要約の検出 ▪ 各コミュニティ要約を適当なサイズにチャ ンク分割 ▪ 各チャンクを使って1次回答を生成 ▪ 各回答に対して有益性を100点満点で評価 2. スコアが高いコミュニティ要約を使って最終的な回答 を生成 https://qiita.com/nohanaga/items/75305fc63602bd2cdaca より コミュニティレポート(要約)があるから文書全体を踏まえ た回答ができる 29
MS式GraphRAGならこんなことができる! Q. 花ケ咲神社の住所はどこですか? A. 花ケ咲神社の住所は以下の通りです: **京都府京都市東山区花見小路339**。 この神社は京都市東山区に位置し、桜を守護する神として古くから崇敬 されてきました。平安初期に創建され、桜花女神が祀られています 一般に想像するGraphRAGと同様に知識グラフ上を探索して Entity間の関係を検索して回答することもできる
→ローカル検索 https://qiita.com/nohanaga/items/75305fc63602bd2cdaca より 30
まとめ • 今話題になっているのは特にMicrosoftが提案している GraphRAGで、一般的なGraphRAGとは異なる • 「この文書の主題」のような文中に直接的に書かれていない 抽象的な問いかけに答えられるようになったのが新規点 • MicrosoftのGraphRAGはグラフクエリ言語は使わないし、 そもそも検索をしていない(と思う)
31
おまけ 実装の話はまたどこかで 32 本日の内容はブログにも まとめています サンプルコードは上げました 2024年のアドカレネタ(大遅刻)
参考文献 • Welcome - GraphRAG https://microsoft.github.io/graphrag/ • 話題のGraphRAG、その可能性と課題を理解する - Speaker
Deck https://speakerdeck.com/hide212131/the-trending-graphrag-understanding -its-potential-and-challenges • 話題のGraphRAGとは - 内部構造の解析と実用性の考察 - アルファテックブログ https://www.alpha.co.jp/blog/202408_01/ • MS GraphRAGを使用してみた - エクサウィザーズ Engineer Blog https://techblog.exawizards.com/entry/2025/01/10/114044 • Microsoft GraphRAG でこれまでの RAG にはできなかった質問に回答させるメモ #Azure - Qiita https://qiita.com/nohanaga/items/75305fc63602bd2cdaca 33
参考素材 • かわいいフリー素材集 いらすとや https://www.irasutoya.com/ • フリー素材 ぱくたそ - すぐに使える無料の写真素材・AI画像素材
https://www.pakutaso.com/ 34