# rag-agent-platform
**Repository Path**: Wolke-chen/rag-agent-platform
## Basic Information
- **Project Name**: rag-agent-platform
- **Description**: 产康师个人知识助手:拍照上传笔记 → OCR 文字识别 → 云端持久化 → 语义检索(搜自己所有的笔记和教材)→ Safeguard 禁忌检测 → 安全方案 + 出处标注 → 大字模式展示
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: dev
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-07-14
- **Last Updated**: 2026-07-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 产后康复个人知识助手
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/)
[](https://nextjs.org/)
[](https://www.docker.com/)
[](https://langchain-ai.github.io/langgraph/)
[]()
产康师的"第二大脑"——拍照存笔记、语义搜知识、安全校验兜底。基于 LangGraph 多智能体 RAG 系统,覆盖 AI Agent 岗位 80%+ 技能关键词。
## 一句话描述
产康师拍照上传笔记 → OCR 文字识别 → 云端持久化 → 语义检索(搜自己所有的笔记和教材)→ Safeguard 禁忌检测 → 安全方案 + 出处标注 → 大字模式展示
## 为什么做这个
产后康复师有两个根本问题:
1. **数据不持久** — 笔记在纸质本子和手机备忘录里,手机损坏或丢失 → 两年的知识积累清零
2. **笔记散乱难找** — 3 本纸质笔记 + 5 本教材 + 200 张书页照片。想找一个知识点要翻 20 分钟,靠记忆"好像在蓝色那本的第 30 页"
这个系统做三件事:**积累**(拍照 OCR → 云端永不丢)→ **检索**(输入描述直接搜到)→ **兜底**(禁忌检测确保不出错)。
## 系统架构
```mermaid
flowchart TB
User(("👩⚕️ 产康师"))
FE["🖥️ Frontend
Next.js 15 · 大字模式 · 语音输入 · 拍照上传"]
API["🌐 API Gateway
FastAPI · SSE Streaming"]
subgraph Agent["🧠 Agent 编排引擎 · LangGraph 8-Node Multi-Agent"]
direction LR
Master["Master
意图识别 & 路由"]
Retrieval["Retrieval
BM25+向量混合检索"]
Generation["Generation
多源整合 · 方案合成"]
Safeguard["🛡️ Safeguard
禁忌规则引擎
确定性匹配 · 非 LLM"]
Verification["Verification
事实核查 · 矛盾检测"]
Master --> Retrieval --> Generation --> Safeguard
Safeguard -->|"✅ safe"| Verification
Safeguard -->|"🚫 blocked + 替代建议"| Generation
Verification -->|"❌ fail"| Generation
Verification -->|"✅ pass"| Done["📤 Response Assembly"]
end
subgraph Infra["🔧 能力 & 基础设施层"]
direction LR
MCP["🔌 MCP Protocol
7 Tools · stdio/SSE
可被 Claude Desktop 接入"]
Memory["🧩 Memory System
T0 上下文(Redis)
T1 摘要(PGVector)
T2 长记忆(PGVector)"]
Data["💾 Data Stores
Milvus 向量库
PostgreSQL 结构化+规则库
Redis 缓存"]
end
User --> FE -->|"SSE EventStream"| API --> Agent
Agent <--> Infra
```
> **看图说话**:产康师通过前端输入(拍照/语音/文字)→ API 网关流式转发 → LangGraph 8 节点 Multi-Agent 协作(Retrieval → Generation → Safeguard 禁忌检测 ⇄ Verification 事实核查)→ 响应回流。核心差异点:**Safeguard 是独立规则引擎,不经过 LLM,确定性拦截。** 底层 MCP 协议层让外部 AI 客户端(Claude Desktop / Cursor)也能调用系统能力。
## 技术栈
| 层级 | 技术 |
|------|------|
| Agent 编排 | LangGraph + LangChain |
| 数据摄入 | PyMuPDF + Tesseract OCR + 多格式清洗管道 |
| 向量检索 | Milvus + BGE-large-zh + BM25 混合检索 |
| 工具协议 | MCP (Model Context Protocol) |
| 后端 | FastAPI + SSE 流式输出 |
| 前端 | Next.js 15 + React + Tailwind CSS(大字模式 + 语音输入) |
| 记忆系统 | Redis(短期会话)+ PostgreSQL(持久存储)+ LangGraph Checkpoint |
| 安全机制 | 独立 Safeguard 节点 + 禁忌规则库(确定性匹配,不经过 LLM) |
| 评估 | RAGAs + LLM-as-Judge |
| 可观测 | Langfuse + Prometheus |
| 部署 | Docker Compose 一键启动 |
## 快速开始
```bash
cp .env.example .env
# 编辑 .env 填入 API Key
docker compose up -d # 启动全栈
open http://localhost:3000 # 打开应用
# 拍照上传你的第一页笔记
```
## 项目结构
```
rag-agent-platform/
├── backend/ # FastAPI + LangGraph + OCR + RAG 管线 + 禁忌检测
├── frontend/ # Next.js 15 前端(大字模式 + 语音)
├── data/ # 产康知识示例数据
├── docs/ # 项目文档 + ADR + 产品定义 + 干系人分析
├── scripts/ # 工具脚本
└── docker-compose.yml
```
## 文档索引
| 文档 | 说明 |
|------|------|
| [📖 产品 & 设计](docs/product/INDEX.md) | 产品定义 / 干系人 / 设计系统 / 组件 |
| [🏗 架构 & 数据](docs/architecture/INDEX.md) | 系统架构 / 业务逻辑 / 数据库 |
| [📋 参考 & 接口](docs/reference/) | API 规范 / OpenAPI / 环境搭建 |
| [📝 ADR](docs/adr/INDEX.md) | 架构决策记录(5 篇) |
| [📂 文档索引](docs/INDEX.md) | 完整文档导航 |
## License
MIT