开源推荐 | ModelX RAG基于 LangChain Ollama 的企业级知识库系统最近开源了一个非常实用的项目qyhua0/rag名为ModelX RAG。这是一个基于 LangChain v0.3 FastAPI Ollama Vue3 构建的企业级 RAG检索增强生成知识库系统。如果你正在寻找一个可私有化部署、支持多格式文档、能流式问答的知识库解决方案这个项目值得你重点关注。 项目简介ModelX RAG的核心目标是帮助企业快速搭建专属的本地知识库让大模型能够基于企业内部文档进行精准问答。它支持多格式文档解析PDF / Word / Excel / TXT / 图片PaddleOCR向量检索ChromaDB Qwen3-Embedding-8B 嵌入模型流式问答SSE 流式输出实时打字效果️多知识库管理独立管理互不干扰引用溯源每次回答标注文档来源和相似度特别适合技术团队、知识密集型部门或需要构建内部问答助手的场景。️ 技术架构一览后端技术栈├── FastAPI 0.115 # 高性能 Web 框架 ├── LangChain v0.3 # RAG 核心框架 ├── langchain-ollama # 本地 LLM 接入 ├── langchain-chroma # 向量存储封装 ├── ChromaDB # 持久化向量数据库 ├── Ollama # 本地模型运行时 │ ├── qwen2.5:7b # 对话模型可替换 │ └── qwen3-embedding-8b # 嵌入模型 ├── PaddleOCR # 图片文字识别 ├── SQLAlchemy 2.0 # ORM 框架 └── MySQL 5.7 # 业务数据存储前端技术栈├── Vue 3.5 # UI 框架 ├── Vite 6 # 构建工具 ├── Tailwind CSS 3 # 原子化样式框架 ├── Pinia # 状态管理 └── marked # Markdown 渲染亮点全栈开源、本地部署、无需依赖云服务数据完全可控。 5 分钟快速上手1️⃣ 前置准备# 检查环境python3--version# 需要 3.10node--version# 需要 18mysql-uroot-p# MySQL 5.7ollama serve# 启动 Ollama 服务2️⃣ 拉取模型# 嵌入模型必须ollama pull qwen3-embedding-8b# 对话模型按需选择ollama pull qwen2.5:7b# 或更大模型ollama pull qwen2.5:14b3️⃣ 配置后端编辑backend/.envDATABASE_URLmysqlpymysql://root:your_passwordlocalhost:3306/rag_db OLLAMA_BASE_URLhttp://localhost:11434 OLLAMA_LLM_MODELqwen2.5:7b OLLAMA_EMBEDDING_MODELqwen3-embedding-8b UPLOAD_DIR./uploads CHUNK_SIZE1000 CHUNK_OVERLAP200 TOP_K54️⃣ 启动服务# 启动后端cdbackend./start.sh# 启动前端cdfrontend./start.sh5️⃣ 访问系统地址说明http://localhost:3000前端界面 http://localhost:8000/docsAPI 文档Swaggerhttp://localhost:8000/api/system/health健康检查 ✅ 核心使用流程1️⃣ 新建知识库 → 选择图标、填写名称描述 2️⃣ 上传文档 → 支持拖拽上传 / 本地目录批量导入 3️⃣ 等待处理 → 文档自动解析 → 分块 → 向量化状态实时刷新 4️⃣ 开始对话 → 基于知识库内容问答自动引用来源支持的文档格式格式说明.pdf文本直接提取图片页自动 OCR.docx段落 表格内容提取.xlsx多 Sheet 提取.txt / .md / .csv自动编码检测.jpg / .pngPaddleOCR 中文文字识别特别推荐对于扫描版 PDF 或含图表的文档项目内置的 PaddleOCR 能自动识别图片中的文字大幅提升知识库覆盖率。⚙️ RAG 参数调优指南参数默认值调优建议CHUNK_SIZE1000越小检索越精准但上下文可能不完整技术文档建议 800-1200CHUNK_OVERLAP200保持块间连贯性避免关键信息被截断TOP_K5返回最相关的片段数问答场景 3-8 较合适 小技巧如果回答不够准确可先尝试增大TOP_K或调整CHUNK_SIZE再观察效果。 常见问题速查❓ PaddleOCR 安装失败# 使用国内镜像加速pipinstallpaddlepaddle-ihttps://pypi.tuna.tsinghua.edu.cn/simple pipinstallpaddleocr❓ Ollama 连接失败# 检查服务是否运行curlhttp://localhost:11434/api/tags❓ 文档一直处理中检查后端日志logs/app.log嵌入模型首次调用需初始化耐心等待 1-2 分钟 API 调用示例开发者友好# 创建知识库curl-XPOST http://localhost:8000/api/kb\-HContent-Type: application/json\-d{name:技术文档,icon:⚙️,description:内部技术规范}# 上传文件curl-XPOST http://localhost:8000/api/doc/upload\-Fkb_id1-Ffilesreport.pdf# 导入本地目录批量处理神器curl-XPOST http://localhost:8000/api/doc/import-path\-HContent-Type: application/json\-d{kb_id:1,path:/data/docs,recursive:true}# 发起问答curl-XPOST http://localhost:8000/api/chat/send\-HContent-Type: application/json\-d{kb_id:1,question:请介绍一下系统架构} 为什么推荐这个项目开箱即用提供完整的前后端代码和启动脚本5 分钟即可本地运行完全私有化所有数据、模型均在本地适合对数据安全要求高的企业技术栈主流FastAPI Vue3 LangChain易于二次开发和团队维护中文优化集成 Qwen 系列模型 PaddleOCR对中文文档支持友好持续更新作者活跃维护近期仍有代码优化提交截至 2026.3 项目地址 贡献 GitHub: https://github.com/qyhua0/rag License: MIT如果你在使用过程中遇到问题或有好的功能建议欢迎通过 GitHub Issues 与作者交流。开源项目的发展离不开每一位使用者的反馈与贡献 结语在私有化大模型应用落地的今天知识库 RAG已成为企业提效的关键路径。ModelX RAG 以轻量、易用、可控为核心为中小团队提供了一个高质量的起点方案。无论你是想搭建内部技术问答助手还是为产品集成知识检索能力这个项目都值得你花 10 分钟尝试一下,如果是想学习的同学特别是初学者建议下载mvp版本源码该版本也是一个完整的mvp功能基础可用非常适合理解入门。小提醒首次部署建议预留 30 分钟用于模型下载和环境配置。遇到报错先查日志90% 的问题都能快速定位解决。