R可商用的企业知识库RAG + Agent + 工作流平台

发布时间:2026/7/30 2:48:19
R可商用的企业知识库RAG + Agent + 工作流平台 AI Server 开源一套可商用的企业知识库 Agent 工作流平台文章标签AI 知识库、RAG、Agent、工作流、FastAPI、React、开源项目开源协议MIT License可用于个人项目、企业内部系统和商业化二次开发如果你正在搭建企业 AI 应用通常很快就会遇到这些问题企业知识分散在文档和业务系统中普通大模型无法直接使用只向量化知识标题时正文中的信息很难被召回把标题和全文拼接后再向量化又容易让用户意图被长正文稀释同一条知识可能被多个索引重复召回挤占有限的 Top-K知识编辑或删除后数据库与向量库容易出现脏数据知识问答做好后还需要 Agent、工具调用、工作流、权限和审计能力。为解决这些问题我将AI Server以 MIT License 开源。它不是单一的聊天页面而是一套面向组织的 AI 应用管理平台覆盖企业知识库、增强检索、Agent、工作流、模型配置、开放 API、用户权限和调用审计。项目地址项目同时托管在 GitHub 和 Gitee两个仓库保持同步可以根据网络环境任选一个访问GitHubhttps://github.com/DalaoT/ai-serverGiteehttps://gitee.com/sugar_box/aizhishikuagentgongzuoliup如果项目对你有帮助欢迎 Star、提交 Issue 或参与 Pull Request。一、项目能做什么AI Server 当前提供以下主要能力多组织、用户和角色管理大语言模型、向量模型、视觉模型等统一配置企业知识库、文档解析和内容分块问题/意图层与内容层的分层向量检索检索结果按知识聚合、去重和融合排序单条知识或整个知识库的一键索引重建Agent、组件、自定义工具和工作流编排对话体验、会话记录、调用日志、积分和操作审计API Key、客户端和开放 API 管理可选的微信小程序客户端。它比较适合以下场景企业内部制度、产品资料和操作手册问答售前、售后和智能客服知识助手面向多个部门或客户的多租户 AI 平台将知识库、模型和业务工具组合成业务 Agent用可视化工作流编排重复性的 AI 处理流程在现有业务系统中通过 API 接入知识问答或 Agent。二、产品界面1. 知识库管理2. 知识内容管理3. 知识库体验中心4. 企业用户管理以上界面均使用演示数据。三、知识库检索是怎样增强的1. 为什么不只向量化知识名称只向量化知识名称或主问题优点是意图明确、向量短但用户询问正文中的某个细节时如果表达方式没有出现在标题中就很难召回对应知识。例如一条知识的标题是“退款管理规定”正文中写了“到账时间通常为 3—5 个工作日”。用户直接询问“钱多久能退回来”只依赖标题向量就可能无法命中正文中的时间信息。2. 为什么不直接把名称和全文拼接将标题、问题和长正文全部拼成一个文本再生成单个向量虽然实现简单但也存在明显问题正文越长标题表达的核心意图越容易被稀释一个向量同时承担“意图匹配”和“细节匹配”难以分别调节文档修改后只能整体重算超长内容还会受到模型输入长度和截断策略影响。3. 多表示、双通道召回AI Server 采用“多表示 晚融合”的方式。一条知识可以建立两类向量表示question知识名称、主问题和扩展问法用于匹配用户的明确意图content知识正文用于召回标题中没有出现的事实和细节。查询流程可以简化为┌─ 问题/意图层向量 ─ 并行召回 ─┐ 用户问题 ─ 查询向量 ─┤ ├─ 按 knowledge_id 聚合去重 └─ 正文内容层向量 ─ 并行召回 ─┘ ↓ 加权融合与统一排序 ↓ Top-K 知识上下文问题层可以给予更高的意图匹配权重内容层负责补充正文细节。两路结果不是简单拼接而是按照稳定的knowledge_id聚合避免同一条知识因为命中多个扩展问法而反复占用 Top-K。这种方式兼顾了两类召回目标用户问题与知识名称接近时问题层可以快速、准确地命中用户直接询问正文细节时内容层仍有机会召回正确知识同一知识多次命中时会被合并不会重复塞入大模型上下文后续可以独立增加关键词检索、BM25 或重排模型而不必推翻现有结构。4. 编辑、删除与索引一致性数据库与向量数据库通常不支持跨系统事务。因此真正困难的并不只是“生成向量”还包括编辑、删除、失败恢复和重建。AI Server 的处理思路包括每个向量文档保存稳定的知识 ID、来源类型和向量文档 ID一条知识可以对应一个内容向量和多个问题向量编辑知识时重建新索引并清理旧向量删除知识时同时删除关联问题索引和向量文档显式记录索引状态外部调用失败后仍然可以重新修复支持重建单条知识也支持一键重建整个知识库。整库重建适用于从旧版“只向量化名称”升级到分层索引更换向量模型或向量维度更换 DashVector 集群批量导入或修改知识数据库与向量库状态可能不一致。四、Agent 与工作流知识检索解决了“找到正确资料”的问题但企业应用往往还需要根据资料执行具体任务。AI Server 提供 Agent、组件、自定义工具和工作流能力可以将以下内容组合起来Agent 提示词与角色设定企业知识库大语言模型和其他 AI 模型内部接口或第三方工具可复用的业务组件多步骤工作流。例如可以构建查询产品知识后生成售前方案的 Agent读取企业制度并回答员工问题的内部助手根据用户输入调用业务接口的客服 Agent将分类、知识检索、模型生成和结果处理串联起来的工作流。平台同时保留会话、模型调用、积分和操作日志便于定位模型错误、工具超时、权限问题和实际使用成本。五、企业级管理能力除了知识问答与 Agent项目还提供了面向组织管理的基础能力。多组织与角色系统内置以下角色层级角色典型用途host平台级配置、组织和全局资源管理admin组织管理operation日常运营和知识维护user使用已授权的对话与应用不同组织可以绑定自己的模型、知识库和资源配置适合企业内部多部门管理也方便二次开发成面向客户的多租户平台。模型与外部服务管理端可以配置不同用途的 AI 能力大语言模型对话、Agent 和文本生成向量模型知识入库与查询向量化多模态或视觉模型图片和文档内容处理DashVector保存和查询知识向量OSS可选的上传文件对象存储。API 与审计系统支持 API Key、客户端配置和开放 API并提供聊天日志、积分记录、操作日志、拦截词和拦截日志。生产使用时模型 Key、数据库密码和管理密钥应只保存在服务端。不同应用应使用独立凭据便于限权、审计、撤销和轮换。六、技术栈与系统结构项目采用前后端分离架构模块技术后端Python、FastAPI、SQLAlchemy管理端React、Umi、TypeScript业务数据库MySQL开发环境可使用 SQLite缓存与临时状态Redis向量数据库阿里云 DashVector文件存储阿里云 OSS可选部署Docker、Docker Compose、Nginx可选客户端微信小程序整体调用关系如下浏览器 / 小程序 / 第三方系统 │ ▼ Nginx Umi 管理端 │ ▼ FastAPI 后端 ┌──────┼────────┐ ▼ ▼ ▼ MySQL/SQLite Redis AI 模型 │ DashVector / OSS本地开发可以使用 SQLite完整的知识库向量检索需要配置向量模型和 DashVector。生产环境建议使用 MySQL、Redis、HTTPS 和反向代理。七、使用 Docker Compose 快速部署环境要求Docker 24Docker Compose v2可用的大语言模型和向量模型阿里云 DashVectorOSS 为可选项1. 克隆项目GitHubgitclone https://github.com/DalaoT/ai-server.gitcdai-server或者使用 Giteegitclone https://gitee.com/sugar_box/aizhishikuagentgongzuoliup.gitcdaizhishikuagentgongzuoliup2. 创建环境配置cp.env.example .env修改.env至少替换以下配置MYSQL_PASSWORD请替换为随机密码 MYSQL_ROOT_PASSWORD请替换为另一个随机密码 SECRET_KEY请替换为至少32位的随机字符串不要把修改后的.env、模型 API Key、数据库备份或业务日志提交到 Git。3. 启动服务dockercompose up-d--builddockercomposeps4. 创建第一个平台管理员dockercomposeexecbackend python scripts/create_host.py5. 访问系统管理端http://localhost:8101API 文档http://localhost:8102/docs健康检查http://localhost:8102/api/health八、首次使用建议登录系统后可以按照下面的顺序配置添加大语言模型添加向量模型在全局配置中填写 DashVector按需配置 OSS创建组织并分配管理员为组织绑定大语言模型和向量模型创建知识库并录入知识生成或重建知识索引在知识库体验中心测试典型问题创建 Agent、工具和工作流。知识库效果不理想时建议先检查召回结果不要直接修改 Agent 提示词。可以重点检查知识标题是否表达了真实的用户意图正文内容是否过长、是否需要按主题分块扩展问法是否覆盖常见表达向量模型与 DashVector 是否配置正确更换模型后是否执行了整库重建同一知识的重复召回是否已经正确聚合。九、MIT 开源与商业使用AI Server 使用 MIT License。你可以用于个人项目或企业内部系统修改源码并进行二次开发集成到商业产品分发、再许可或销售修改后的软件。使用和分发时需要保留 MIT License 中的版权声明和许可声明。需要注意的是MIT License 只覆盖本项目源码不代表外部服务免费。大模型、向量模型、DashVector、OSS 以及其他第三方 API 可能产生费用也需要遵守各自的服务条款和许可证。十、当前限制与后续方向为了让使用者能够合理评估项目下面是目前需要注意的限制当前向量数据库实现以阿里云 DashVector 为主Docker Compose 示例主要面向单机部署大规模知识库的索引重建后续可以进一步改造成异步任务高可用、集中监控、跨区域备份需要结合实际生产环境补充存量数据库升级前应先备份并审核和验证迁移脚本。后续可以继续扩展抽象统一的VectorStore接口支持 Qdrant、pgvector、Milvus对超长正文使用块级向量并继续按知识聚合加入关键词/BM25 通道形成混合检索增加重排模型提高最终 Top-K 精度建立离线测试集评估 RecallK、MRR 和最终回答正确率将索引任务改造成支持进度、重试和死信队列的后台任务。结语企业知识库并不只是“把文档向量化”还需要处理召回精度、重复结果、数据一致性、权限、审计、模型配置和实际业务执行。AI Server 希望把这些常见能力整理成一套可以直接部署、持续扩展的开源基础平台。如果你正在开发企业知识库、RAG、Agent 或工作流应用可以从这个项目开始体验也欢迎一起完善。GitHubhttps://github.com/DalaoT/ai-serverGiteehttps://gitee.com/sugar_box/aizhishikuagentgongzuoliup如果觉得项目有价值欢迎 Star、Fork、提交 Issue 或 Pull Request。