Guardrails
GuardrailFunctionOutput
dataclass
防护栏函数的输出。
Source code in src/agents/guardrail.py
输入防护栏结果
dataclass
护栏运行的结果。
Source code in src/agents/guardrail.py
输出防护栏结果
dataclass
护栏运行的结果。
Source code in src/agents/guardrail.py
输入防护栏
dataclass
基类: Generic[TContext]
输入防护栏是在智能体执行过程中并行运行的检查机制。 它们可用于实现以下功能: - 检查输入消息是否偏离主题 - 当检测到意外输入时接管智能体的执行控制权
你可以使用@input_guardrail()装饰器将函数转换为InputGuardrail,或者手动创建InputGuardrail。
Guardrails 返回一个 GuardrailResult。如果 result.tripwire_triggered 为 True,代理执行将立即停止,并引发 InputGuardrailTripwireTriggered 异常
Source code in src/agents/guardrail.py
guardrail_function
instance-attribute
guardrail_function: Callable[
[
RunContextWrapper[TContext],
Agent[Any],
str | list[TResponseInputItem],
],
MaybeAwaitable[GuardrailFunctionOutput],
]
一个接收代理输入和上下文并返回GuardrailResult的函数。该结果标记了是否触发了防护机制,并可选择性地包含有关防护输出的信息。
输出防护栏
dataclass
基类: Generic[TContext]
输出防护栏是对智能体最终输出运行的检查机制。 它们可用于验证输出是否符合特定的标准要求
你可以使用@output_guardrail()装饰器将函数转换为OutputGuardrail,
或者手动创建一个OutputGuardrail。
防护栏返回一个GuardrailResult。如果result.tripwire_triggered为True,
将引发OutputGuardrailTripwireTriggered异常。
Source code in src/agents/guardrail.py
guardrail_function
instance-attribute
guardrail_function: Callable[
[RunContextWrapper[TContext], Agent[Any], Any],
MaybeAwaitable[GuardrailFunctionOutput],
]
一个接收最终代理、其输出和上下文的函数,返回一个GuardrailResult。该结果标记是否触发了警戒线,并可选择性地包含有关防护栏输出的信息。
输入防护栏
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],
]
)
将同步或异步函数转换为InputGuardrail的装饰器。
可以直接使用(不加括号)或带关键字参数,例如:
@input_guardrail
def my_sync_guardrail(...): ...
@input_guardrail(name="guardrail_name")
async def my_async_guardrail(...): ...
Source code in src/agents/guardrail.py
输出防护栏
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],
]
)
将同步或异步函数转换为OutputGuardrail的装饰器。
可以直接使用(无需括号)或带关键字参数,例如:
@output_guardrail
def my_sync_guardrail(...): ...
@output_guardrail(name="guardrail_name")
async def my_async_guardrail(...): ...