DocsGPT
在私有文档库上构建 AI 问答助手,支持多模型切换和 Agent 可视化构建
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
在私有文档库上构建 AI 问答助手,支持多模型切换和 Agent 可视化构建
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个工程师在深夜维护一套陌生的大型代码库,要从数千份技术文档、Issue 讨论和产品手册中找到某个 API 的具体用法——传统方式是在 Google 里反复搜索、打开数十个网页,最终可能还没找到准确答案。DocsGPT 正是为解决这个痛点而生:在私有文档库上构建 AI 问答助手,让知识检索从「搜索」进化为「对话」。
此外,当企业想要在内部部署一个 AI 助手(而非将数据发送到 OpenAI),或者团队希望为自己的产品构建定制化的 AI Agent 时,市面上往往缺少一个开箱即用的方案。DocsGPT 提供了从文档解析、向量检索、多模型支持到 Agent 构建的完整技术栈,成为这一领域的标杆开源项目。
DocsGPT 由 GitHub 用户 arc53 于 2023 年初创建并持续维护,项目定位为 "Private AI for agents, assistants and enterprise search"(私有 AI 智能体与企业搜索平台)。其核心设计理念是:让任何个人或组织都能在完全控制数据隐私的前提下,拥有类似 ChatGPT 的文档问答能力。
项目在 GitHub 上获得了超过 17,900 个 star,拥有活跃的 Discord 社区(10,000+ 成员),并于 2024 年获得了 Open Source Security Foundation (OpenSSF) Best Practices 认证。项目同时被标注为 Hacktoberfest 参与项目,吸引了大量社区贡献者。
DocsGPT 支持解析多种文档格式,包括:
底层解析技术栈包含 Docling(由 DeepMind/IBM 联合开源)、RapidOCR 和 pdf2image,能够处理复杂版式的 PDF 文件和扫描件。
文档解析后,通过 SentenceTransformer(默认模型:mpnet-base-v2)将文本向量化,存入 FAISS 向量数据库进行高效的语义相似度检索。这一步是 AI 准确找到相关文档片段的关键。
DocsGPT 不绑定任何单一 LLM 服务商,支持以下模型:
这种多模型架构让用户可以根据成本、性能和隐私需求灵活切换 AI 引擎。
DocsGPT 内置了 Agent 构建器,允许用户通过可视化界面创建自定义 AI Agent,支持:
DocsGPT 提供完整的 REST API 和内部认证机制(JWT/Simple JWT),可以与现有系统集成。此外支持:
┌─────────────────────────────────────────┐
│ Frontend (React + Vite) │ ← Web UI
│ http://localhost:5173 │
└──────────────────────┬──────────────────┘
│ REST API / WebSocket
┌──────────────────────▼──────────────────┐
│ Backend (Flask + Gunicorn) │
│ http://localhost:7091 │
│ ┌─────────────────────────────────────┐│
│ │ API Layer: /answer /user /v1 ││
│ ├─────────────────────────────────────┤│
│ │ LLM Layer: OpenAI/Claude/Gemini ││
│ ├─────────────────────────────────────┤│
│ │ Retriever: FAISS + SentenceTrans. ││
│ ├─────────────────────────────────────┤│
│ │ Parser: Docling / RapidOCR ││
│ ├─────────────────────────────────────┤│
│ │ Agents: Agentic/Research/Workflow ││
│ └─────────────────────────────────────┘│
│ ┌─────────────────────────────────────┐│
│ │ Storage: PostgreSQL + Redis ││
│ │ Worker: Celery (异步任务) ││
│ └─────────────────────────────────────┘│
└──────────────────────────────────────────┘
后端核心依赖:Flask 3.x、LangChain 1.2.x、SQLAlchemy 2.x、Pydantic 2.x,提供了完整的依赖注入和配置管理机制。前端使用 React 18 + TypeScript + Vite 构建现代 SPA 应用。
DocsGPT 提供了极其友好的部署体验。官方推荐的本地部署方式:
git clone https://github.com/arc53/DocsGPT.git
cd DocsGPT
cp .env-template .env
# 编辑 .env 填入 API_KEY
bash setup.sh
setup.sh 脚本会自动拉取 deployment/docker-compose.yaml,启动以下服务:
对于生产环境,还提供:
deployment/docker-compose-local.yaml:仅包含前端和数据库(API Key 自备)deployment/docker-compose-hub.yaml:简化版本,适合快速体验deployment/k8s/:完整的 Kubernetes 部署清单(Kustomize 管理)最低硬件需求(无 GPU 模式):4GB RAM + 5GB 磁盘,标准笔记本即可运行。若启用本地 embedding 模型加速,推荐 NVIDIA GPU。
项目代码组织清晰,采用标准 Python 包结构:
application/api/:REST API 路由层application/agents/:Agent 核心逻辑(支持多种 Agent 类型)application/llm/:LLM 适配层(支持多种模型商)application/parser/:文档解析引擎application/retriever/:检索系统application/storage/:数据库存储层application/vectorstore/:向量数据库适配依赖管理使用 requirements.txt,配合 alembic 进行数据库迁移,pytest + ruff 进行测试和代码规范检查。
质量评估:
局限性:
***(三颗星)敏感词,部分真实密钥以 *** 形式出现于源码示例中DocsGPT 的出现填补了开源领域「私有化 AI 知识库」的工具空白。在 RAG(检索增强生成)技术日益成熟的背景下,能够让企业在完全不依赖云服务商的情况下,自主部署一套完整的文档问答系统,具有重要的战略价值:
DocsGPT 的 Agent Builder 方向更是代表了 AI 应用从「单次问答」向「自主任务执行」演进的趋势,未来有望成为企业 AI 自动化流程的核心基础设施。
本报告基于 GitHub 最新代码库分析生成,数据来源:arc53/DocsGPT (main branch),分析时间 2026-05-27。