架构概述

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

扩展性

新增场景只需:

  1. 创建场景服务(如 gzdoc-legal
  2. 实现场景逻辑
  3. 在配置文件中注册
  4. 独立部署

平台层无需任何修改。

目录