170 lines
6.3 KiB
Markdown
170 lines
6.3 KiB
Markdown
# 雅文内容创造工作台 · 流程图 v4(RAG 知识库版)
|
||||
|
|
|
|||
|
|
## 图1 · RAG 知识库建库管道(导入即建,全自动)
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart LR
|
|||
|
|
F["素材文件<br/>docx / srt / md / txt / json / 导图"] --> P1["① 导入<br/>拖拽上传+进度条"]
|
|||
|
|
P1 --> P2["② 格式解析<br/>docx提取正文 / srt去时间戳 / json结构抽取"]
|
|||
|
|
P2 --> P3["③ 清洗<br/>去空行/提词备注/字幕断句合并"]
|
|||
|
|
P3 --> P4["④ 分块<br/>标题感知+语义边界 400-600字 重叠15%<br/>元数据:库/文件/章节/序号"]
|
|||
|
|
P4 --> P5["⑤ 向量化<br/>BGE-M3 本地Embedding(离线,数据不出本机)"]
|
|||
|
|
P5 --> P6["⑥ 入库<br/>ChromaDB collection=知识库(天然隔离)"]
|
|||
|
|
P6 --> P7["⑦ 检索测试页<br/>输入query验证命中质量"]
|
|||
|
|
style P6 fill:#1d3557
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 图2 · Agent 取料(混合检索 + 引用溯源,只查挂接库)
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart TD
|
|||
|
|
A["生产Agent 生成请求"] --> Q["query构造<br/>任务切片+上游锚点卡+检索意图"]
|
|||
|
|
Q --> H{"混合检索<br/>只在挂接的collection内"}
|
|||
|
|
H -->|"向量 top-k"| V["BGE-M3 语义相似度"]
|
|||
|
|
H -->|"关键词 top-k"| K["BM25 精确命中<br/>(技法名/产品名/暗语)"]
|
|||
|
|
V --> M["合并去重"]
|
|||
|
|
K --> M
|
|||
|
|
M --> R["可选:rerank重排"]
|
|||
|
|
R --> S["引用溯源<br/>每条带:库/文件/章节/原文块/相似度"]
|
|||
|
|
S --> INJ["注入Agent上下文<br/>(后台标注来源,正文不出现'知识库里说')"]
|
|||
|
|
INJ --> OUT["段产物"]
|
|||
|
|
OUT --> QC["质检一键核对引用<br/>选中一句→看引用→对证原文"]
|
|||
|
|
QC -->|"查无来源=FAIL"| A
|
|||
|
|
style QC fill:#6d597a
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 图3 · 知识库隔离与 Agent 挂接
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart TB
|
|||
|
|
subgraph KB["📚 知识库(ChromaDB collection 物理隔离)"]
|
|||
|
|
C1["风格档案库"]
|
|||
|
|
C2["产品知识库"]
|
|||
|
|
C3["直播原文库(73场SRT)"]
|
|||
|
|
C4["备稿库(99篇)"]
|
|||
|
|
C5["你建的库:青蛇白蛇素材库"]
|
|||
|
|
end
|
|||
|
|
subgraph AG["Agent 挂接(多选)"]
|
|||
|
|
PA["产品销售Agent<br/>☑风格档案 ☑产品知识库"]
|
|||
|
|
JA["技法Agent<br/>☑风格档案 ☑直播原文库"]
|
|||
|
|
end
|
|||
|
|
C1 --> PA
|
|||
|
|
C2 --> PA
|
|||
|
|
C1 --> JA
|
|||
|
|
C3 --> JA
|
|||
|
|
PA -.->|"查不到"| X["原文库/青蛇库"]
|
|||
|
|
JA -.->|"查不到"| Y["产品库"]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 图4 · Agent 关系画布(v3 核心不变)
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart LR
|
|||
|
|
M["主控Agent"] --> A["开场 ●"]
|
|||
|
|
A --> X1["心法Agent1 ●"]
|
|||
|
|
A -.->|"可选"| X2["心法Agent2 ○停用"]
|
|||
|
|
X1 --> J1["技法Agent1 ●"]
|
|||
|
|
X1 --> J2["技法Agent2 ● 并行"]
|
|||
|
|
X1 --> G["功法 ●"]
|
|||
|
|
J1 --> P["产品销售 ●"]
|
|||
|
|
J2 --> V["画面 ●"]
|
|||
|
|
G --> S["场景 ●"]
|
|||
|
|
V --> E["收尾 ●"]
|
|||
|
|
S --> E
|
|||
|
|
P --> E
|
|||
|
|
E --> H["钩子 ●"]
|
|||
|
|
H --> CM["组合Agent"]
|
|||
|
|
style X2 fill:#444,color:#999,stroke-dasharray: 5 5
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 图5 · 内容标签体系(26 个,6 大类)
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart LR
|
|||
|
|
subgraph 结构["结构类"]
|
|||
|
|
A1["开场★"]; A2["转场"]; A3["收尾★"]; A4["钩子★"]; A5["预告"]
|
|||
|
|
end
|
|||
|
|
subgraph 内容["内容类"]
|
|||
|
|
B1["心法★"]; B2["痛点★"]; B3["动机铺垫★"]; B4["案例★"]; B5["见证"]
|
|||
|
|
B6["冷知识"]; B7["金句★"]; B8["共鸣"]
|
|||
|
|
end
|
|||
|
|
subgraph 技法["技法类"]
|
|||
|
|
C1["技法★"]; C2["功法★"]; C3["跟练★"]; C4["安全提示"]
|
|||
|
|
end
|
|||
|
|
subgraph 产品["产品类"]
|
|||
|
|
D1["产品销售★"]; D2["产品体验★"]; D3["产品回指"]
|
|||
|
|
end
|
|||
|
|
subgraph 表现["表现类"]
|
|||
|
|
E1["画面★"]; E2["场景★"]; E3["情绪"]; E4["氛围"]; E5["互动"]
|
|||
|
|
end
|
|||
|
|
subgraph 辅助["辅助类"]
|
|||
|
|
F1["答疑"]; F2["双主播"]; F3["毛边"]; F4["仪式"]
|
|||
|
|
end
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 图6 · 模型管理(每个 Agent 可选不同模型)
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart LR
|
|||
|
|
subgraph 模型池["模型注册(OpenAI 兼容,可同时挂多个)"]
|
|||
|
|
M1["🟦 DeepSeek<br/>deepseek-chat / R1"]
|
|||
|
|
M2["🟩 硅基流动 / 智谱GLM"]
|
|||
|
|
M3["🟧 Kimi / 通义"]
|
|||
|
|
M4["⬜ 本地 Ollama"]
|
|||
|
|
end
|
|||
|
|
subgraph 画布["画布节点(每Agent独立选模型)"]
|
|||
|
|
A1["主控Agent 🟦DeepSeek-R1<br/>(强推理:拆解/调度)"]
|
|||
|
|
A2["心法Agent 🟩GLM<br/>(文风对比)"]
|
|||
|
|
A3["画面Agent 🟧Kimi<br/>(文风对比)"]
|
|||
|
|
A4["质检Agent 🟦DeepSeek-R1<br/>(严格规则执行)"]
|
|||
|
|
A5["组合Agent 🟦长上下文<br/>(拼装+总检读全稿)"]
|
|||
|
|
end
|
|||
|
|
M1 --> A1
|
|||
|
|
M1 --> A4
|
|||
|
|
M1 --> A5
|
|||
|
|
M2 --> A2
|
|||
|
|
M3 --> A3
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 图7 · 节点状态机(每个 Agent 工作状态清晰可见)
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart LR
|
|||
|
|
P["待派发 🟦灰"] --> R["生成中 🟦蓝<br/>(显示模型+已耗时)"]
|
|||
|
|
R --> Q["质检中 🟡黄<br/>(显示第几道)"]
|
|||
|
|
Q --> H["待人工审查 🟣紫"]
|
|||
|
|
H -->|"✅通过"| A["已通过 🟢绿"]
|
|||
|
|
H -->|"🔁打回"| RW["打回重做 🟠橙<br/>(显示第几轮)"]
|
|||
|
|
RW --> R
|
|||
|
|
R -->|"生成失败"| F["⚠️失败 🔴红<br/>(点击看原因)"]
|
|||
|
|
Q -->|"质检FAIL"| RW
|
|||
|
|
F -->|"人工修复后重跑"| R
|
|||
|
|
F -->|"人工跳过"| SK["跳过 ⬜灰斜线"]
|
|||
|
|
F -->|"停用节点"| D["停用 ⬛暗"]
|
|||
|
|
P -->|"上游停用"| SK
|
|||
|
|
style F fill:#7f1d1d,color:#fff
|
|||
|
|
style A fill:#14532d,color:#fff
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 图8 · 失败处理闭环(生成不出来 → 必提醒人工)
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart TD
|
|||
|
|
FAIL["Agent 生成失败"] --> RETRY{"可自动重试?<br/>超时/限流/截断"}
|
|||
|
|
RETRY -->|"是(最多2次)"| R1["指数退避重试"]
|
|||
|
|
R1 -->|"成功"| OK["✅ 继续流程"]
|
|||
|
|
R1 -->|"仍失败"| MAN
|
|||
|
|
RETRY -->|"否(拒审/Key错误/余额不足)"| MAN["🔴 转人工<br/>节点红标+通知中心提醒<br/>(不静默、不假装成功)"]
|
|||
|
|
MAN --> PANEL["失败处理面板<br/>失败Agent/模型/错误原文/调用日志/输入上下文"]
|
|||
|
|
PANEL --> ACT["人工修复动作"]
|
|||
|
|
ACT -->|"🔁重试"| R1
|
|||
|
|
ACT -->|"🔄换模型"| M2["换模型重跑"]
|
|||
|
|
ACT -->|"📝改规则"| R2["改rules.md重跑"]
|
|||
|
|
ACT -->|"✂️调任务切片"| R3["改写段描述重跑"]
|
|||
|
|
ACT -->|"⏭️跳过"| SK["跳过(组合注明缺段)"]
|
|||
|
|
ACT -->|"⏸️停用"| D["停用节点"]
|
|||
|
|
ACT --> MEM["填修复原因 → 记忆建议<br/>→ 待确认池 → 沉淀防复发"]
|
|||
|
|
style MAN fill:#7f1d1d,color:#fff
|
|||
|
|
style MEM fill:#6d597a
|
|||
|
|
```
|