Graph RAG
HC GraphRAG
AWS向けGraphRAG
HC GraphRAGは、Microsoft ResearchのGraphRAGをAWSインフラ向けに移植したプロジェクトです。公式実装はAzure OpenAIが必須ですが、HC GraphRAGはAWS Bedrock + Anthropicモデルを使用し、EC2やFargateなどにデプロイできます。
Microsoft GraphRAGをAWS向けに移植(Bedrock + Anthropic)
Key points
- Leidenアルゴリズムによる階層的コミュニティ検出
- ローカル・グローバル・ハイブリッド検索モード
- マルチフォーマットドキュメント処理
Challenge
単純なベクトル検索を超えて
標準的なRAGはマルチホップ推論を必要とする複雑なクエリに苦戦します。Microsoft GraphRAGはコミュニティ要約を持つ階層的知識グラフを構築することでこれに対処します。
- 単純なベクトル検索ではエンティティ間の関係を見逃す
- 複数ドキュメントをまたいだ推論が必要な質問への回答が困難
- 構造化された知識表現がない
HC GraphRAGは、Microsoft ResearchのGraphRAGをAWSインフラ向けに移植したプロジェクトです。公式のMicrosoft GraphRAGはAzure OpenAIが必須ですが、HC GraphRAGはAWS Bedrock + Anthropicモデルを使用し、EC2やFargateなどのAWSサービスにデプロイできます。高速プロトタイピング向けのPython(LlamaIndex)実装と、本番デプロイ向けのJava(ONNX)実装の2種類があります。
GitHub Issuesでバグ報告や機能リクエストを受け付けています。
AWSで動くGraphRAG
HC GraphRAGはMicrosoft GraphRAGのパイプラインをAWS向けに提供:Bedrock + Anthropicでエンティティ抽出、Leidenアルゴリズムでコミュニティ検出、EC2/Fargateにデプロイ可能。
- ドキュメントからのエンティティ・関係抽出
- 階層的コミュニティ検出と要約
- クエリタイプに応じた複数の検索戦略
Capabilities
2つの実装
LlamaIndexによる高速プロトタイピングにはPython、ネイティブバイナリサポートを持つ本番デプロイにはJavaを選択できます。
Python実装
LlamaIndex + Anthropic Claude
- ドキュメント処理: TXT, CSV, PDF, DOCX, PPTX, HTML, EML
- Anthropic Claudeによるエンティティ/関係抽出
- LanceDBによるベクトル検索
- Leidenアルゴリズムによるコミュニティ検出
Java実装
ONNX + AWS Bedrock
- ドキュメント処理: PDF, Word, HTML, プレーンテキスト
- ONNXベースのエンベディング(外部APIコール不要)
- ローカル・グローバル・ハイブリッド検索モード
- GraalVM Native Imageサポート
AWSデプロイ
本番環境対応
- EC2 / Fargateデプロイ対応
- AWS Bedrock + Anthropicモデル
- Azure OpenAI依存なし
Features
主要機能
両方の実装でGraphRAGパイプラインのコア機能を提供します。
ドキュメント取り込み
チャンキングと重複排除を備えたマルチフォーマットサポート
エンティティ抽出
LLMによるエンティティと関係の抽出
コミュニティ検出
Leidenアルゴリズムによる階層的グラフクラスタリング
検索戦略
ローカル(エンティティ中心)、グローバル(コミュニティレベル)、ハイブリッドモード
Tech Stack
技術スタック
異なるデプロイシナリオに対応する技術選択。
Pythonスタック
高速プロトタイピングと実験
Javaスタック
本番デプロイ
データフォーマット
実装間で共通
Resources
リソース
ソースコードはGitHubで公開しています。