业务流程
本文描述三条流程:用户使用产品的流程、一次请求在系统内的处理流程、以及模型从数据到上线的迭代流程。
1. 用户使用流程
flowchart TD
A[收集到一批用户反馈] --> B{数量}
B -- 一条 --> C[单条分析页粘贴]
B -- 多条 --> D[批量分诊页粘贴<br/>每行一条 最多50条]
C --> E[查看 类别/情感/紧急度/摘要]
D --> F[查看按紧急度排序的列表<br/>和类别分布]
E --> G{结果可信吗}
F --> G
G -- 不确定 --> H[展开模型原始输出<br/>对照规则基线]
H --> I[人工修正]
G -- 可信 --> J[复制摘要作工单标题<br/>或导出 CSV]
I --> J
J --> K[进入团队现有的工单/周报流程]
设计上的两个要点:
- 人始终在环内。FeedLens 做的是预整理,最后一步“可信吗”由人判断。页面因此提供原文、原始输出和规则对照三样东西帮助判断。
- 流程的终点在 FeedLens 之外。v0.1 不替代工单系统,只负责把结果变成能带走的形式(可复制的摘要、CSV)。
2. 一次请求的处理流程
sequenceDiagram
participant U as 浏览器
participant S as 后端 FastAPI
participant P as 提示词与解析<br/>schema.py
participant M as FeedLens-MiniMind
U->>U: 前端校验(非空、≤140字)
U->>S: POST /api/analyze {text}
S->>S: 后端再次校验长度
alt 模型未加载
S-->>U: 503 model_not_loaded
U->>U: 提示处于演示模式
else 模型已加载
S->>P: 拼接固定指令 + 反馈原文<br/>套用 MiniMind 对话模板
P->>M: token 序列
M->>M: 贪心解码,最多 48 个 token<br/>遇到结束符停止
M-->>P: 生成的文本
P->>P: 按行解析四个字段<br/>校验标签是否在取值集合内
S->>S: 另算一份规则基线结果(仅作对照)
S-->>U: 结果、是否合规、原始输出、耗时
U->>U: 渲染结果卡;不合规则显示错误与原始输出
end
几个容易被问到的细节:
| 环节 | 做法 | 原因 |
|---|---|---|
| 提示词 | 训练和推理调用同一个函数生成前缀 | 保证逐 token 一致,避免“训练时见过的格式”和“上线时用的格式”不同 |
| 解码 | 贪心(不采样) | 分类型任务要可复现;同一输入每次结果相同 |
| 生成长度上限 | 48 个 token | 正常答案 23–35 个 token;上限防止异常输入导致长时间生成 |
| 解析 | 字段可乱序、容忍全半角冒号;标签必须精确在集合内 | 对无关紧要的差异宽容,对实质错误严格 |
| 解析失败 | 原样返回并标记 valid=false |
不用规则或猜测去“修”模型的错 |
| 并发 | 推理串行执行(加锁) | 单模型实例非线程安全;v0.1 的访问量不需要并发 |
3. 模型迭代流程
flowchart LR
A[标注规范<br/>lexicon.py 顶部] --> B[合成语法生成<br/>generate.py]
A --> C[手写分布外集<br/>ood_handwritten.txt]
B --> D[清洗 校验 去重<br/>分组划分 泄漏检查<br/>build.py]
C --> D
D --> E[train / val]
D --> F[test / ood_test<br/>只用于最终报告]
D --> G[ood_dev<br/>用于错误分析]
E --> H[训练<br/>train.py]
H --> I[按验证损失选检查点]
I --> J[评测<br/>evaluate.py]
F --> J
G --> J
J --> K[失败案例分析]
K -- 发现缺失的说法或类型 --> A
J --> L[打包与说明卡<br/>package.py]
L --> M[网页应用加载]
这条流程里有三处刻意的隔离:
- 测试集不参与任何决定。选检查点只看验证集;调整数据只看
ood_dev的失败案例;test和ood_test只在最后出报告时使用。 - 按“核心表达”分组划分。同一种核心说法的所有变体只会落在一个划分里,测试集里的说法训练时没见过。
- 分布外数据不走生成器。它的作用是检验“语法之外”的表现,所以不能由同一套语法产生。
每一步对应的脚本、输入输出和实际运行结果见 数据说明、训练记录、评测报告。
本页由 docs/05-business-flow.md 生成。