superlinear-ai/raglite
🥤 RAGLite is a Python toolkit for Retrieval-Augmented Generation (RAG) with DuckDB or PostgreSQL
What it solves
RAGLite は Retrieval-Augmented Generation(RAG)パイプラインの実装をシンプルにするための Python ツールキットです。PyTorch や LangChain といった重い依存関係の管理の複雑さを取り除き、DuckDB や PostgreSQL といった軽量データベースを用いた高性能な文書処理、検索、生成ツールを提供します。
How it works
- Data Ingestion: ドキュメント(PDF を含む)を Markdown に変換し、セマンティックチャンクやレイトチャンクなど高度なチャンク手法で埋め込み用データを準備します。
- Storage & Search: DuckDB または PostgreSQL を利用し、キーワード検索(FTS/tsvector)とベクトル検索(VSS/pgvector)の両方をサポートし、ハイブリッド検索を実現します。
- Retrieval Pipeline: LLM が取得の必要性を判断する適応的取得、
rerankersライブラリによる再ランキング、検索結果最適化のための閉形式線形クエリアダプタをサポートします。 - Integration: LiteLLM を活用してプロバイダー非依存の LLM と埋め込みモデルにアクセスし、Claude Desktop などのクライアントと接続できる Model Context Protocol(MCP)サーバーを内蔵しています。
Who it’s for
「肥大化した」依存関係を避け、ローカル(llama.cpp 経由)とリモートの LLM プロバイダーの両方をサポートする、迅速で寛容かつ拡張性のある RAG フレームワークを求める開発者向けです。
Highlights
- Lightweight: PyTorch や LangChain の依存がありません。
- Flexible Storage: DuckDB と PostgreSQL をネイティブにサポート。
- Advanced Chunking: セマンティックチャンクとレイトチャンクを実装し、コンテキスト保持を向上。
- Adaptive RAG: LLM 主導で情報取得の有無を判断。
- MCP Support: AI アシスタントとの統合を容易にする Model Context Protocol サーバーを内蔵。
- Evaluation: 検索と生成のパフォーマンス測定のために Ragas とのオプション統合が可能です。