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
|
||
```
|