RAGFlow:开源 RAG 引擎 2026 版
RAGFlow 是开源检索增强生成引擎。支持文档解析、向量检索、LLM 生成。可视化管道构建。
- ⭐ 8900
- Python
- Elasticsearch
- Milvus
- Apache 2.0
- 更新于 2026-05-18
什么是 RAGFlow? #
RAGFlow 是开源检索增强生成引擎。支持文档解析、向量检索、LLM 生成。提供可视化管道构建界面。
安装 #
Docker 部署 #
git clone https://github.com/ragflow-io/ragflow.git
cd ragflow/docker
docker-compose up -d
手动安装 #
pip install ragflow
ragflow-server --port 8080
核心功能 #
文档解析 #
- PDF:文本 + 图片
- Office:Word、Excel、PPT
- 多媒体:音频转文字、视频关键帧
- 网页:爬取 + 解析
向量检索 #
| 存储 | 说明 |
|---|---|
| Milvus | 大规模,GPU 加速 |
| Elasticsearch | 全文检索 + 向量 |
| SQLite | 小规模,本地 |
| PostgreSQL | pgvector 扩展 |
LLM 生成 #
- OpenAI:GPT-4、GPT-3.5
- Anthropic:Claude
- Ollama:本地模型
- GLM:智谱 AI
- Qwen:阿里巴巴
使用流程 #
1. 创建工作区 #
from ragflow import RAGFlowClient
client = RAGFlowClient()
workspace = client.create_workspace("知识库")
2. 上传文档 #
# 命令行
ragflow upload --workspace my-bdd --file documents/
# 或通过 API
documents = workspace.upload_files(["doc1.pdf", "doc2.docx"])
3. 解析文档 #
# 自动解析
chunk_manager = workspace.build_chunks_kg(all_time=True)
4. 向量化 #
# 选择嵌入模型
embeddings = workspace.set_embeddings(
model_name="text-embedding-3-small"
)
embeddings.vectorize_job(all_time=True)
可视化构建 #
管道设计器 #
文档 → 解析 → 分块 → 向量化 → 检索 → 生成
节点配置 #
- 解析器:选择 OCR、规则、AI
- 分块器:按页、句子、语义
- 向量模型:embedding 参数
- 检索器:Top-K、相似度
- 重排器:RRF、MMR
API 接口 #
REST API #
# 查询
curl -X POST http://localhost:8080/api/v1/datasets/{dataset_id}/chat/completions \
-H "Content-Type: application/json" \
-d '{"question": "解释一下这个项目"}'
Python SDK #
from ragflow import RAGFlow
rf = RAGFlow()
dataset = rf.get_dataset("my-dataset")
answer = dataset.query("项目的技术栈是什么?")
print(answer)
部署优化 #
资源配置 #
| 模型 | 推荐内存 | 显存 |
|---|---|---|
| 7B | 16GB | 8GB |
| 13B | 32GB | 12GB |
| 34B | 64GB | 24GB |
生产配置 #
# docker-compose.override.yml
services:
ragflow:
environment:
- RAGFLOW_WEB_SERVER_PORT=8080
- RAGFLOW_EMBEDDING_MODEL=text-embedding-3-small
- RAGFLOW_VECTOR_STORE=Milvus
高级功能 #
知识图谱 #
# 构建实体关系
kg = workspace.create_kg()
entities = kg.extract_entities(documents)
relations = kg.extract_relations(entities)
评估指标 #
# RAG 评估
evaluator = workspace.create_evaluator()
metrics = evaluator.evaluate(ground_truth, predictions)
常见问题 #
Q: RAGFlow 支持多租户吗?
答:支持。通过 workspace 隔离数据。
Q: 如何提高检索准确度?
答:增加文档、调整分块、使用混合检索、添加重排器。
Q: 支持私有化部署吗?
答:完全开源。可离线部署,数据不出本地。
总结 #
RAGFlow 把「RAG 实战」变成「拖拽式」工作流程。从文档到答案,一键完成。
参考:ragflow.io 更新:2026-05-18
💬 留言讨论