OpenAI Agents SDK 中文文档 中文教程 (8)
它们可用于执行以下作: - 检查输入的消息是否偏离主题 - 如果检测到意外输入,则接管代理执行的控制权。一个函数,它接收最终代理、其输出和上下文,并返回一个 .结果标记绊线是否被触发,并且可以选择选择 包括有关 Guardrail 输出的信息。一个函数,用于接收代理输入和上下文,并返回一个 .结果标记绊线是否被触发,并且可以选择选择 包括有关 Guardrail 输出的信息。输出护栏是在代理的最终
英文文档原文详见 OpenAI Agents SDKhttps://openai.github.io/openai-agents-python/
本文是OpenAI-agents-sdk-python使用翻译软件翻译后的中文文档/教程。分多个帖子发布,帖子的目录如下:
(2)OpenAI agents sdk, agents,运行agents,结果,流,工具,交接
(3) OpenAi agents sdk, 跟踪,上下文管理,护栏
(4) Openai agents sdk, 编排多个代理,模型,配置SDK
(5)(6)..等等,后面的都放到openai agents sdk的这个专栏https://blog.csdn.net/wtsolutions/category_12916751.html里面了,大家可以到专栏里面看到所有的目录,欢迎订阅这个专栏。
目录
TResponseInputItem module-attribute
TResponseOutputItem module-attribute
source_agent instance-attribute
target_agent instance-attribute
referenceable_id instance-attribute
input_tokens 类属性 instance-attribute
total_tokens 类属性 instance-attribute
guardrail_result instance-attribute
guardrail_result instance-attribute
output_info instance-attribute
tripwire_triggered instance-attribute
agent_output instance-attribute
guardrail_function instance-attribute
guardrail_function instance-attribute
Items
TResponse module-attribute
TResponse = Response
OpenAI SDK 中 Response 类型的类型别名。
TResponseInputItem module-attribute
TResponseInputItem = ResponseInputItemParam
OpenAI SDK 中 ResponseInputItemParam 类型的类型别名。
TResponseOutputItem module-attribute
TResponseOutputItem = ResponseOutputItem
OpenAI 开发工具包中 ResponseOutputItem 类型的类型别名。
TResponseStreamEvent 模块属性
TResponseStreamEvent = ResponseStreamEvent
OpenAI SDK 中 ResponseStreamEvent 类型的类型别名。
ToolCallItemTypes 模块属性
ToolCallItemTypes: TypeAlias = Union[
ResponseFunctionToolCall,
ResponseComputerToolCall,
ResponseFileSearchToolCall,
ResponseFunctionWebSearch,
]
表示工具调用项的类型。
RunItem module-attribute
RunItem: TypeAlias = Union[
MessageOutputItem,
HandoffCallItem,
HandoffOutputItem,
ToolCallItem,
ToolCallOutputItem,
ReasoningItem,
]
由代理生成的项目。
RunItemBase 数据类
基地:Generic[T]
ABC
src/agents/items.py
raw_item instance-attribute
raw_item: T
运行中的原始 Responses 项。这将始终是一个输出项(即 或输入项 (即 )。openai.types.responses.ResponseOutputItem
openai.types.responses.ResponseInputItemParam
MessageOutputItem 数据类
基地:RunItemBase[ResponseOutputMessage]
表示来自 LLM 的消息。
源码src/agents/items.py
raw_item instance-attribute
raw_item: ResponseOutputMessage
原始响应输出消息。
HandoffCallItem 数据类
基地:RunItemBase[ResponseFunctionToolCall]
表示从一个代理切换到另一个代理的工具调用。
源码src/agents/items.py
raw_item instance-attribute
raw_item: ResponseFunctionToolCall
表示切换的原始响应函数工具调用。
HandoffOutputItem 数据类
ToolCallItem 数据类
ToolCallOutputItem 数据类
基地:RunItemBase[Union[FunctionCallOutput, ComputerCallOutput]]
表示工具调用的输出。
源码src/agents/items.py
raw_item instance-attribute
raw_item: FunctionCallOutput | ComputerCallOutput
模型中的原始项。
output 实例属性
output: str
工具调用的输出。
ReasoningItem 数据类
基地:RunItemBase[ResponseReasoningItem]
表示推理项。
源码src/agents/items.py
raw_item instance-attribute
raw_item: ResponseReasoningItem
原始推理项。
ModelResponse 数据类
src/agents/items.py
referenceable_id instance-attribute
referenceable_id: str | None
响应的 ID,可用于在对 型。并非所有模型提供程序都支持。
to_input_items
to_input_items() -> list[TResponseInputItem]
ItemHelpers
src/agents/items.py
extract_last_content 类方法
extract_last_content(message: TResponseOutputItem) -> str
extract_last_text 类方法
extract_last_text(
message: TResponseOutputItem,
) -> str | None
input_to_new_input_list 类方法
input_to_new_input_list(
input: str | list[TResponseInputItem],
) -> list[TResponseInputItem]
text_message_outputs 类方法
text_message_outputs(items: list[RunItem]) -> str
text_message_output 类方法
text_message_output(message: MessageOutputItem) -> str
tool_call_output_item 类方法
tool_call_output_item(
tool_call: ResponseFunctionToolCall, output: str
) -> FunctionCallOutput
从工具调用及其输出创建工具调用输出项。
Run context
RunContextWrapper 数据类
基地:Generic[TContext]
这将包装您传递给 的 context 对象。它还包含 到目前为止代理运行的使用情况的信息。Runner.run()
注意:上下文不会传递给 LLM。它们是将依赖项和数据传递给代码的一种方式 您实现工具函数、回调、钩子等。
源码src/agents/run_context.py
Usage
Exceptions
超出最大转数
ModelBehaviorError
UserError (用户错误)
InputGuardrailTripwire触发
触发护栏绊线时引发异常。
源码src/agents/exceptions.py
guardrail_result instance-attribute
guardrail_result: InputGuardrailResult = guardrail_result
触发的护栏的结果数据。
OutputGuardrailTripwire触发
触发护栏绊线时引发异常。
源码src/agents/exceptions.py
guardrail_result instance-attribute
guardrail_result: OutputGuardrailResult = guardrail_result
触发的护栏的结果数据。
Guardrails
GuardrailFunctionOutput 数据类
InputGuardrailResult 数据类
护栏运行的结果。
源码src/agents/guardrail.py
OutputGuardrailResult 数据类
护栏运行的结果。
源码src/agents/guardrail.py
agent_output instance-attribute
agent_output: Any
护栏检查的代理的输出。
InputGuardrail 数据类
基地:Generic[TContext]
输入护栏是与代理执行并行运行的检查。 它们可用于执行以下作: - 检查输入的消息是否偏离主题 - 如果检测到意外输入,则接管代理执行的控制权
你可以使用装饰器将函数转换为 , 或 手动创建。@input_guardrail()
InputGuardrail
InputGuardrail
护栏返回 .如果 是 ,则代理 执行将立即停止并引发异常GuardrailResult
result.tripwire_triggered
True
InputGuardrailTripwireTriggered
src/agents/guardrail.py
guardrail_function instance-attribute
guardrail_function: Callable[
[
RunContextWrapper[TContext],
Agent[Any],
str | list[TResponseInputItem],
],
MaybeAwaitable[GuardrailFunctionOutput],
]
一个函数,用于接收代理输入和上下文,并返回一个 .结果标记绊线是否被触发,并且可以选择选择 包括有关 Guardrail 输出的信息。GuardrailResult
name 类-属性-
实例-属性
name: str | None = None
护栏的名称,用于跟踪。如果未提供,我们将使用护栏 函数的名称。
OutputGuardrail 数据类
基地:Generic[TContext]
输出护栏是在代理的最终输出上运行的检查。 它们可用于检查输出是否通过某些验证标准
你可以使用装饰器将函数转换为 , 或手动创建一个。@output_guardrail()
OutputGuardrail
OutputGuardrail
护栏返回 .如果是 ,将引发异常。GuardrailResult
result.tripwire_triggered
True
OutputGuardrailTripwireTriggered
src/agents/guardrail.py
guardrail_function instance-attribute
guardrail_function: Callable[
[RunContextWrapper[TContext], Agent[Any], Any],
MaybeAwaitable[GuardrailFunctionOutput],
]
一个函数,它接收最终代理、其输出和上下文,并返回一个 .结果标记绊线是否被触发,并且可以选择选择 包括有关 Guardrail 输出的信息。GuardrailResult
name 类-属性-
实例-属性
name: str | None = None
护栏的名称,用于跟踪。如果未提供,我们将使用护栏 函数的名称。
input_guardrail
input_guardrail(
func: _InputGuardrailFuncSync[TContext_co],
) -> InputGuardrail[TContext_co]
input_guardrail(
func: _InputGuardrailFuncAsync[TContext_co],
) -> InputGuardrail[TContext_co]
input_guardrail(
*, name: str | None = None
) -> Callable[
[
_InputGuardrailFuncSync[TContext_co]
| _InputGuardrailFuncAsync[TContext_co]
],
InputGuardrail[TContext_co],
]
input_guardrail(
func: _InputGuardrailFuncSync[TContext_co]
| _InputGuardrailFuncAsync[TContext_co]
| None = None,
*,
name: str | None = None,
) -> (
InputGuardrail[TContext_co]
| Callable[
[
_InputGuardrailFuncSync[TContext_co]
| _InputGuardrailFuncAsync[TContext_co]
],
InputGuardrail[TContext_co],
]
)
output_guardrail
output_guardrail(
func: _OutputGuardrailFuncSync[TContext_co],
) -> OutputGuardrail[TContext_co]
output_guardrail(
func: _OutputGuardrailFuncAsync[TContext_co],
) -> OutputGuardrail[TContext_co]
output_guardrail(
*, name: str | None = None
) -> Callable[
[
_OutputGuardrailFuncSync[TContext_co]
| _OutputGuardrailFuncAsync[TContext_co]
],
OutputGuardrail[TContext_co],
]
output_guardrail(
func: _OutputGuardrailFuncSync[TContext_co]
| _OutputGuardrailFuncAsync[TContext_co]
| None = None,
*,
name: str | None = None,
) -> (
OutputGuardrail[TContext_co]
| Callable[
[
_OutputGuardrailFuncSync[TContext_co]
| _OutputGuardrailFuncAsync[TContext_co]
],
OutputGuardrail[TContext_co],
]
)
将 sync 或 async 函数转换为 . 它可以直接使用(无括号)或与关键字 args 一起使用,例如:OutputGuardrail
@output_guardrail
def my_sync_guardrail(...): ...
@output_guardrail(name="guardrail_name")
async def my_async_guardrail(...): ...

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)