MaxKB 上手指南Vue Django LangChain 如何搭出一个企业级智能问答平台【免费下载链接】MaxKB MaxKB is an open-source platform for building enterprise-grade agents. 强大易用的开源企业级智能体平台。项目地址: https://gitcode.com/GitHub_Trending/ma/MaxKBMaxKB 是一个开源智能问答平台把企业文档喂给大模型靠 RAG 工作流让 AI 基于你自己的知识库回答问题。前端 Vue 3后端 Django 5AI 侧由 LangChain 统一调度 20 多种模型。项目定位它解决什么问题一句话MaxKB 让你不写一行算法代码就能把内部文档变成会回答问题的知识库并把问答能力接入网页、API 或嵌入页面。能力它帮你做什么知识库管理上传 PDF、Word、Excel、CSV 等文件自动解析、分块、向量化智能问答RAG 检索 大模型生成答案可溯源到具体文档段落可视化工作流拖拽节点编排问答链路含 AI 对话、知识库检索、数据库查询、工具调用等 30 余种节点多模型接入OpenAI、DeepSeek、智谱、通义、本地 Ollama/Xinference 等 20 余种模型提供商工具与 MCP内置数据库、联网搜索等工具支持 MCP 协议扩展外部能力权限与分享工作区资源级权限、API 密钥可设过期时间、只读分享链接一次提问走了哪些组件先记住两条线离线入库和在线问答它们在同一条数据库里汇合。入库文档上传后用 pypdf、python-docx、openpyxl 等库提取文本jieba 辅助中文处理。分块按语义和长度规则把文档切成段落每个段落是后续检索的最小单位。向量化段落文本调 embedding 模型变成向量同时写入 PostgreSQL 的全文检索字段一条数据两份检索入口。检索问题向量化后做余弦相似度搜索或按关键词全文检索或两者混合取 Top N 段落。生成段落装进提示词交给 LLM答案通过流式接口逐字推给前端。这条链路不是写死的。apps/application/flow/step_node/ 下每个目录就是一种节点你可以自由插入条件分支、参数提取、工具调用。下图是工作流编排界面左侧拖节点、右侧调试三大技术支柱一张表看懂层技术职责关键组件为什么选它前端Vue 3 TypeScript Vite 6管理台与聊天页面Element Plus、Pinia、Vue Router、logicflow工作流画布组件化开发、类型推断Vite 构建快后端Django 5 DRFREST API、认证、权限、任务调度Django REST Framework、Celery Redis、Gunicorn开发效率高ORM 少写 SQL生态成熟AI 调度LangChain 1.x LangGraph统一抽象模型调用、工作流状态编排langchain-openai / deepseek / anthropic、langchain-mcp-adapters一套接口调 20 多种提供商复杂流程用图表达三者分工很清晰Vue 管你看到什么Django 管数据与规则LangChain 管怎么问模型。MaxKB 的这套技术栈组合本质是把 AI 的不确定性关在 LangChain 这一层业务层始终是可预测的 Web 应用。向量库为什么选 pgvector结论向量、元数据、全文索引放在同一个 PostgreSQL 里少维护一套中间件还能让向量检索 元数据过滤在一条 SQL 里完成。同库同表段落文本、向量、知识库/文档 ID 都在embedding表里删文档时一次事务清干净不会出现向量还在、文档已删的漂移。组合查询WHERE knowledge_id ? AND is_active的同时做余弦距离排序多知识库命中后按分数合并截断。索引策略按知识库粒度建 partial HNSW 索引单库查询走索引跨库则逐库查再合并源码注释明确写了这一点。三种检索模式纯向量、纯关键词、混合用SearchMode切换SQL 模板放在apps/knowledge/sql/下。检索的核心就一行算子——是 pgvector 的余弦距离SELECT paragraph_id, (embedding::vector $1) AS distance FROM embedding WHERE knowledge_id $2 AND is_active ORDER BY distance LIMIT 5;具体实现在 apps/knowledge/vector/pg_vector.py。反过来MaxKB 也把工作流做成了数据库客户端在下图的工作流里加一个 PostgreSQL 查询节点AI 就能直接查你的业务库三步完成容器化部署MaxKB 部署的省事之处一个 Docker 镜像里打包了 Gunicorn、Celery、PostgreSQL已装 vector 扩展、Redisstart-all.sh按顺序拉起并做端口探测。git clone https://gitcode.com/GitHub_Trending/ma/MaxKB cd MaxKB docker compose up -d服务之间如何拆分一张表说清服务技术栈职责Web / APIDjango 5 GunicornREST 接口与前端静态资源监听 8080异步任务Celery Redis文档解析、分块、向量化等耗时操作数据库PostgreSQL 17 pgvector业务数据、向量存储、全文索引缓存 / 队列Redis会话缓存、Celery 任务队列前端Nginx Vite 构建产物管理台与独立聊天页chat.html所有配置走环境变量MAXKB_DB_HOST、MAXKB_REDIS_PASSWORD等镜像构建逻辑见 installer/。上线后盯四类指标类别关注指标排查方向应用接口响应时间、QPSGunicorn worker 数、连接池溢出默认 MAX_OVERFLOW80数据库慢查询、连接数HNSW 索引覆盖、apps/*/sql/下的模板 SQL缓存Redis 命中率、内存热 key、缓存过期策略模型调用延迟、token 消耗模型选型、提示词长度、引用段落数权限与自定义模型安全边界与扩展点 权限体系分四道关卡登录账号密码 图形验证码密码前端 RSA 加密传输。工作区权限知识库、应用、模型按资源粒度控制成员可见性与操作权。开放 API每个应用可签发 API 密钥并设置过期时间供外部系统调用。对外分享聊天分享链接 可嵌入的embed.js访客无需登录即可问答。接入一个自定义模型模型提供商的实现在apps/models_provider/下一个目录对应一家厂商内部按 llm / embedding / tts / stt / tti 分文件统一继承BaseModelProvider。要接一家新厂商或私有化部署的模型实现get_model_list和get_model两个方法模型管理台里就会出现新选项工作流无需改动。选型建议谁适合 MaxKB场景判断文档问答开箱即用✅ 适合。上传文档即可问答答案带段落溯源公有云模型 本地私有模型混用✅ 适合。20 余种提供商统一抽象随时切换需要可审计、可嵌入的问答入口✅ 适合。API 密钥、分享链接、嵌入页都有只要单轮聊天 demo❌ 不需要。直接调模型 API 更轻上亿级向量的超大规模检索⚠️ 谨慎。pgvector 够用但不是极限方案建议评估专用向量库你的下一步可以这样做跑起来按上面三步docker compose up -d上传一份内部 PDF体验完整 RAG 流程。读检索看apps/knowledge/sql/下 embedding、keywords、blend 三个 SQL 文件20 行代码看懂三种检索模式。做扩展在apps/models_provider/里复制一个目录改成对接你们内网的模型服务。【免费下载链接】MaxKB MaxKB is an open-source platform for building enterprise-grade agents. 强大易用的开源企业级智能体平台。项目地址: https://gitcode.com/GitHub_Trending/ma/MaxKB创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
