项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1542
技术标签
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 环境(README 使用 uv 管理虚拟环境)
- 已安装 uv 工具(README 的安装命令基于 uv)
- 在代码中调用时需准备 LLM 与嵌入模型(如 Azure OpenAI)的凭据
- 需要一个数据目录 input_source,可选一份测试数据集
安装与启动步骤
-
1创建虚拟环境
README 使用 uv 创建名为 ragbuilder 的虚拟环境,会在当前目录生成同名文件夹。
uv venv ragbuilder -
2激活虚拟环境
激活刚创建的虚拟环境,激活后后续安装的包才会装进该环境。
source ragbuilder/bin/activate -
3安装 ragbuilder
用 uv pip 安装 ragbuilder 包;更多安装方式见官方文档 quickstart 页。
uv pip install ragbuilder -
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自定义模型配置
需要指定 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运行参数优化
可分别对数据摄入、检索、生成三部分做模块级优化,并读取优化结果。
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查询与部署 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
同类项目推荐
nano-graphrag
开源
轻量可改的 GraphRAG,让你快速跑通并魔改知识图谱问答
A simple, easy-to-hack GraphRAG implementation
legal-document-assistant
开源
上传法律文档,用自然语言提问,秒得答案和摘要。
A Retrieval-Augmented Generation (RAG) application for querying legal documents. It ···
ChatPDF
开源
本地文档直接聊,无需联网,RAG 全流程原生实现。
RAG for Local LLM, chat with PDF/doc/txt files, ChatPDF. 纯原生实现RAG功能,基于本地···
wechat-download-api
开源
一键导出公众号全部文章,还能喂给 AI 用
一款完全开源的微信公众号文章获取、RSS 订阅 API 服务,支持整号文章一键导出 7 种格式(···
RivalSearchMCP
开源
免密钥多源搜索,让智能体拿到确定性结构化情报。
Deterministic research MCP server on FastMCP 3 — 5-engine web search, 9-platform so···
ragapp
开源
拖拽式搭建企业级智能问答,让 RAG 应用即插即用
The easiest way to use Agentic RAG in any enterprise
GraphRAG-Breakdown
开源
图解+代码,快速搞懂知识图谱RAG原理与实现
A breakdown of knowledge graph RAG with diagrams and examples
advanced-rag
开源
跟着可运行代码,系统掌握高级 RAG 构建与优化
Jupyter Notebooks for Mastering LLM with Advanced RAG Course
knowledge-rag
开源
本地私有知识库,让 Claude Code 秒懂你的项目
Local RAG server for Claude Code, Cursor and other MCP clients: hybrid BM25 + vector···
