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

安装和设置

  • 获取 OpenAI api key 并将其设置为环境变量 (OPENAI_API_KEY)

聊天模型

查看 使用示例
import { ChatOpenAI } from "@langchain/openai";

LLM

查看 使用示例
有关安装 LangChain 包的一般说明,请参阅此部分
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 的审核端点审核 agent 流量

内容审核

使用 OpenAI 的审核端点审核 agent 流量(用户输入、模型输出和工具结果),以检测和处理不安全的内容。内容审核在以下情况下很有用:
  • 需要内容安全和合规的应用程序
  • 过滤有害、仇恨或不当内容
  • 需要安全护栏的面向客户的 agents
  • 满足平台审核要求
了解更多关于 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' - 立即以违规消息结束 agent 执行
  • '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]",
    }),
  ],
});