Open1
「RAGLite」を試す
GitHubレポジトリ
🥤 RAGLite
RAGLiteは、PostgreSQLまたはSQLiteを活用したRetrieval-Augmented Generation (RAG) のためのPythonツールキットです。
特徴
柔軟性
- 🧠 LiteLLMを用いて任意のLLMプロバイダーを選択可能(ローカルのllama-cpp-pythonモデルも対応)
- 💾 キーワード&ベクター検索データベースとしてPostgreSQLまたはSQLiteを選択可能
- 🥇 FlashRank(多言語対応)をデフォルトに、rerankersで任意のリランカーを選択可能
高速かつ軽量
制限なしの機能性
- 📖 pdftextとpypdfium2を用いたPDFからMarkdownへの変換
- 🧬 late chunkingと contextual chunk heddings を含むマルチベクターチャンク埋め込み
- ✂️ バイナリ整数計画問題の解決による最適なレベル4のセマンティックチャンク化
- 🔍 ネイティブのキーワード&ベクター検索(tsvector+pgvector、FTS5+sqlite-vec[1])を活用したハイブリッド検索
- 💰 プロンプトキャッシュ対応メッセージ配列構造によるコスト削減とレイテンシ改善
- 🍰 Anthropicの長文コンテキストプロンプト形式による出力品質向上
- 🌀 直交プロクルステス問題の解決による最適な閉形式線形クエリアダプター
拡張性
- 💬 Chainlitを用いたウェブ、Slack、Teams向けChatGPT風フロントエンド(オプション)
- ✍️ Pandocを用いた任意の入力文書のMarkdown変換(オプション)
- ✅ Ragasを用いた検索と生成性能の評価(オプション)
[1]: We use PyNNDescent until sqlite-vec is more mature.
名前の通りLiteかと思いきや(コードベースは小さいと思う)、機能的には結構モリモリに見える。あと自分の知らない技術も紹介されていてちょっと興味がある。
ライセンスはMPL-2.0