Skip to main content
所有与 OpenAI 相关的功能
OpenAI 是美国人工智能 (AI) 研究实验室, 由非营利组织 OpenAI Incorporated 及其营利性子公司 OpenAI Limited Partnership 组成。 OpenAI 进行 AI 研究,旨在促进和发展友好的人工智能。 OpenAI 系统运行在 MicrosoftAzure 超级计算平台上。
OpenAI API 由一系列具有不同功能和价格点的模型提供支持。 ChatGPT 是由 OpenAI 开发的人工智能 (AI) 聊天机器人。

安装与设置

  • 获取 OpenAI API 密钥并将其设置为环境变量 (OPENAI_API_KEY)

聊天模型

参见使用示例
import { ChatOpenAI } from "@langchain/openai";

LLM

参见使用示例
npm
npm install @langchain/openai @langchain/core
import { OpenAI } from "@langchain/openai";

文本嵌入模型

参见使用示例
import { OpenAIEmbeddings } from "@langchain/openai";

import { OpenAIModerationChain } from "@langchain/classic/chains";

中间件

专为 OpenAI 模型设计的中间件。了解更多关于中间件的信息。
中间件描述
内容审核使用 OpenAI 的审核端点审核代理流量

内容审核

使用 OpenAI 的审核端点审核代理流量(用户输入、模型输出和工具结果),以检测和处理不安全内容。内容审核适用于以下情况:
  • 需要内容安全和合规性的应用程序
  • 过滤有害、仇恨或不当内容
  • 需要安全护栏的面向客户的代理
  • 满足平台审核要求
了解更多关于 OpenAI 的审核模型 和类别的信息。
API 参考: openAIModerationMiddleware
import { createAgent, openAIModerationMiddleware } from "langchain";

const agent = createAgent({
  model: "openai:gpt-4.1",
  tools: [searchTool, databaseTool],
  middleware: [
    openAIModerationMiddleware({
      model: "openai:gpt-4.1",
      moderationModel: "omni-moderation-latest",
      checkInput: true,
      checkOutput: true,
      exitBehavior: "end",
    }),
  ],
});
model
string | BaseChatModel
required
用于审核的 OpenAI 模型。可以是模型名称字符串(例如 "openai:gpt-4.1")或 BaseChatModel 实例。中间件将使用此模型的客户端访问审核端点。
moderationModel
ModerationModel
default:"omni-moderation-latest"
要使用的 OpenAI 审核模型。选项:'omni-moderation-latest''omni-moderation-2024-09-26''text-moderation-latest''text-moderation-stable'
checkInput
boolean
default:"true"
是否在调用模型之前检查用户输入消息
checkOutput
boolean
default:"true"
是否在调用模型之后检查模型输出消息
checkToolResults
boolean
default:"false"
是否在调用模型之前检查工具结果消息
exitBehavior
'error' | 'end' | 'replace'
default:"'end'"
如何处理内容被标记时的违规行为。选项:
  • 'end' - 立即以违规消息结束代理执行
  • 'error' - 抛出 OpenAIModerationError 异常
  • 'replace' - 用违规消息替换被标记的内容并继续
violationMessage
string | undefined
违规消息的自定义模板。支持模板变量:
  • {categories} - 用逗号分隔的标记类别列表
  • {category_scores} - 类别分数的 JSON 字符串
  • {original_content} - 原始被标记的内容
默认值:"I'm sorry, but I can't comply with that request. It was flagged for {categories}."
中间件集成了 OpenAI 的审核端点,以在不同阶段检查内容:审核阶段:
  • checkInput - 模型调用前的用户消息
  • checkOutput - 模型调用后的 AI 消息
  • checkToolResults - 模型调用前的工具输出
退出行为:
  • 'end'(默认)- 以违规消息停止执行
  • 'error' - 抛出异常供应用程序处理
  • 'replace' - 替换被标记的内容并继续
import { createAgent, openAIModerationMiddleware } from "langchain";

// 基本审核
const agent = createAgent({
  model: "openai:gpt-4.1",
  tools: [searchTool, customerDataTool],
  middleware: [
    openAIModerationMiddleware({
      model: "openai:gpt-4.1",
      moderationModel: "omni-moderation-latest",
      checkInput: true,
      checkOutput: true,
    }),
  ],
});

// 严格审核,带自定义消息
const agentStrict = createAgent({
  model: "openai:gpt-4.1",
  tools: [searchTool, customerDataTool],
  middleware: [
    openAIModerationMiddleware({
      model: "openai:gpt-4.1",
      moderationModel: "omni-moderation-latest",
      checkInput: true,
      checkOutput: true,
      checkToolResults: true,
      exitBehavior: "error",
      violationMessage:
        "Content policy violation detected: {categories}. " +
        "Please rephrase your request.",
    }),
  ],
});

// 带替换行为的审核
const agentReplace = createAgent({
  model: "openai:gpt-4.1",
  tools: [searchTool],
  middleware: [
    openAIModerationMiddleware({
      model: "openai:gpt-4.1",
      checkInput: true,
      exitBehavior: "replace",
      violationMessage: "[Content removed due to safety policies]",
    }),
  ],
});