Skip to content

完整架构回顾:掌柜智库 — 知识图谱 RAG 全栈系统

阅读目标:最后一张全景图,把 5 个阶段的积累在一张 Mind Map 和一个 UML 类图中完整呈现。


7.1 技术栈全景 Mind Map


7.2 全量 UML 类图


7.3 完整文件依赖图

shopkeeper_brain/

├── .env                                   配置入口
├── docker-compose.yml                     6 个 Docker 服务
├── requirements.txt / pyproject.toml      依赖声明

└── knowledge/
    ├── api/
    │   └── import_router.py               FastAPI 路由(导入触发)

    ├── core/
    │   ├── paths.py                       项目路径管理
    │   └── deps.py                        FastAPI 依赖注入

    ├── processor/
    │   ├── import_process/                ← 导入流程(8 个节点)
    │   │   ├── base.py                    BaseNode 基类 ← 所有节点的基石
    │   │   ├── state.py                   ImportGraphState
    │   │   ├── config.py                  ImportConfig dataclass
    │   │   ├── exceptions.py              异常体系
    │   │   ├── main_graph.py              StateGraph 定义 ← 导入流程的入口
    │   │   └── nodes/                     8 个节点各一个 .py
    │   │
    │   └── query_process/                 ← 查询流程(7 个节点)
    │       ├── state.py                   QueryGraphState
    │       ├── main_graph.py              StateGraph 定义 ← 查询流程的入口
    │       └── nodes/                     7 个节点各一个 .py

    ├── utils/                             10 个独立工具类
    │   ├── bge_m3_embedding_util.py       嵌入
    │   ├── bge_rerank_util.py             重排序
    │   ├── llm_client_util.py             LLM 调用
    │   ├── milvus_util.py                 Milvus 操作
    │   ├── neo4j_util.py                  Neo4J 操作
    │   ├── minio_util.py                  MinIO 操作
    │   ├── mongo_history_util.py          历史记录
    │   ├── markdown_util.py               MD 处理
    │   ├── sse_util.py                    SSE 流式
    │   └── task_util.py                   任务追踪

    ├── prompts/
    │   ├── upload/import_prompt.py        导入用提示词
    │   └── query/query_prompt.py          查询用提示词

    ├── schema/
    │   ├── task_schema.py                 任务 Schema
    │   ├── upload_schema.py               上传 Schema
    │   └── query_schema.py                查询 Schema(Pydantic)

    └── services/
        ├── import_file_service.py         导入业务逻辑
        ├── query_service.py               查询业务逻辑
        └── task_service.py                任务状态管理

7.4 两条流程的 End-to-End 数据流


7.5 "如果从零重写"精简清单

如果你现在要从零实现一个类似的 RAG 知识图谱系统,按优先级排列的实施顺序:

优先级工作预估时间依赖
🥇环境部署(Docker Compose)30 min
🥇BaseNode + State + EntryNode30 min环境就绪
🥇Milvus 建库 + bge-m3 嵌入1 hrMilvus 运行
🥇查询流程:向量检索→RRF→Reranker→LLM2 hrMilvus 有数据
🥈PDF→MD(MinerU)1 hrMinerU 安装
🥈VLM 图片摘要 + MinIO1 hrVLM API Key
🥈文档切分 + 商品名识别1 hrLLM API Key
🥉Neo4J 知识图谱2 hrNeo4J 运行
🥉MCP 检索集成30 minMCP Server
🥉前端对接 + SSE 流式1 hr全部后端就绪

OPC 超级个体实战指南