LangChain 通过 @langchain/openai 包与 OpenAI 和 Azure OpenAI 进行集成。
OpenAI 是美国的人工智能 (AI) 研究实验室, 由非营利组织 OpenAI Incorporated 及其营利性子公司 OpenAI Limited Partnership 组成。 OpenAI 以促进和发展友好型人工智能为公开目标进行 AI 研究。 OpenAI 系统运行在基于 Azure 的 Microsoft 超级计算平台上。
OpenAI API 由一系列功能多样、价格各异的模型提供支持。 ChatGPT 是由 OpenAI 开发的人工智能 (AI) 聊天机器人。

安装与设置

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

聊天模型

参见 使用示例。

大语言模型

参见 使用示例。
npm

文本嵌入模型

参见 使用示例

链

中间件

专为 OpenAI 模型设计的中间件。了解更多关于 中间件 的信息。

内容审核

使用 OpenAI 的审核端点审核智能体流量(用户输入、模型输出和工具结果),以检测和处理不安全内容。内容审核适用于以下场景:
  • 需要内容安全性和合规性的应用程序
  • 过滤有害、仇恨或不当内容
  • 需要安全防护栏的面向客户的智能体
  • 满足平台审核要求
了解更多关于 OpenAI 的审核模型 和类别。
API 参考: openAIModerationMiddleware
string | BaseChatModel
required
用于审核的 OpenAI 模型。可以是模型名称字符串(例如,"openai:gpt-5.5")或 BaseChatModel 实例。中间件将使用此模型的客户端访问审核端点。
ModerationModel
default:"omni-moderation-latest"
要使用的 OpenAI 审核模型。选项:'omni-moderation-latest'、'omni-moderation-2024-09-26'、'text-moderation-latest'、'text-moderation-stable'
boolean
default:"true"
是否在调用模型之前检查用户输入消息
boolean
default:"true"
是否在调用模型之后检查模型输出消息
boolean
default:"false"
是否在调用模型之前检查工具结果消息
'error' | 'end' | 'replace'
default:"'end'"
当内容被标记为违规时如何处理。选项:
  • 'end' - 立即结束智能体执行,并提供违规消息
  • 'error' - 抛出 OpenAIModerationError 异常
  • 'replace' - 用违规消息替换被标记的内容,并继续执行
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' - 替换被标记的内容并继续执行