OpenAI互換APIで各種モデルを提供する、セルフホスト型推論サーバー
superlinear-ai/raglite
DuckDBまたはPostgreSQLでドキュメントを保存・検索できる、Retrieval-Augmented Generation向けのPythonツールキットです。
- スター
- 1,211
- フォーク
- 117
- 未解決の Issue
- 17
- 最終コミット
- 5 日前
これは何?
RAGLiteは、Retrieval-Augmented Generationのパイプラインを構築するためのPythonツールキットです。PDFなどのドキュメントをMarkdownに変換してチャンクに分割し、埋め込みを生成して、DuckDBまたはPostgreSQLに保存します。これにより、関連する文章を検索し、質問への回答時にLLMへ渡せます。
検索では、データベース標準のキーワード検索とベクトル検索(DuckDBではFTSとVSS、PostgreSQLではtsvectorとpgvector)を組み合わせ、設定可能なrerankerで検索結果を再ランキングできます。LLMと埋め込みモデルにはLiteLLM経由でアクセスでき、llama-cpp-pythonを使ったローカルのllama.cppモデルにも対応しています。また、PyTorchやLangChainのような重い依存関係を避けています。
基本的な検索に加え、評価データから算出するオプションのクエリアダプター、メタデータフィルタリング、Claude desktopなどのクライアント向けの組み込みMCPサーバー、Chainlitベースのチャットフロントエンドを利用できます。Ragasを使った検索と生成の評価機能も、追加オプションとして提供されています。
主な機能
- 01ハイブリッドなキーワード検索とベクトル検索を使って、DuckDBまたはPostgreSQLでドキュメントを保存・検索できます。
- 02ローカルのllama.cppモデルを含め、LiteLLMが対応する任意のLLMや埋め込みモデルを利用できます。
- 03FlashRankをデフォルトとして、rerankerで取得したチャンクを再ランキングできます。
- 04PDFをMarkdownに変換でき、PandocまたはMistral OCRを使えば、ほかの形式も任意で処理できます。
- 05ドキュメントのメタデータで検索結果を絞り込めます。
- 06検索機能をMCPツールとして公開し、オプションのChainlitチャットフロントエンドを提供できます。
ユースケース
- 社内のPDFやMarkdownドキュメントを対象にした質問応答アシスタントの構築。
- DuckDBとllama.cppモデルを使った、完全ローカルのRAG環境の構築。
- MCP経由でClaude desktopにナレッジベース検索ツールを追加。
- 検索手法を試し、Ragasによる評価で性能を測定。
クイックスタート
- 1
PyPIからRAGLiteをインストールする
pip install raglite - 2
PythonでDuckDBまたはPostgreSQLデータベースとLLMを使うようにRAGLiteを設定する
使う前に知っておきたいこと
- MPL-2.0ライセンスの下で提供されています。このファイル単位のコピーレフトライセンスでは、変更したソースファイルを共有する必要があります。
- ローカルのllama.cppモデルを使用するには、お使いのPythonのバージョンとプラットフォームに合ったllama-cpp-pythonビルドを別途インストールする必要があります。
- Cohere rerankerやMistral OCRなど、一部の機能には外部APIキーが必要です。
収録されている特集
トピック
よくある質問
- raglite とは?
- DuckDBまたはPostgreSQLでドキュメントを保存・検索できる、Retrieval-Augmented Generation向けのPythonツールキットです。 RAGLiteは、Retrieval-Augmented Generationのパイプラインを構築するためのPythonツールキットです。PDFなどのドキュメントをMarkdownに変換してチャンクに分割し、埋め込みを生成して、DuckDBまたはPostgreSQLに保存します。これにより、関連する文章を検索し、質問への回答時にLLMへ渡せます。
- raglite は無料で使えますか?ライセンスは?
- raglite は MPL-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- raglite は今もメンテナンスされていますか?
- 活発にメンテナンス中。raglite の最終コミットは 2026年11月1日 です。
- raglite は何に使えますか?
- 社内のPDFやMarkdownドキュメントを対象にした質問応答アシスタントの構築。 DuckDBとllama.cppモデルを使った、完全ローカルのRAG環境の構築。 MCP経由でClaude desktopにナレッジベース検索ツールを追加。 検索手法を試し、Ragasによる評価で性能を測定。
- raglite のインストール方法は?
- PyPIからRAGLiteをインストールする: pip install raglite PythonでDuckDBまたはPostgreSQLデータベースとLLMを使うようにRAGLiteを設定する
- raglite はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/superlinear-ai/raglite
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
pgvector検索とOpenAIモデルを使って、PostgreSQLテーブルの行について自然言語で質問できるAzure対応のRAGチャットアプリ。
検索拡張生成とエージェント機能を組み合わせ、LLMアプリケーション向けのコンテキストレイヤーを提供するオープンソースRAGエンジン。
独自データセットに関する質問に回答するLLMアプリケーションを構築できる、React UIとPythonサーバーを備えた汎用・拡張可能なRAGフレームワーク。
文書から二時点ナレッジグラフを構築し、RAG検索や推論、MCPアクセスを提供するセルフホスト型Rustナレッジベース。
LLMによるクエリ書き換え、BM25とベクトル検索、Reciprocal Rank Fusionを組み合わせて検索精度を高めるRAG-FusionのPythonリファレンス実装。NFCorpus評価用ハーネスも含みます。