Summary 生成推理链摘要
()
| 181 | |
| 182 | // Summary 生成推理链摘要 |
| 183 | func (c *Chain) Summary() string { |
| 184 | summary := fmt.Sprintf("Reasoning Chain (ID: %s)\n", c.ID) |
| 185 | summary += fmt.Sprintf("Steps: %d/%d (min: %d, max: %d)\n", len(c.Steps), c.MaxSteps, c.MinSteps, c.MaxSteps) |
| 186 | summary += fmt.Sprintf("Status: %s\n\n", c.Status) |
| 187 | |
| 188 | var summarySb187 strings.Builder |
| 189 | for i, step := range c.Steps { |
| 190 | summarySb187.WriteString(fmt.Sprintf("Step %d: %s\n", i+1, step.Title)) |
| 191 | summarySb187.WriteString(fmt.Sprintf(" Action: %s\n", step.Action)) |
| 192 | summarySb187.WriteString(fmt.Sprintf(" Confidence: %.2f\n", step.Confidence)) |
| 193 | summarySb187.WriteString(fmt.Sprintf(" Status: %s\n", step.Status)) |
| 194 | if step.Result != "" { |
| 195 | summarySb187.WriteString(fmt.Sprintf(" Result: %s\n", truncate(step.Result, 100))) |
| 196 | } |
| 197 | summarySb187.WriteString("\n") |
| 198 | } |
| 199 | summary += summarySb187.String() |
| 200 | |
| 201 | return summary |
| 202 | } |
| 203 | |
| 204 | // Parser 推理步骤解析器 |
| 205 | type Parser interface { |