LibreChat-AI/rag-api
ID-based RAG FastAPI: Integration with Langchain and PostgreSQL/pgvector
解決的問題
本專案提供一個可擴展的非同步 API,用於文件索引與檢索,專為基於 ID 的檢索增強生成(RAG)而設計。它允許使用者依 file_id 組織嵌入,進而實現針對特定文件或元資料的精準查詢,這對於 LibreChat 等應用至關重要。
運作方式
基於 FastAPI 與 Langchain 建構,此 API 透過向量儲存(預設使用 PostgreSQL/pgvector 或 Atlas MongoDB)管理文件。它使用多種提供者(OpenAI、Bedrock、Azure、Hugging Face、Google 等)將文件轉換為嵌入,並以非同步批次方式處理,以維持高效能與低記憶體使用。關鍵的安全層確保使用者僅能讀取或刪除其擁有的內容,基於驗證過的 JWT 權杖。
適用對象
需要檔案層級 RAG 系統、文件與特定 ID 關聯且嚴格執行使用者所有權的 AI 應用開發者。
主要特色
- 多提供者嵌入支援:相容 OpenAI、Azure、Bedrock、VertexAI、Ollama 與 Hugging Face。
- 基於 ID 的檢索:依
file_id組織嵌入,實現精確、元資料驅動的查詢。 - 基於所有權的安全性:實施嚴格的範圍控制,確保使用者僅能存取其擁有的片段。
- 可擴展的吸入能力:支援非同步批次處理,可在記憶體受限環境中處理大型檔案。
- 彈性向量儲存:支援 pgvector 與 Atlas MongoDB。
相關
- 專案
- 專案
- 專案
- 專案