> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-docs-zh.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenAI 中间件集成

> 使用 LangChain Python 集成 OpenAI 中间件。

专为 OpenAI 模型设计的中间件。了解更多关于 [中间件](https://langchain-docs-zh.mintlify.site/langchain/oss/langchain/middleware/overview.md) 的信息。

| 中间件 | 描述 |
| - | - |
| [内容审核](#内容审核) | 使用 OpenAI 的审核端点审核智能体流量（用户输入、模型输出和工具结果）以检测和处理不安全内容 |
| [模型路由](https://langchain-docs-zh.mintlify.site/langchain/oss/python/integrations/decision_models/openai.md#模型路由) | 使用 OpenAI 决策 API（预览版）将每个智能体运行路由到模型 |
| [工具风险网关](https://langchain-docs-zh.mintlify.site/langchain/oss/python/integrations/decision_models/openai.md#工具风险网关) | 使用 OpenAI 决策 API（预览版）阻止有风险的工具调用 |

## 内容审核

使用 OpenAI 的审核端点审核智能体流量（用户输入、模型输出和工具结果），以检测和处理不安全内容。内容审核适用于以下场景：

* 需要内容安全和合规的应用程序
* 过滤有害、仇恨或不适当的内容
* 需要安全护栏的客户面智能体
* 满足平台审核要求

> [!NOTE]
>
> 了解更多关于 [OpenAI 的审核模型](https://platform.openai.com/docs/guides/moderation) 和类别。

**API 参考:** @\[`OpenAIModerationMiddleware`]

```python theme={null}
from langchain_openai import ChatOpenAI
from langchain_openai.middleware import OpenAIModerationMiddleware
from langchain.agents import create_agent

agent = create_agent(
    model=ChatOpenAI(model="gpt-5.5"),
    tools=[search_tool, database_tool],
    middleware=[
        OpenAIModerationMiddleware(
            model="omni-moderation-latest",
            check_input=True,
            check_output=True,
            exit_behavior="end",
        ),
    ],
)
```

> [accordion] Configuration options
>
> **model** `ModerationModel` (default: omni-moderation-latest)
>
> 要使用的 OpenAI 审核模型。选项：`'omni-moderation-latest'`, `'omni-moderation-2024-09-26'`, `'text-moderation-latest'`, `'text-moderation-stable'`
>
> **check\_input** `bool` (default: True)
>
> 在调用模型之前是否检查用户输入消息
>
> **check\_output** `bool` (default: True)
>
> 在调用模型后是否检查模型输出消息
>
> **check\_tool\_results** `bool` (default: False)
>
> 在调用模型之前是否检查工具结果消息
>
> **exit\_behavior** `string` (default: end)
>
> 当内容被标记为违规时如何处理。选项：
>
> * `'end'` - 立即结束智能体执行并显示违规消息
> * `'error'` - 抛出 `OpenAIModerationError` 异常
> * `'replace'` - 用违规消息替换被标记的内容并继续
>
> **violation\_message** `str | None`
>
> 自定义违规消息模板。支持模板变量：
>
> * `{categories}` - 被标记类别的逗号分隔列表
> * `{category_scores}` - 类别分数的 JSON 字符串
> * `{original_content}` - 原始被标记的内容
>
> 默认：`"I'm sorry, but I can't comply with that request. It was flagged for {categories}."`
>
> **client** `OpenAI | None`
>
> 可选的预配置 OpenAI 客户端以复用。如果未提供，将创建一个新的客户端。
>
> **async\_client** `AsyncOpenAI | None`
>
> 可选的预配置 AsyncOpenAI 客户端以复用。如果未提供，将创建一个新的异步客户端。

> [accordion] Full example
>
> 该中间件集成了 OpenAI 的审核端点，在不同阶段检查内容：
>
> **审核阶段：**
>
> * `check_input` - 调用模型前的用户消息
> * `check_output` - 调用模型后的 AI 消息
> * `check_tool_results` - 调用模型前的工具输出
>
> **退出行为：**
>
> * `'end'`（默认） - 带违规消息停止执行
> * `'error'` - 为应用程序处理抛出异常
> * `'replace'` - 替换被标记的内容并继续
>
> ```python theme={null}
> from langchain_openai import ChatOpenAI
> from langchain_openai.middleware import OpenAIModerationMiddleware
> from langchain.agents import create_agent
>
>
> # Basic moderation
> agent = create_agent(
>     model=ChatOpenAI(model="gpt-5.5"),
>     tools=[search_tool, customer_data_tool],
>     middleware=[
>         OpenAIModerationMiddleware(
>             model="omni-moderation-latest",
>             check_input=True,
>             check_output=True,
>         ),
>     ],
> )
>
> # Strict moderation with custom message
> agent_strict = create_agent(
>     model=ChatOpenAI(model="gpt-5.5"),
>     tools=[search_tool, customer_data_tool],
>     middleware=[
>         OpenAIModerationMiddleware(
>             model="omni-moderation-latest",
>             check_input=True,
>             check_output=True,
>             check_tool_results=True,
>             exit_behavior="error",
>             violation_message=(
>                 "Content policy violation detected: {categories}. "
>                 "Please rephrase your request."
>             ),
>         ),
>     ],
> )
>
> # Moderation with replacement behavior
> agent_replace = create_agent(
>     model=ChatOpenAI(model="gpt-5.5"),
>     tools=[search_tool],
>     middleware=[
>         OpenAIModerationMiddleware(
>             check_input=True,
>             exit_behavior="replace",
>             violation_message="[Content removed due to safety policies]",
>         ),
>     ],
> )
> ```

***

> 官方原文：[src/oss/python/integrations/middleware/openai.mdx](https://github.com/langchain-ai/docs/blob/main/src/oss/python/integrations/middleware/openai.mdx) · 非官方翻译，译文由 AI 生成，以英文原文为准。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.