跳转至

结果

调用 Runner.run 方法时,会得到以下两种结果之一: - 调用 runrun_sync 时,得到RunResult。 - 调用 run_streamed 时,得到RunResultStreaming

这两种结果都继承自RunResultBase,大部分有用信息都在这个基类中。

最终输出

final_output 属性包含最后运行的智能体的最终输出。可能是以下两种情况之一: - 如果最后一个智能体未定义 output_type,则为 str 类型。 - 如果智能体定义了输出类型,则为 last_agent.output_type 类型的对象。

注意

final_output 的类型为 Any。由于交接/切换的存在,我们无法对其进行静态类型标注。如果发生交接/切换,意味着任何智能体都可能是最后一个智能体,因此我们无法静态确定可能的输出类型集合。

下一回合的输入

可以使用result.to_input_list() 将结果转换为输入列表,该列表将你提供的原始输入与智能体运行期间生成的项目连接起来。这样就可以方便地将一次智能体运行的输出传递到另一次运行中,或者在循环中运行并每次追加新的用户输入。

最后一个智能体

last_agent 属性包含最后运行的智能体。根据你的应用场景,这通常对用户下次输入内容很有用。例如,如果你有一个一线分诊智能体,它会交接给特定语言的智能体,你可以存储最后一个智能体,并在用户下次向智能体发送消息时重复使用它。

新项

new_items 属性包含运行期间生成的新项。这些项是RunItem。运行项封装了大语言模型(LLM)生成的原始项。 - MessageOutputItem 表示来自大语言模型的消息。原始项是生成的消息。 - HandoffCallItem 表示大语言模型调用了交接工具。原始项是大语言模型的工具调用项。 - HandoffOutputItem 表示发生了交接。原始项是对交接工具调用的工具响应。你还可以从该项访问源/目标代理。 - ToolCallItem 表示大语言模型调用了一个工具。 - ToolCallOutputItem 表示调用了一个工具。原始项是工具响应。你还可以从该项访问工具输出。 - ReasoningItem 表示来自大语言模型的推理项。原始项是生成的推理内容。

其他信息

安全护栏结果

input_guardrail_resultsoutput_guardrail_results 属性包含安全护栏的结果(如果有)。安全护栏结果有时可能包含你想要记录或存储的有用信息,因此我们将这些结果提供给你。

原始响应

raw_responses 属性包含大语言模型生成的ModelResponse

原始输入

input 属性包含你提供给 run 方法的原始输入。在大多数情况下,你不需要这个,但如果需要,它是可用的。