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 用于向量数据存储。

相关

  • 项目
  • 项目
  • 项目
  • 项目