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