Yuxi
轻量级开源 RAG 知识库框架,结合向量检索与知识图谱,支持 Docker 三步部署和完整 RESTful API
简介
Yuxi 是一个开源的轻量级 RAG 知识库框架,专为快速搭建企业级或个人知识管理系统设计。它结合了向量检索(Milvus)和知识图谱能力,提供完整的 RESTful API 支持流式输出(SSE),通过 Docker Compose 实现一键部署。相比 Dify 等复杂工作流平台,Yuxi 更聚焦于知识库核心功能,适合轻量级场景和快速 MVP 验证。
关键信息
| 项目 | 内容 |
|---|---|
| 类型 | 开源 RAG 知识库框架 |
| 部署方式 | Docker Compose 一键部署 |
| 核心能力 | 向量检索 + 知识图谱 + 流式输出 API |
| 技术栈 | Python + Milvus + MinIO + PostgreSQL |
| API 支持 | RESTful API + SSE 流式输出 |
| 社区特性 | 完全开源,无调用次数限制 |
| Web 管理界面 | http://localhost:5173 |
| API 文档 | http://localhost:5050/docs |
核心特性
技术架构
Yuxi 的完整技术栈:
前端 Web 界面(Vue.js)
↓
后端 API(Python FastAPI)
↓
向量检索层(Milvus 2.5.x)+ 对象存储(MinIO)
↓
大模型层(支持多种 API:OpenAI / 通义 / 硅基流动等)
一键部署流程
步骤一:浅克隆代码(节省 80% 下载量)
git clone --depth 1 https://github.com/Yuxi-Project/yuxi.git
cd yuxi步骤二:配置环境变量
cat > .env << EOF
POSTGRES_USER=yuxi
POSTGRES_PASSWORD=your_secure_password
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
EOF步骤三:启动服务
docker-compose up -d首次启动需要 2-3 分钟拉取镜像和编译。
步骤四:验证访问
Docker 镜像加速(国内用户)
如果拉取镜像慢,配置国内镜像源:
打开 Docker Desktop → Settings → Docker Engine,添加:
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://docker.mirrors.ustc.edu.cn"
]
}流式输出 API
Yuxi 提供 SSE(Server-Sent Events)风格的流式输出 API,响应结构:
// 加载过程中,逐字/词输出
{"content": "AI", "status": "loading"}
{"content": "在零售", "status": "loading"}
{"content": "场景应用", "status": "loading"}
...
// 输出结束标记
{"content": "完整回答", "status": "finished"}关键特性:
- 大模型不是一次性返回所有结果,而是逐步输出
- 每个响应是 JSON 片段
- 客户端需持续读取直到
"status": "finished"
中文编码问题修复
如果遇到 “ASCII 编码不认识中文” 错误,修改 Yuxi 后端代码:
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')重启服务后生效。
不同素材中的观点
来自 2026-06-17-woshipm-ai-knowledge-base-product-design:
技术选型决策过程:
- 王佳亮对比了 Cherry Studio、MaxKB、WeKnora、Dify 后选择 Yuxi
- 淘汰原因:
- Cherry Studio:社区版无法服务器部署,企业版太贵
- MaxKB:社区版无 API,无法与后端集成
- WeKnora:腾讯开源,文档解析接口每月仅 200 次,不适合 ToC
- Dify:适合复杂工作流,但对轻量级场景过重
- Yuxi 胜出的关键优势:完整 RESTful API + Docker 三步部署 + 开源无调用限制 + 向量检索与知识图谱结合
技术选型四维评估框架(权重由高到低):
- 成本(40%):初期零云成本,优先开源社区版和免费额度
- 可扩展性(25%):支持多用户、文件管理、API 集成
- 部署维护复杂度(20%):一条命令或几分钟完成,不依赖复杂运维
- 文档社区活跃度(15%):遇到问题能快速找到解决方案
产品化集成:
- 后端使用 C#.NET MVC,调用 Yuxi API 完成问答并流式转发给前端
- 对接 MinIO 对象存储实现文件上传/下载
- 关键词检索基于 Milvus 向量索引的标量过滤
- 移动端响应式设计(Bootstrap)
成本核算(20 人团队):
- 云服务器:¥200/月(2核4G)
- 对象存储:¥10/月(MinIO 自建免费)
- 大模型调用:¥50/月(硅基流动等,前期可用免费额度)
- 合计:¥260/月,人均 ¥13/月
- 对比 Notion AI(¥1400/月)或飞书知识库(¥2000/月),成本降低 87%
产品哲学:
“三天跑通全链路的粗糙行动,胜过三个月研究 K8s 配置的精致犹豫。”
选择 Yuxi 而非等待完美的 All-in-One 框架,体现了 MVP 快速验证的核心思维。
实用信息
适用场景
适合使用 Yuxi 的场景:
- 个人知识库:研究者、内容创作者管理上千份文档
- 学习社群:书友会、学习小组共享资料协同学习
- 企业知识库 MVP:客服话术库、技术文档库快速验证
- 轻量级 RAG 产品:需要 API 接入但不需要复杂工作流编排
不适合使用 Yuxi 的场景:
- 需要复杂多步工作流编排(推荐 Dify)
- 需要企业级权限治理和审计(推荐商业方案)
- 纯粹的对话 Agent(推荐 LangChain / LangGraph)
技术债务与风险管理
大模型依赖风险:
- 问题:硅基流动等第三方 API 可能变更或收费上涨
- 预案:支持 Ollama 本地模型切换(如 Qwen-14B),牺牲一定精度换取可控性
向量数据库运维:
- 问题:Milvus 单机模式下数据量增长后性能下降
- 预案:定期清理/归档旧知识库,或迁移至 Zilliz Cloud
用户数据隐私:
- 问题:开放公网需签订协议并加密传输
- 预案:所有敏感信息(API Key、文档内容)使用 AES-256 加密存储
运维注意事项
- 首次启动:等待 2-3 分钟镜像拉取和编译,耐心等待
- 中文支持:国内用户遇到编码问题需手动修复(见上方修复方法)
- Docker 资源:建议至少分配 4GB 内存给 Docker Desktop
- 端口冲突:确保 5173(前端)和 5050(后端)端口未被占用
与其他方案对比
| 方案 | 部署难度 | API 支持 | 成本 | 适用场景 |
|---|---|---|---|---|
| Yuxi | ⭐⭐(Docker 三步) | ✅ 完整 RESTful + SSE | 免费开源 | 轻量级知识库 MVP |
| Dify | ⭐⭐⭐(K8s 可选) | ✅ 完整 | 社区版免费 | 复杂工作流编排 |
| MaxKB | ⭐⭐(Docker) | ❌ 社区版无 API | 社区版免费 | 仅 Web 界面使用 |
| Ollama + Dify | ⭐⭐⭐⭐(本地环境) | ⚠️ 仅本地 | 免费 | 单机验证原型 |