Super-Rag高性能RAG管道评测与推荐榜单
项目概述
Super-Rag 是一套专为生产环境设计的高性能 RAG 检索增强生成管道,核心目标是将 AI 能力稳定落地到实际业务中。它提供了强大的功能集,并从一开始就围绕线上可靠性构建,绝非仅适用于概念验证的演示工具。
具体来说,它解决了以下几个棘手的工程痛点:
- 支持多种文档格式:PDF、Word、Markdown 等常见格式均可直接处理,无需额外转换。
- 与主流向量数据库(如 Qdrant)实现无缝集成,数据存储层具有高度灵活性。
- 提供可直接投入生产的 REST API 接口,无需从零搭建服务框架。
- 支持自定义语义分块策略,而非固定长度的机械切分,能够根据内容逻辑进行智能分割。
- 嵌入模型选择自由度高,既支持商业方案(如 Cohere),也可使用开源模型按需切换。
- 内置代码解释器模式,遇到需要数值计算的查询时,系统会自动执行代码并返回答案。
- 通过会话 ID 管理缓存,在多轮对话场景下显著提升响应效率。
☁️ 云 API
若不想自行维护本地基础设施,官方提供了更便捷的入口——云 API。在合理使用范围内免费开放,极大降低了上手门槛。
本地安装
部署 Super-Rag 的流程非常直接,按以下步骤顺序执行即可:
- 克隆仓库:首先获取项目源代码。
git clone https://github.com/superagent-ai/super-rag cd super-rag
创建虚拟环境:隔离项目依赖,避免与全局 Python 环境冲突。
# 用virtualenv virtualenv env source env/bin/activate # 或者用venv python3 -m venv env source env/bin/activate
安装依赖包:项目使用 Poetry 管理依赖,执行以下命令完成安装。
poetry install
配置环境变量:将项目根目录下的.env.example文件重命名为.env,并根据实际运行环境填写变量值。
启动服务:通过 Uvicorn 启动开发服务器,添加--reload参数可自动监听代码变更并重启。
uvicorn main:app --reload
口译模式(计算问答)
此功能官方命名为“口译模式”,本质上是一种计算型问答能力。它基于 E2B.dev 提供的自定义运行时,能够动态执行代码以回答需要数值运算的问题。若要在云环境中启用,申请一个 API 密钥即可;若希望在本地部署,官方也提供了详细的配置指南。
使用指南
Super-Rag 的内置 API 基于 FastApi 构建,接口设计清晰简洁。整个工作流程围绕三个核心操作:数据摄入、查询检索、数据删除。以下直接给出实际调用示例。
文档摄取
将文档导入系统并进行索引。请求体支持丰富的配置项,包括嵌入模型选择、分块策略、向量数据库地址等,均可按需指定。
// POST: /api/v1/ingest
// Payload
{
"files": [
{
"name": "My file", // 可选
"url": "https://path-to-my-file.pdf"
}
],
"document_processor": { // 可选
"encoder": {
"dimensions": 384,
"model_name": "embed-multilingual-light-v3.0",
"provider": "cohere"
},
"unstructured": {
"hi_res_model_name": "detectron2_onnx",
"partition_strategy": "auto",
"process_tables": false
},
"splitter": {
"max_tokens": 400,
"min_tokens": 30,
"name": "semantic",
"prefix_summary": true,
"prefix_title": true,
"rolling_window_size": 1
}
},
"vector_database": {
"type": "qdrant",
"config": {
"api_key": "YOUR API KEY",
"host": "THE QDRANT HOST"
}
},
"index_name": "my_index",
"webhook_url": "https://my-webhook-url"
}
文档查询
索引完成后,即可通过自然语言进行提问。可以在此处启用代码解释器模式,并指定用于检索的向量索引。
// POST: /api/v1/query
// Payload
{
"input": "What is ReAct",
"vector_database": {
"type": "qdrant",
"config": {
"api_key": "YOUR API KEY",
"host": "THE QDRANT HOST"
}
},
"index_name": "YOUR INDEX",
"interpreter_mode": true,
"encoder": {
"provider": "cohere",
"name": "embed-multilingual-light-v3.0",
"dimensions": 384
},
"exclude_fields": ["metadata"], // 排除特定字段
"interpreter_mode": False, // 若需要进行计算型问答,设为True
"session_id": "my_session_id" // 保持会话,支持缓存
}
文档删除
需要清理数据时,通过文件 URL 即可从对应索引中移除。
// POST: /api/v1/delete
// Payload
{
"file_url": "A file url to delete",
"vector_database": {
"type": "qdrant",
"config": {
"api_key": "YOUR API KEY",
"host": "THE QDRANT HOST"
}
},
"index_name": "my_index",
}
项目链接
完整源码及详细文档均可在以下地址获取,直接取用即可。
