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 三步部署 + 开源无调用限制 + 向量检索与知识图谱结合

技术选型四维评估框架(权重由高到低):

  1. 成本(40%):初期零云成本,优先开源社区版和免费额度
  2. 可扩展性(25%):支持多用户、文件管理、API 集成
  3. 部署维护复杂度(20%):一条命令或几分钟完成,不依赖复杂运维
  4. 文档社区活跃度(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⭐⭐⭐⭐(本地环境)⚠️ 仅本地免费单机验证原型

相关页面