架构概述
GzDoc 采用”平台+插件”架构,实现通用能力复用与垂直场景深度定制的平衡。
整体架构
┌─────────────────────────────────────────┐
│ 前端层 (React) │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ API Gateway (Spring Cloud) │
└─────────────────────────────────────────┘
↓
┌───────────┴───────────┐
↓ ↓
┌───────────────┐ ┌───────────────┐
│ 平台层 (Java) │ │ 场景层 (Python)│
│ - 文档管理 │ │ - 金融场景 │
│ - 用户认证 │ │ - 法律场景 │
│ - 基础 RAG │ │ - 医疗场景 │
└───────────────┘ └───────────────┘
↓ ↓
┌───────────────┐ ┌───────────────┐
│ PostgreSQL │ │ Weaviate │
└───────────────┘ └───────────────┘
核心设计原则
1. 分层解耦
- 平台层:提供通用能力(文档管理、用户认证、基础 RAG)
- 场景层:实现垂直场景的专用逻辑(金融、法律、医疗)
2. 单向依赖
- 场景层依赖平台层
- 平台层不感知场景层
- 避免双向耦合
3. 独立部署
- 场景服务可按需启停
- 新增场景无需重启平台层
- 降低运维复杂度
4. 配置驱动
- 通过配置注册插件
- 无需修改代码
- 支持热插拔
技术栈
平台层
- 框架:Spring Boot 3.x
- 数据库:PostgreSQL 14+
- 缓存:Redis 6+
- 消息队列:RabbitMQ
场景层
- 框架:FastAPI
- AI 框架:LangChain
- 向量数据库:Weaviate
- LLM:GPT-4 / Claude
扩展性
新增场景只需:
- 创建场景服务(如
gzdoc-legal) - 实现场景逻辑
- 在配置文件中注册
- 独立部署
平台层无需任何修改。