顺序智能体是Blades框架中用于实现顺序执行逻辑的核心组件,它允许按预定顺序依次执行多个任务,前一个任务的输出作为后一个任务的输入,这种模式非常适合需要步骤化处理的线性业务流程。
type Sequential struct { runners []blades.Runnable}Sequential结构体只包含一个runners参数。
type Runnable interface { Run(context.Context, *Prompt, ...ModelOption) (*Message, error) RunStream(context.Context, *Prompt, ...ModelOption) (Streamable[*Message], error)}tasks := []blades.Runnable{ // step 1 flow.NewSequential(...), // step 2 flow.NewSequential(...), // step 3 flow.NewSequential(...),}sequential := flow.NewSequential(tasks...)result, err := sequential.Run(context.Background(), prompt)在运行此代码之前,请确保您已经正确配置了API密钥。
// define taskstasks := []blades.Runnable{ // step 1: data validation flow.NewSequential( // validation task implementation ), // step 2: data processing flow.NewSequential( // processing task implementation ), // step 3: result generation flow.NewSequential( // generation task implementation ),}
// create sequential agentsequential := flow.NewSequential(tasks...)
// sequential executionresult, err := sequential.Run(ctx, prompt)if err != nil { log.Printf("sequential execution error: %v", err) return}
log.Printf("sequential execution completed, final result: %s", result.Text())