💡 项目概述
https://github.com/wangle201210/go-rag
是基于 Golang 实现的企业级知识库检索增强生成系统,打破 RAG 领域 Python 一家独大的局面。集成多知识库管理、智能文档解析、QA 优化、查询重写、多路召回、重排序、MCP 协议等核心功能,为 Golang 开发者提供开箱即用的 RAG 解决方案。
🎯 解决的核心痛点
痛点一:语言生态局限
现有开源 RAG 项目几乎清一色使用 Python,对 Golang 技术栈的团队不友好,迁移成本高、维护困难。
痛点二:检索精度不足
单一检索路径、chunk 粒度不合理、缺乏查询优化,导致召回质量低下。
痛点三:系统集成复杂
缺乏标准化集成口,与现有系统对接困难。
🔥 核心技术
- 多格式支持: 标题结构优化: 动态合并策略智能 QA 生成

- 双路召回机制查询重写引擎智能去重重排MCP 协议集成
🛠️ 技术栈
📄 系统模块
- 知识库管理模块
知识库的创建、编辑、删除和查询功能。
文档索引模块上传前需要选择对应的知识库,支持多种格式文档(如 markdown、PDF、html)的解析和索引。该模块会将文档分割成适当大小的片段,并通过嵌入模型生成向量表示,存储到 es 中。目前对markdown 文档做了很多优化,建议把文档都转换成markdown后上传
文档检索模块用于测试从知识库中检索相关文档片段。系统会对用户查询进行向量化,然后进行多路召回和重排序,返回最相关的文档片段。
智能问答模块结合用户问题和检索到的文档片段,通过大语言模型生成回答。系统会将检索结果作为上下文提供给模型,使回答更加准确,支持流式输出,支持多轮对话。
MCP模块提供了与其他系统集成的能力,支持多种集成方式,如 stdio、SSE 和 HTTP。这使得 Go-RAG 可以作为一个服务被其他应用调用,例如集成到 DeepChat 中。大模型会根据用户问题自动选取符合的知识库进行检索,无需手动指定。
⚡ 快速开始
源码启动可查看github项目[1]根目录的readme文档
🚧 发展路线图
⚠️ 最佳实践
知识库名称务必与内容高度相关,MCP 模式下系统会根据名称和描述自动选择检索目标。
项目地址:https://github.com/wangle201210/go-rag
🎉 您的 Star 是我们持续创新的最大动力!
打造 Golang RAG 领域的标杆项目,让每个 Go 开发者都能轻松构建智能问答系统!
加入ThinkInAI社区
如果你也对AI工具充满兴趣,欢迎加入我们的ThinkInAI社区,在这里,你可以:
获取最新AI工具资讯
参与实战经验分享
结识志同道合的伙伴
共同探讨AI应用方向
扫描文末二维码,加入ThinkInAI社区,一起拥抱AI新时代!
