# 定义工作流
class GenerateNewsReport(Workflow):
agent_1: Agent = ...
agent_2: Agent = ...
agent_3: Agent = ...
def run(self, ...) -> Iterator[RunResponse]:
# 运行代理并收集响应
# 这些可以是批量响应,您也可以根据需要流式传输中间结果
final_agent_input = ...
# 从 writer 代理生成最终响应
agent_3_response_stream: Iterator[RunResponse] = self.agent_3.run(final_agent_input, stream=True)
# Yield 响应
yield agent_3_response_stream
# 实例化工作流
generate_news_report = GenerateNewsReport()
# 运行工作流并获取 RunResponse 对象迭代器形式的响应
report_stream: Iterator[RunResponse] = generate_news_report.run(...)
# 打印响应
pprint_run_response(report_stream, markdown=True)