HN公開: 伝統的なPageRankを活用した改良版RAG技術「FastGraphRAG」
(github.com/circlemind-ai)合理化され、プロンプト可能なFast GraphRAGフレームワーク
- 解釈可能でデバッグ可能な知識: グラフは人間が探索できる知識のビューを提供し、クエリ、可視化、更新が可能
- 高速・低コスト・高効率: 大規模実行向けに設計されており、必要なリソースやコストが少ない
- 動的データ: ドメインとオントロジー要件に合わせてグラフを自動生成し、改善する
- 段階的アップデート: データの進化に応じてリアルタイム更新をサポート
- インテリジェントな探索: PageRankベースのグラフ探索を活用して正確性と信頼性を高める
- 非同期および型サポート: 完全な非同期対応と型サポートにより、堅牢で予測可能なワークフローを提供
インストール
-
PyPIからインストール(推奨)
pip install fast-graphrag -
ソースからインストール
# まずこのリポジトリをクローン cd fast_graphrag poetry install
クイックスタート
-
OpenAI APIキーを環境に設定
export OPENAI_API_KEY="sk-..." -
Charles Dickensの A Christmas Carol をダウンロード
curl https://raw.githubusercontent.com/circlemind-ai/fast-graphrag/… > ./book.txt -
Pythonコード例
from fast_graphrag import GraphRAG DOMAIN = "Analyze this story and identify the characters. Focus on how they interact with each other, the locations they explore, and their relationships." EXAMPLE_QUERIES = [ "What is the significance of Christmas Eve in A Christmas Carol?", "How does the setting of Victorian London contribute to the story's themes?", "Describe the chain of events that leads to Scrooge's transformation.", "How does Dickens use the different spirits (Past, Present, and Future) to guide Scrooge?", "Why does Dickens choose to divide the story into \"staves\" rather than chapters?" ] ENTITY_TYPES = ["Character", "Animal", "Place", "Object", "Activity", "Event"] grag = GraphRAG( working_dir="./book_example", domain=DOMAIN, example_queries="\n".join(EXAMPLE_QUERIES), entity_types=ENTITY_TYPES ) with open("./book.txt") as f: grag.insert(f.read()) print(grag.query("Who is Scrooge?").response) -
同じ作業ディレクトリでfast-graphragを再初期化する際、すべての知識を自動的に保持
例
- ライブラリの一般的なユースケースに関するチュートリアルは
examplesフォルダを参照custom_llm.py: さまざまなOpenAI API互換言語モデルおよび埋め込みモデルとともにfast-graphragを構成する簡単な例
貢献
- 大小を問わず貢献を歓迎。貢献によって、オープンソースコミュニティは学び、刺激を与え、創造する素晴らしい場になる
- 貢献ガイドを確認して、始め方を知ることができる
- どこから始めればよいかわからない場合は、Discordに参加して質問可能
哲学
- 私たちの使命は、世界で成功するGenAIアプリケーションの数を増やすこと
- そのために、LLMアプリがエージェントワークフローの設定と維持の複雑さなしに高度に特化した検索パイプラインを活用できるよう、メモリおよびデータツールを構築している
オープンソースまたはマネージドサービス
- このリポジトリはMITライセンスの下で提供。詳細は LICENSE.txt を参照
- Fast GraphRAGを始める最も速く信頼できる方法は、マネージドサービスを利用すること
- 毎月最初の100リクエストは無料で、その後は使用量に応じて課金
1件のコメント
Hacker Newsのコメント
BM25とLLMを組み合わせると、非常に関連性の高い結果を得られる
PageRankとTriangle Centralityは、グラフに適用できる興味深い中心性指標
従来の情報検索はRAGに適していると思う
AIスタートアップで大規模な文書分析のためにGraphRagシステムを使いたい
PageRankがOpenAI APIキーを要求することへの疑問
グラフデータベースなしでグラフを保存・クエリする方法についての質問
ドメイン固有テキストの知識グラフ構築に必要なテキスト量についての質問
ドメインとサンプルクエリが知識グラフ構築にどう役立つのかについての質問
価格設定への混乱
「Scroogeとは誰か?」という質問への回答が、他のアプローチより優れているのかについての質問