vault backup: 2026-06-03 10:30:42

This commit is contained in:
2026-06-03 10:30:42 +08:00
parent 2e207dc8fb
commit b5d9e44f0b
16 changed files with 661 additions and 507 deletions
+27 -7
View File
@@ -1,6 +1,17 @@
# 05 - 生成管线 (Generation Pipeline)
---
tags: [pipeline, eino, graph-pattern, quality-check, fallback, state-machine, go]
create time: 2026-06-03 10:20
---
> **一句话概括**:基于 CloudWeGo Eino 的 4 阶段生成管线,带质量回退和降级,确保任务不阻塞。
# 05. 生成管线 (Generation Pipeline)
## 概述
基于 CloudWeGo Eino 的 4 阶段生成管线,带质量回退和降级,确保任务不阻塞。
---
## 正文
## 管线拓扑
@@ -161,6 +172,15 @@ if imgCfg.APIKey == "" {
4. pass=false + RetryCount >= 3 → NextNode = "format_adapter"(降级)
```
> [!tip] 重试策略思考
>
> **为什么是 3 次?**
> - 第 1 次失败:LLM API 波动或偶发噪声,重试大概率通过
> - 第 2 次失败:提示词可能不够精确,重新优化后改善
> - 第 3 次仍失败:当前参数组合确实无法生成合格图片,继续重试只会浪费资源
>
> 超过 3 次后 **降级到 FormatAdapter**——即使结果不完美,也比永远阻塞管线要好。这就是「宁可降级,不可阻塞」的原则。
**路由分支**(Eino `AddBranch`):
```go
@@ -185,7 +205,7 @@ g.AddBranch(nodeQualitySupervisor, compose.NewGraphBranch(
| `NewCountedQualityChecker(n)` | 第 n 次调用后通过 | 测试重试逻辑 |
| `AlwaysFailQualityChecker` | 始终返回 `false` | 测试降级路径 |
> :bulb: **可扩展性**:`QualityChecker` 是一个可替换的函数变量,未来可接入 LLM 视觉模型进行真正的质量评估。
> [!tip] 可扩展性:`QualityChecker` 是一个可替换的函数变量,未来可接入 LLM 视觉模型进行真正的质量评估。
### 4. FormatAdapter — 格式适配
@@ -318,7 +338,7 @@ type PipelineInput struct {
## 关联文档
- [索引](00-index.md) — 文档导航与架构总览图
- [系统总览](01-system-overview.md) — 分层架构与 Service 层定位
- [协程池](02-worker-pool.md) — 管线执行的并发控制
- [任务队列](03-task-queue.md) — 管线任务的排队机制
- [[00-索引]] — 文档导航与架构总览图
- [[01-系统总览]] — 分层架构与 Service 层定位
- [[02-协程池]] — 管线执行的并发控制
- [[03-任务队列]] — 管线任务的排队机制