Bessouat40/RAGLight

RAGLight is a modular framework for Retrieval-Augmented Generation (RAG). It makes it easy to plug in different LLMs, embeddings, and vector stores, and now includes seamless MCP integration to connect external tools and data sources.

解決する課題

RAGLight は、検索拡張生成 (RAG) およびエージェントパイプラインを構築するための、軽量で依存関係のないツールキットを提供します。厳格な継承ではなく構造的プロトコル(ダックタイピング)を使用することで、フレームワークの肥大化した依存関係の問題を解決します。これにより、開発者は特定のベンダーの SDK に縛られることなく、LLM、ベクトルストア、埋め込みモデルを自由に交換できます。

仕組み

このライブラリは、依存関係のないコントラクトを核として構築されています。コンポーネント(LLM、ベクトルストアなど)は、単純なメソッドを実装することで定義できます。また、OpenAI、Ollama、Chroma、Qdrant などの一般的なツール向けの組み込み統合機能を使用することも可能です。パイプラインはデフォルトでステートレスですが、セッションベースの履歴や会話型クエリの再構成をサポートしています。エージェントワークフローは、ツール実行と意思決定ループを管理する独立した AgenticPipeline によって処理されます。

対象ユーザー

重厚で独断的なフレームワークのオーバーヘッドなしに、クリーンでモジュール化された型安全な方法で RAG アプリケーションを構築したい Python 開発者向けです。特に、依存関係の注入を好み、パイプラインコンポーネントを完全に制御したい方に最適です。

ハイライト

  • ゼロ依存コア: コアパッケージにはサードパーティのランタイム依存関係がありません。
  • 構造的プロトコル: カスタムコンポーネントは特定の基底クラスを継承する必要がないため、統合が容易です。
  • エージェントサポート: MCP (Model Context Protocol) ツールへの対応を含む、エージェントワークフロー専用の名前空間が含まれています。
  • 柔軟な構成: コードファーストのワークフローのための直接的なオブジェクト注入と、JSON または TOML ファイルからパイプラインを読み込むためのレジストリベースの構成の両方をサポートしています。
  • ネイティブトレーシング: Langfuse との統合が組み込まれており、従来の RAG パイプラインとエージェント RAG パイプラインの両方で可観測性を実現します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト