🏗️ SoRag 系统架构文档

企业级 RAG SaaS 平台 - 完整架构可视化

生成时间: 2025-09-30
版本: v1.0.0
总架构图数: 13 个
🏗️

System Architecture

总体系统架构

AosoRag Admin + SoRag Backend + RagChat Frontend

总体系统架构 - AosoRag Admin + SoRag Backend + RagChat Frontend
📝 Mermaid diagram available. Use online tool to render 01_overall_system_architecture.mmd
🎯

Ddd Architecture

DDD四层架构

基于ABP.io原则的Python实现

DDD四层架构 - 基于ABP.io原则的Python实现
📝 Mermaid diagram available. Use online tool to render 02_ddd_layer_architecture.mmd
📥

Indexing

索引工作流

LangGraph编排的6步流水线

索引工作流 - LangGraph编排的6步流水线
📝 Mermaid diagram available. Use online tool to render 03_indexing_workflow.mmd

索引适配器架构

Factory Pattern实现可插拔组件 (⭐标记为当前默认)

索引适配器架构 - Factory Pattern实现可插拔组件 (⭐标记为当前默认)
📝 Mermaid diagram available. Use online tool to render 04_indexing_adapters.mmd
🔍

Retrieval

Retrieval架构总览

Supervisor协调三个专业化Agent

Retrieval架构总览 - Supervisor协调三个专业化Agent
📝 Mermaid diagram available. Use online tool to render 05_retrieval_overview.mmd

Supervisor工作流详细图

查询分割 → 编排执行 → 结果合成

Supervisor工作流详细图 - 查询分割 → 编排执行 → 结果合成
📝 Mermaid diagram available. Use online tool to render 06_supervisor_workflow_detailed.mmd

RAG Agent工作流

记忆检查 → 混合检索 → 重排序 → 生成

RAG Agent工作流 - 记忆检查 → 混合检索 → 重排序 → 生成
📝 Mermaid diagram available. Use online tool to render 07_rag_agent_workflow.mmd

Chat Agent工作流

对话记忆管理 + LLM生成

Chat Agent工作流 - 对话记忆管理 + LLM生成
📝 Mermaid diagram available. Use online tool to render 08_chat_agent_workflow.mmd

Integration Agent工作流

Supervisor Multi-Agent架构

Integration Agent工作流 - Supervisor Multi-Agent架构
📝 Mermaid diagram available. Use online tool to render 09_integration_agent_workflow.mmd

Shop Multi-Agent详细架构

Supervisor协调三个专业Agent + 停止条件

Shop Multi-Agent详细架构 - Supervisor协调三个专业Agent + 停止条件
📝 Mermaid diagram available. Use online tool to render 10_shop_multi_agent_architecture.mmd
🎨

Design Patterns

系统设计模式总览

8种核心设计模式

系统设计模式总览 - 8种核心设计模式
📝 Mermaid diagram available. Use online tool to render 11_design_patterns.mmd
🔄

Data Flow

索引数据流

从文档上传到向量存储

索引数据流 - 从文档上传到向量存储
📝 Mermaid diagram available. Use online tool to render 12_indexing_data_flow.mmd

检索数据流

从用户查询到结果展示 (RAG模式)

检索数据流 - 从用户查询到结果展示 (RAG模式)
📝 Mermaid diagram available. Use online tool to render 13_retrieval_data_flow.mmd
🛠️

技术栈

后端 (SoRag)

  • FastAPI 0.104.1 - Web框架
  • LangGraph 0.2.50 - 工作流编排
  • LangSmith 0.3.45 - 可观测性
  • SQLAlchemy 2.0.23 - ORM
  • PostgreSQL - 主数据库
  • FAISS 1.7.4 - 密集向量
  • Elasticsearch 8.11.0 - 稀疏向量
  • Redis 5.0.1 - 缓存/内存

前端 (RagChat)

  • Next.js 15.3.0 - React框架
  • React 19.0.0 - UI库
  • TypeScript 5.6.3 - 类型系统
  • Vercel AI SDK 5.0.26 - AI集成
  • Radix UI - 无障碍组件
  • Tailwind CSS 4.1.13 - 样式
  • Drizzle ORM 0.34.0 - 数据库

Admin (AosoRag)

  • ABP.io Framework - DDD框架
  • .NET Core - 后端
  • Entity Framework - ORM
  • Angular/Blazor - 前端

LLM Providers

  • OpenAI GPT-4
  • Anthropic Claude
  • Ollama (本地部署)
📋

架构特性

✅ LangGraph 工作流

  • 可观测性 - LangSmith全链路追踪
  • 可维护性 - 节点化设计
  • 可恢复性 - Checkpointer支持
  • 可测试性 - 独立节点测试

✅ Multi-Agent 架构

  • 专业化 - RAG/Chat/Integration分离
  • 并行化 - asyncio.gather并发
  • 可扩展性 - Registry注册机制
  • 隔离性 - 独立编译互不影响

✅ 多租户架构

  • 自动化 - ContextVars + 事件监听
  • 安全性 - 数据库层自动过滤
  • 灵活性 - Context Manager切换
  • 性能 - 索引优化

✅ DDD 设计原则

  • 分层架构 - 四层清晰分离
  • Repository模式 - 数据访问抽象
  • Entity负责业务逻辑
  • 基于ABP.io原则