ragbuilder

自动评估并调优 RAG 配置,快速上线生产级问答系统

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 搜索知识 🍴 复刻 127 🐛 待处理 19 👀 关注 18
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1542
维护状态 维护中
是否开源 开源
定价模式 🏷️完全免费 开源工具包,Apache-2.0 许可证,可免费使用和部署。

项目预览

ragbuilder 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类搜索知识
开发团队KruxAI
定价模式🏷️完全免费
价格说明开源工具包,Apache-2.0 许可证,可免费使用和部署。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型developer-tools,genai,rag
GitHub 星标★ 1542
上线时间2024-06-24 00:00:00
代码更新2026-10-02
仓库体积77.6 MB
本站数据更新2026-11-09
维护状态维护中
收录时间2026-08-09
浏览次数3

项目介绍

ragbuilder 是一个用于构建生产级检索增强生成(RAG)系统的 Python 工具包,旨在帮助开发者快速为自有数据搭建最优的 RAG 配置。它解决了 RAG 开发中常见的配置复杂、调优困难、难以从原型过渡到生产环境等问题。核心能力包括:自动评估不同 RAG 配置(如嵌入模型、检索策略、分块大小等)的效果,提供可视化比较;支持多种向量数据库和 LLM 集成;内置数据加载与预处理管道;提供配置模板和最佳实践建议。通过自动化实验和评估,ragbuilder 帮助用户避免手动试错,显著缩短从数据到可用 RAG 应用的时间,并确保系统在准确性和性能上达到生产要求。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1542

技术标签

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:入门 约 10 分钟 部署方式:库/依赖 7 步

环境要求

  • Python 环境(README 使用 uv 管理虚拟环境)
  • 已安装 uv 工具(README 的安装命令基于 uv)
  • 在代码中调用时需准备 LLM 与嵌入模型(如 Azure OpenAI)的凭据
  • 需要一个数据目录 input_source,可选一份测试数据集

安装与启动步骤

  1. 1创建虚拟环境

    README 使用 uv 创建名为 ragbuilder 的虚拟环境,会在当前目录生成同名文件夹。

    uv venv ragbuilder
  2. 2激活虚拟环境

    激活刚创建的虚拟环境,激活后后续安装的包才会装进该环境。

    source ragbuilder/bin/activate
  3. 3安装 ragbuilder

    用 uv pip 安装 ragbuilder 包;更多安装方式见官方文档 quickstart 页。

    uv pip install ragbuilder
  4. 4用默认配置构建

    不用写复杂参数,只要给出数据路径即可创建 RAGBuilder 实例,测试数据集可选。

    from ragbuilder import RAGBuilder
    
    builder = RAGBuilder.from_source_with_defaults(
        input_source='path/to/your/data',
        test_dataset='path/to/test/data'  # Optional
    )
  5. 5自定义模型配置

    需要指定 LLM 与嵌入模型时,可在构造 RAGBuilder 时传入对应组件与数据摄入配置。

    builder = RAGBuilder(
        data_ingest_config=data_ingest_config,
        default_llm=AzureChatOpenAI(model="gpt-4o", temperature=0.0),
        default_embeddings=AzureOpenAIEmbeddings(model="text-embedding-3-large")
    )
  6. 6运行参数优化

    可分别对数据摄入、检索、生成三部分做模块级优化,并读取优化结果。

    from ragbuilder.config import (
        DataIngestOptionsConfig,
        RetrievalOptionsConfig,
        GenerationOptionsConfig
    )
    
    builder.optimize_data_ingest()
    builder.optimize_retrieval(retrieval_config)
    builder.optimize_generation(gen_config)
    
    results = builder.optimization_results
  7. 7查询与部署 API

    用 invoke 直接跑查询;或调用 serve 把 RAG 流水线部署成 API 服务对外提供。

    response = results.invoke("What is HNSW?")
    
    builder.serve(host="0.0.0.0", port=8000)

关键配置

配置项必填说明示例
input_source是数据来源路径,RAGBuilder 会基于该数据构建 RAG 流水线path/to/your/data
test_dataset否用于评估各配置效果的测试数据集路径path/to/test/data
default_llm否默认使用的生成模型,自定义配置时传入AzureChatOpenAI(model="gpt-4o", temperature=0.0)
default_embeddings否默认使用的嵌入模型,用于向量化文档AzureOpenAIEmbeddings(model="text-embedding-3-large")
n_trials否优化实验的尝试次数,次数越多搜索越充分20
ENABLE_ANALYTICS否是否上报匿名使用统计,设为 False 可关闭False

如何确认成功

Python 中执行 results.invoke("What is HNSW?") 能返回答案,或部署后 POST /query 请求成功返回结果,即表示运行正常。

常见问题

Q:安装时需要手动创建虚拟环境吗?

A:README 是先 uv venv ragbuilder 创建虚拟环境,再 source 激活,最后 uv pip install ragbuilder 安装,按此顺序执行即可。

Q:不想用默认配置怎么办?

A:可以直接构造 RAGBuilder,传入 data_ingest_config、default_llm、default_embeddings,按需自定义每个环节。

Q:怎么评估哪种 RAG 配置更好?

A:提供 test_dataset(或让工具生成合成数据集),再调用 optimize_data_ingest / optimize_retrieval / optimize_generation 做优化,从 optimization_results 取结果。

Q:如何关闭匿名使用数据上报?

A:在 .env 中设置 ENABLE_ANALYTICS=False。README 说明只收集优化运行次数和成功失败率,不收集个人或业务数据。

Q:部署成服务后怎么调用?

A:执行 builder.serve(host="0.0.0.0", port=8000) 后,通过 POST /query 接口把查询打进 RAG 流水线。

注意事项

  • README 中的安装命令基于 uv,若本机没有 uv 需先自行准备该工具。
  • 构造 RAGBuilder 时需要自行提供 LLM 与嵌入模型的配置和凭据,README 未给出具体 Key 的填写位置。
  • 步骤中的 path/to/your/data 等路径是占位示例,请替换为你的真实数据路径。
  • 部分安装选项与更完整文档在 https://docs.ragbuilder.io/quickstart/ 上。

核心亮点

  • 自动评估多种 RAG 配置组合,用数据驱动选型,避免拍脑袋
  • 提供可视化对比报告,直观展示不同配置的检索与生成效果
  • 内置数据加载与预处理管道,支持常见文档格式,上手快

不足之处

  • 文档/社区待观察
  • 依赖较多外部服务(如向量库、LLM API),本地部署成本偏高

适用场景

  • 企业知识库问答系统开发,需要快速验证不同 RAG 方案
  • RAG 应用从原型走向生产,需要系统化调优和评估
  • 数据科学家或工程师构建垂直领域问答助手,希望减少手动实验

替代项目

LlamaIndex、LangChain、Haystack

上一篇:Controllable-RAG-Agent

下一篇:rag-from-scratch

同类项目推荐

nano-graphrag 开源

轻量可改的 GraphRAG,让你快速跑通并魔改知识图谱问答

A simple, easy-to-hack GraphRAG implementation

★ 4001 2026-08-09
legal-document-assistant 开源

上传法律文档,用自然语言提问,秒得答案和摘要。

A Retrieval-Augmented Generation (RAG) application for querying legal documents. It ···

★ 109 2026-08-09
ChatPDF 开源

本地文档直接聊,无需联网,RAG 全流程原生实现。

RAG for Local LLM, chat with PDF/doc/txt files, ChatPDF. 纯原生实现RAG功能,基于本地···

★ 861 2026-08-09
wechat-download-api 开源

一键导出公众号全部文章,还能喂给 AI 用

一款完全开源的微信公众号文章获取、RSS 订阅 API 服务,支持整号文章一键导出 7 种格式(···

★ 1224 2026-08-09
RivalSearchMCP 开源

免密钥多源搜索,让智能体拿到确定性结构化情报。

Deterministic research MCP server on FastMCP 3 — 5-engine web search, 9-platform so···

★ 137 2026-08-09
ragapp 开源

拖拽式搭建企业级智能问答,让 RAG 应用即插即用

The easiest way to use Agentic RAG in any enterprise

★ 4441 2026-08-09
GraphRAG-Breakdown 开源

图解+代码,快速搞懂知识图谱RAG原理与实现

A breakdown of knowledge graph RAG with diagrams and examples

★ 180 2026-08-09
advanced-rag 开源

跟着可运行代码,系统掌握高级 RAG 构建与优化

Jupyter Notebooks for Mastering LLM with Advanced RAG Course

★ 390 2026-08-09
knowledge-rag 开源

本地私有知识库,让 Claude Code 秒懂你的项目

Local RAG server for Claude Code, Cursor and other MCP clients: hybrid BM25 + vector···

★ 303 2026-08-09