MaxKB:基于 LLM 的开源知识库问答系统详解
MaxKB 是基于大语言模型构建的开源知识库问答系统,支持开箱即用、模型中立及灵活编排。该系统采用 Vue.js 前端与 Python/Django 后端,结合 LangChain 与 pgvector 向量数据库,可快速嵌入第三方业务。文章详细介绍了 MaxKB 的技术架构、核心功能、Docker 部署步骤、知识库管理及 API 集成方法,适用于企业内部知识库、客户支持系统及网站 AI 助手等多种场景。

MaxKB 是基于大语言模型构建的开源知识库问答系统,支持开箱即用、模型中立及灵活编排。该系统采用 Vue.js 前端与 Python/Django 后端,结合 LangChain 与 pgvector 向量数据库,可快速嵌入第三方业务。文章详细介绍了 MaxKB 的技术架构、核心功能、Docker 部署步骤、知识库管理及 API 集成方法,适用于企业内部知识库、客户支持系统及网站 AI 助手等多种场景。

MaxKB 是一个由国人开发的基于大语言模型(LLM)的知识库问答系统。它具备开箱即用、模型中立、灵活编排的特点,支持快速嵌入到第三方业务系统中。这款开源项目让开发者能够迅速搭建属于自己的 AI 知识库问答系统,无论是技术新手还是资深工程师,都能在较短时间内完成部署与使用。
MaxKB 自发布以来,在社区中获得了广泛关注,版本迭代频繁,开发者与用户之间的互动积极,Issue 提交和处理也非常活跃。这证明了其在技术社区中的受欢迎程度和持续发展的潜力。

MaxKB 采用现代化的技术架构,确保了系统的可扩展性与维护性:
支持直接上传文档,或自动爬取在线文档,快速构建知识库。结合智能问答功能,用户可以直接与知识库进行交互,体验出色的 AI 助手服务。无需复杂的配置即可开始使用。
支持对接多种主流大语言模型,包括 Llama3、OpenAI、通义千问等。用户可以根据需要选择最适合自己的模型,实现个性化问答服务,避免被单一厂商锁定。
内置强大的工作流引擎,支持编排 AI 工作过程,能够适应各种复杂业务需求。无论是简单的知识检索,还是复杂的业务流程,MaxKB 都能轻松应对。通过可视化界面调整 Prompt 和工作流。
可以快速嵌入到现有的第三方业务系统中,为已有系统增添智能问答能力,显著提升系统的智能化水平。支持 iframe 嵌入或 API 调用方式。

为了帮助开发者快速上手,以下提供基于 Docker 的部署方案。
git clone https://github.com/langgenius/dify.git
cd dify
docker compose -f docker/docker-compose.yml up -d
注:MaxKB 的具体仓库地址请参考官方 GitHub 页面,上述命令为通用 Docker Compose 启动示例。
在 docker-compose.yml 或 .env 文件中配置环境变量,主要包括数据库连接信息和模型 API Key。
environment:
- DB_HOST=postgres
- DB_PORT=5432
- DB_USER=postgres
- DB_PASSWORD=your_password
- REDIS_HOST=redis
- REDIS_PORT=6379
# 模型配置示例
- OPENAI_API_KEY=sk-xxxxx
- MODEL_PROVIDER=openai
首次启动时,Docker Compose 会自动执行数据库迁移脚本,初始化 PostgreSQL 和 pgvector 扩展。
docker exec -it maxkb-db psql -U postgres -c "CREATE EXTENSION vector;"
启动完成后,访问 http://localhost:3000 即可进入 MaxKB 管理后台。默认管理员账号通常为 admin,初始密码请查看官方文档或日志输出。
MaxKB 支持多种文档格式的解析,包括 PDF、Word、Markdown、TXT 等。系统会自动对文档进行分块(Chunking),并生成对应的向量索引存入 pgvector。
# 伪代码示例:文档分块逻辑
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=1000,
chunk_overlap=200
)
texts = splitter.split_text(document_content)
在知识库详情页,可以使用内置的测试窗口输入问题,验证检索效果。系统会返回引用来源和回答内容,方便调试 Prompt 和检索参数。
MaxKB 提供了标准的 RESTful API,便于与其他系统集成。
curl -X POST http://localhost/api/v1/chat-messages \
-H "Content-Type: application/json" \
-d '{"question": "你好", "conversation_id": null}'
支持 SSE(Server-Sent Events)流式输出,提升用户体验。
const eventSource = new EventSource('/api/v1/chat-messages/stream');
eventSource.onmessage = (event) => {
console.log(JSON.parse(event.data));
};
MaxKB 适合各种场景,包括但不限于:
MaxKB 是一款简单高效的 AI 知识库系统,凭借其灵活的架构和对多种模型的支持,成为企业和个人搭建 AI 应用的理想选择。它不仅提高了工作效率,还能为用户提供更加智能和便捷的体验。随着大模型技术的不断演进,MaxKB 将持续优化其功能,为用户提供更优质的服务。
如果你正在寻找一款易于部署且功能强大的 AI 知识库系统,MaxKB 值得深入研究和尝试。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online