Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GraphRAG Workshop (Japanese)

GraphRAG Workshop (Japanese)

GraphRAG workshop for Microsoft partners on 2024/10/2

Xiaoli Shen

October 03, 2024
Tweet

More Decks by Xiaoli Shen

Other Decks in Technology

Transcript

  1. 1. RAGの基本と一般的なRAGにおける問題 2. GraphRAG のご紹介とDeep Dive 3. GraphRAG デモ 4.

    デプロイの選択肢:Library か Accelerator か 5. デプロイされたアーキテクチャと Azure サービス 6. Call to action 7. Q&A GraphRAG: LLMで構築したナレッジグラフによる高度な RAGを実現
  2. Knowledge • レトリーバーシステムで機能する • 特定のコンテキストに最も関連性の高い情報 を見つける • モデルに期待される機能に合わせて知識を抽 出する •

    データの鮮度、アクセス制御を確保する RAG: Reasoning + Knowledge 生成 AI と レトリーバーシステム それぞれの役割 Reasoning • ファンデーションモデルを利用 • 必要な情報、コンテキスト をつかって回答内 容を生成・整理 • ツールやエージェントの実行を提案、質問の フォローアップ
  3. RAG (Retrieval Augmented Generation) プロンプト 回答 提供された情報に基づいて、Northwind Health Plus と

    Northwind Standard が 提供する両方の健康保険が視力検査の補償 を提供していると判断できます。したがって、あ なたの健康保険は毎年の目の検査をカバーす るべきです。 RAGエンジンがどのように動作す べきかのフレーミングを提供する テキスト入力 ユーザーからの質問 質問に答えるために使用 された情報源 ユーザーク エリに基づ いてベクト ルデータ ベースから 取得 生成された回答 質問:私の健康保険は毎年の眼科検診をカ バーしていますか? ソース: 1. Northwind Health Plusは、視力検 査、眼鏡、コンタクトレンズ、歯科検査、クリー ニング、詰め物の補償を提供します。 2. Northwind Standardは、視力検査と 眼鏡のみをカバーしています。 3.どちらのプランも、眼科および歯科サービスの 補償を提供します。 あなたは、Contoso, Inc. の従業員が医療プラ ンや従業員ハンドブックについて質問するのを支援 するインテリジェント アシスタントです。以下のソー スで提供されているデータのみを使用して、次の質 問に答えてください。
  4. おさらい:RAGシステムの全体像 セクション1 セクション2 セクション3 セクション4 利用者 アプリケーション ? Nつの関連セク ション

    レスポンス: 要約 Q&A、参考文献等 Azure AI Search プロンプト 検索クエリ/質問 (フィルター、ファセット、スコアリングプロファイルな どを含む) サーチ Index ドキュメント チャンキング Azure Form Recognizer レイアウトモデル ドキュメントライブラリ Azure OpenAI Service エキスパートシステム 1 2 3 4 5 6 7
  5. 一般的なRAGにおける2つの問題 セクション1 セクション2 セクション3 セクション4 利用者 アプリケーション ? Nつの関連セク ション

    レスポンス: 要約 Q&A、参考文献等 Azure AI Search プロンプト 検索クエリ/質問 (フィルター、ファセット、スコアリングプロファイルな どを含む) サーチ Index Document Chunking Function Azure Form Recognizer レイアウトモデル ドキュメントライブラリ Azure OpenAI Service 1 エキスパートシステム (1) 複数のチャンクから情報を統合してまとめたインサイト、また は全体的な理解が必要な抽象的な質問に不向き 回答が多数のソースからの情報をつなぎ合わせる必要がある場合、 またはクエリが抽象的な場合は失敗しがちです 例:「過去2週間のメールについて最新情報を入手してください」 2 (2) 単一の大きいドキュメントやコンテキストウィンドの大きいモ デル(例:+1M+トークン)の場合、回答の精度が低下する傾向 プロンプトに含むデータが多すぎる場合、「干し草の山から針を探 す」問題が起こりやすく、失敗しがちです 例: プロンプトに書籍の全体内容を入れて、要約を求める
  6. GraphRAGのポイント:インデックスの作成 ドキュメント セクション1 セクション2 セクション3 セクション4 Document Chunking Function プロンプト

    AOAIへ: 「このテキストのセクションからエン ティティとその関連性を抽出してく ださい。以下は例です: … … …」 レベル0 コミュニティ レベル1 コミュニティ レベル2 コミュニティ セマンティック要約
  7. プライベートデータ セット Semantic Search DB POK leader Sylvia Marek took

    the stage with Lucio Jakab, founder of Save Our Wildlands LLMで情報抽出 GraphRAG グラフ誘導 GraphRAG GraphRAG GraphRAG データセット質問ジェネレーター Q&Aのまとめ Etc. エンティティ・コンテンツ Graph ML - トピック検出 - 表現学習 階層抽出: グラフの埋め込み エンティティの集約 コミュニティのまとめ Level 0 コミュニティ Level 1 コミュニティ Level 2 コミュニティ More layers… セマンティック・サマリー GraphRAGのポイント:インデックスの作成 TextUnit (Hierarchical Leiden Algorithm)
  8. Phase 1: TextUnits の作成 Documents Text Units Phase 2: グラフ抽出

    Entity & Relationship Extraction Graph Tables Phase 3: グラフの拡張 Community Detection Augmented Graph Tables Phase 4: コミュニティの要約 Community Summarization Community Tables Phase 5: ドキュメント処理 Document Tables Phase 6: ネットワークの可視化 Nodes Table Chunk Embed Entity & Relationship Summarization Entity Resolution Claim Extraction (optional) Graph Embedding Community Embedding Document Embedding Document Graph Creation Umap Entities Umap Documents Link to TextUnits GraphRAG Indexing Pipeline Dataflow https://microsoft.github.io/graphrag/posts/index/1-default_dataflow/
  9. GraphRAGのポイント: グローバルとローカルクエリ すべてのコミュニティ Analyst Map 質問: どの生き物が 議論されました か? どの生き物が議論されましたか?

    <コミュニティ 1 のコンテンツ> <コミュニティ 8 のコンテンツ> … どの生き物が議論されましたか? <コミュニティ 10 のコンテンツ> <コミュニティ 3 のコンテンツ> … … Analyst Reduce これらの上位リンクの結果を踏ま えて、質問にこたえてください: どの生き物が議論されましたか? 1 2 最終回答 3+ 関連性: 70 関連性: 10 関連性: 20 関連性: 10 関連性: ?? Sort and Rank Results 回答 1-1 回答 1-2 回答 2-1 回答 2-2 グローバルクエリのイメージ
  10.  Global Search ~ Whole Dataset Reasoning  コミュニティの要約レポートを活用して、データセットに関する全体的な質問についての推論のためのグローバル検索 

    回答を作成するためにデータセット全体の情報を集約する必要があるクエリに適している  リソースを大量に消費する検索方式 グローバルクエリ Step 1: Intermediate Response Generation and Ranking 生成 AI モデルを使用して、コミュニティ レポートの N 個の チャンクごとに、ユーザーの質問に対する回答と、回答の品 質を示す数値スコアを生成 Step 2: Intermediate Response Combination ランク付けされた中間応答を 1 つのコンテキスト ウィンドウに 結合し、生成 AI モデルを使用して最終的な応答を生成 Community Full Reports Intermediate Response Generation and Ranking Intermediate Response Combination User query Final Response
  11. ローカルクエリ  Local Search ~ Entity-based Reasoning  特定のエンティティに関する推論を、エンティティとその近傍と関連する概念にファンアウトして検索 

    この方法は ドキュメントに記載されている特定の エンティティ を理解する必要がある質問に適する  リソース消費はグローバルクエリより少ない Entity Graph Embedding User query Final Response Entity Text Embedding Knowledge Graph Entity Covariates Response Generation Query-Entity Mapping Related Entity Extraction Entity Relationship and Covariate Retrieval Step 1: Query-entity Mapping ユーザークエリ と エンティティの類似性スコアから、ユーザークエリ に対するセマンティック関連性が最も高い上位 N グラフエンティ ティを抽出 Step 2: Related Entity Extraction step 1 で抽出した 各エンティティ E について、グラフ内の他のエ ンティティのグラフ埋込の類似スコアが最も高い上位 K の近傍を 見つける Step 3: Entity Relationship and Covariate Retrieval ステップ 1+2 から抽出されたエンティティ セットを基に、これらの エンティティ (クレームなど) に関連付けられているすべての共変 量と、これらのエンティティ間の関係のすべてのレコードを取得 Step 4: Response Generation ステップ 3 で構築されたユーザー クエリとデータ コンテキストを基 に、生成 AI モデルを使用して応答を生成
  12. GraphRAG デプロイの選択肢:Library vs Accelerator Library microsoft/graphrag: A modular graph- based

    Retrieval-Augmented Generation (RAG) system (github.com) 「LLMの力を使用して、非構造化テキストから意味 のある構造化データを抽出するように設計された データパイプラインおよび変換スイート」 内容物: - アーキテクチャ コンポーネント - コアライブラリのコード - プロンプトチューニングのガイド 適用シーン: きめ細かな制御が必要なカスタムエン ゲージメント。 利用サービス:ACR、AOAI Accelerator Azure-Samples/graphrag-accelerator: One- click deploy of a Knowledge Graph powered RAG (GraphRAG) in Azure (github.com) 「ナレッジグラフで拡張したRAG (GraphRAG)を Azureにワンクリックでデプロイ」 - Libraryを用いて構築 - Azure上にAPI endpointを提供 - 組み込みのインターフェースを利用可能 - 独自のインターフェースも利用可能 適用シーン:ホステッドサービスを運用する 利用サービス: AKS, ACR, API-M, AOAI, Storage, Cosmos DB, Application Insights, Log Analytics, Virtual Network, Azure Search, Managed Identity
  13. Accelerator デプロイの概要 おすすめのアプローチ: WSL + Docker + Devcontainer + VSCode

    ステップ: 1. deploy.parameters.jsonを編集:ご自身のリソースの 情報に書き換え (GPT, embedding, resource groups, Azure Service names).. 2. AOAI に正しいTPMとコンテンツ フィルターが設定されてい ることを確認 3. デプロイし(およそ45分待ち)、ログをレビュー 4. quickstart notebookを試す
  14. Call to Action Get Started ドキュメンテーションをチェック Graph RAG Accelerator をデプロイ

    (AOAIのTPM設定を確認) さまざまなデータセットで実験 AI Design Win サポートが必要な場合、Github issues を活用  Get Started (microsoft.github.io)  https://github.com/Azure-Samples/graphrag-accelerator/tree/main  graphrag-accelerator/docs/DEPLOYMENT-GUIDE.md at main · Azure-Samples/graphrag- accelerator (github.com)