superlinear-ai/raglite

🥤 RAGLite is a Python toolkit for Retrieval-Augmented Generation (RAG) with DuckDB or PostgreSQL

解決的問題

RAGLite 是一個輕量級的 Python 工具包,專為簡化 Retrieval-Augmented Generation (RAG) 流程而設計。它消除了 LangChain 和 PyTorch 等重型框架的複雜性,提供一種簡潔的方式,將 LLM 與向量及關鍵字搜尋資料庫整合,使 AI 回應能基於特定文件進行錨定。

如何運作

此工具包允許使用者設定 LLM 提供者(透過 LiteLLM)與資料庫(DuckDB 或 PostgreSQL)。它會將文件轉換為 Markdown,應用語意分塊,並建立多向量嵌入。在檢索方面,支援混合搜尋(結合關鍵字與向量搜尋)與重排序,以找出最相關的內容。同時具備「適應性檢索」功能,讓 LLM 可根據使用者的查詢,自主判斷是否以及檢索何種內容。

適用對象

適合希望在不使用大型 ML 框架開銷的情況下,快速、彈性且可擴展地實作 RAG 的開發者,也適合希望將知識庫與 Claude Desktop 等 MCP 客戶端整合的開發者。

主要特色

  • 彈性後端:支援 DuckDB 與 PostgreSQL 作為儲存,並透過 LiteLLM 提供 LLM/嵌入提供者的彈性。
  • 進階分塊:實作延遲分塊、上下文分塊標題,以及使用二進位整數規劃的最優語意分割。
  • 適應性 RAG:LLM 可根據提示自主決定何時觸發檢索。
  • MCP 整合:內建 Model Context Protocol 伺服器,可連接 Claude Desktop 等 AI 客戶端。
  • 優化效能:具備感知提示快取的結構與閉式線性查詢適配器,以提升檢索品質。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案