处理步骤
工作流的处理步骤定义了如何处理消息和执行操作。每个步骤都是一个独立的处理单元,可以组合成复杂的处理流程。
步骤类型
LLM 步骤
调用大语言模型处理消息。
yaml
steps:
- type: llm
model: gpt-3.5-turbo
prompt: |
你是一个友好的助手。
请回答用户的问题:{{message}}
temperature: 0.7
配置选项
- 模型选择
- 提示词模板
- 温度参数
- 最大长度
- 上下文管理
[图片:LLM 步骤配置界面]
条件步骤
根据条件执行不同的分支。
yaml
steps:
- type: condition
if: "{{message.length > 100}}"
then:
- type: llm
model: gpt-4
else:
- type: llm
model: gpt-3.5-turbo
条件类型
- 消息属性
- 变量值
- 正则匹配
- 自定义函数
[图片:条件步骤配置界面]
循环步骤
重复执行特定步骤。
yaml
steps:
- type: loop
count: 3
steps:
- type: llm
model: gpt-3.5-turbo
循环控制
- 固定次数
- 条件循环
- 列表遍历
- 中断条件
[图片:循环步骤配置界面]
插件步骤
调用插件提供的功能。
yaml
steps:
- type: plugin
name: image_generator
params:
prompt: "{{message}}"
style: anime
常见插件
- 图像生成
- 语音处理
- 数据存储
- API 调用
[图片:插件步骤配置界面]
消息步骤
发送或处理消息。
yaml
steps:
- type: message
action: send
content: "处理完成:{{result}}"
format: markdown
消息操作
- 发送消息
- 编辑消息
- 撤回消息
- 转发消息
[图片:消息步骤配置界面]
步骤组合
你可以组合多个步骤创建复杂的处理流程:
yaml
steps:
- type: condition
if: "{{is_admin}}"
then:
- type: llm
model: gpt-4
- type: plugin
name: image_generator
else:
- type: message
content: "权限不足"
步骤执行
执行顺序
- 按定义顺序依次执行
- 条件步骤可能改变执行路径
- 循环步骤会重复执行
- 可以设置步骤间延迟
错误处理
- 设置重试策略
- 定义错误处理步骤
- 配置超时时间
- 记录执行日志
最佳实践
步骤设计
- 保持步骤简单明确
- 合理拆分处理逻辑
- 避免过深的嵌套
性能优化
- 减少不必要的步骤
- 合理使用缓存
- 控制循环次数
错误处理
- 添加适当的重试
- 优雅处理异常
- 记录关键信息
调试技巧
- 使用日志追踪
- 测试各种情况
- 模拟错误场景