wangle201210/go-rag

基于eino+gf+vue实现知识库的rag

解決的問題

它提供了一個完整的系統,用於使用檢索增強生成(RAG)構建和管理個人或組織知識庫。它簡化了文件化、索引以及與自有數據聊天的過程,以確保 LLM 的回答基於特定的上傳文件。

運作原理

該系統使用基於 Go 的後端(eino+gf)和基於 Vue 的前端。它處理上傳的文件(PDF、HTML、Markdown)或網頁,將其拆分為可管理的塊,並儲存在 Elasticsearch 8 或 Qdrant 等向量數據庫中。為了檢索信息,它採用多路召回——結合內容向量、QA 向量和 BM25 關鍵詞搜索——並使用互補排名融合(RRF)對結果進行重新排序,然後再將其提供給 LLM。

適用對象

適用於希望擁有支持多個知識庫並提供 GUI 以管理文件塊和檢索測試的自託管 RAG 解決方案的开发者和用戶。

亮點

  • 多格式支持:解析 Markdown、PDF 和 HTML 文件以及網頁。
  • 高級檢索:結合向量搜索和關鍵詞搜索(BM25),並使用 RRF 重新排序以提高準確性。
  • 知識管理:包含用於創建知識庫、上傳文件和手動編輯文本塊的 GUI。
  • 外部集成:支持 You.com 進行實時網絡搜索,並與模型上下文協議(MCP)集成,以便在 DeepChat 等工具中使用。
  • 靈活存儲:兼容 Elasticsearch 8 和 Qdrant 用於向量數據存儲。

相關

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