社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

go-rag: 突破Python垄断的Golang RAG系统

ThinkInAI社区 • 2 天前 • 13 次点击  

💡 项目概述

https://github.com/wangle201210/go-rag

 是基于 Golang 实现的企业级知识库检索增强生成系统,打破 RAG 领域 Python 一家独大的局面。集成多知识库管理、智能文档解析、QA 优化、查询重写、多路召回、重排序、MCP 协议等核心功能,为 Golang 开发者提供开箱即用的 RAG 解决方案。

🎯 解决的核心痛点

痛点一:语言生态局限

现有开源 RAG 项目几乎清一色使用 Python,对 Golang 技术栈的团队不友好,迁移成本高、维护困难。

痛点二:检索精度不足

单一检索路径、chunk 粒度不合理、缺乏查询优化,导致召回质量低下。

痛点三:系统集成复杂

缺乏标准化集成口,与现有系统对接困难。

🔥 核心技术

  • 多格式支持: 标题结构优化: 动态合并策略智能 QA 生成
loading
  • 双路召回机制查询重写引擎智能去重重排MCP 协议集成

🛠️ 技术栈

    📄 系统模块

    • 知识库管理模块

      知识库的创建、编辑、删除和查询功能。

      loading
      文档索引模块

      上传前需要选择对应的知识库,支持多种格式文档(如 markdown、PDF、html)的解析和索引。该模块会将文档分割成适当大小的片段,并通过嵌入模型生成向量表示,存储到 es 中。目前对markdown 文档做了很多优化,建议把文档都转换成markdown后上传

      loading
      文档检索模块

      用于测试从知识库中检索相关文档片段。系统会对用户查询进行向量化,然后进行多路召回和重排序,返回最相关的文档片段。

      loading
      智能问答模块

      结合用户问题和检索到的文档片段,通过大语言模型生成回答。系统会将检索结果作为上下文提供给模型,使回答更加准确,支持流式输出,支持多轮对话。

      loading
      MCP模块

      提供了与其他系统集成的能力,支持多种集成方式,如 stdio、SSE 和 HTTP。这使得 Go-RAG 可以作为一个服务被其他应用调用,例如集成到 DeepChat 中。大模型会根据用户问题自动选取符合的知识库进行检索,无需手动指定。


    ⚡ 快速开始

    源码启动可查看github项目[1]根目录的readme文档

    🚧 发展路线图

    • Chunk 管理优化异步索引处理

    ⚠️ 最佳实践

    知识库名称务必与内容高度相关,MCP 模式下系统会根据名称和描述自动选择检索目标。

    • config_demo.yaml

    项目地址:https://github.com/wangle201210/go-rag

    🎉 您的 Star 是我们持续创新的最大动力!


    打造 Golang RAG 领域的标杆项目,让每个 Go 开发者都能轻松构建智能问答系统!

    加入ThinkInAI社区

    如果你也对AI工具充满兴趣,欢迎加入我们的ThinkInAI社区,在这里,你可以:

    • 获取最新AI工具资讯

    • 参与实战经验分享

    • 结识志同道合的伙伴

    • 共同探讨AI应用方向

    扫描文末二维码,加入ThinkInAI社区,一起拥抱AI新时代!

               

    Python社区是高质量的Python/Django开发社区
    本文地址:http://www.python88.com/topic/183351
     
    13 次点击