openai/openai-node

Official JavaScript / TypeScript library for the OpenAI API

OpenAI Node.js / TypeScript SDK

它是什么

  • 一个官方客户端库,让 JavaScript 或 TypeScript 代码可以调用 OpenAI REST API。
  • 由 OpenAI 的 OpenAPI 规范生成,因此 SDK 与实时 API 接口保持同步。

核心功能

  • 文本生成:通过新的 Responses API 和经典的 Chat Completions API。
  • 视觉:发送图片与文本提示,并接收描述性输出。
  • 流式传输:以 Server‑Sent Events 接收部分结果,适用于实时 UI。
  • 文件处理:辅助函数 (toFile, toStreamingFile) 让上传微调数据变得简单。
  • 工作负载身份验证:使用来自 Kubernetes、Azure、GCP 或 X.509 客户端证书的短效令牌,取代静态 API 密钥。
  • 实时 API:通过 WebSocket 进行低延迟、多模态(文本 + 音频)对话,并支持函数调用。
  • Azure OpenAI 与 Amazon Bedrock 适配器:为对应的云服务商端点提供即插即用的支持。
  • 自动分页、重试、超时与取消:提供合理的默认值,且可进行覆盖。
  • Webhook 验证:内置验证与解析 OpenAI 发送之 Webhook 的方法。

典型使用案例

  • 在 Web 或服务器应用程序中构建聊天助手、代码生成器或任何由 LLM 驱动的功能。
  • 通过 Vision 端点使用 LLM 处理图像(例如 OCR、字幕生成)。
  • 执行微调任务并管理已上传的训练文件。
  • 使用 Realtime API 部署低延迟语音助手。
  • 使用工作负载身份验证将 OpenAI 模型集成至基于 Kubernetes 的服务中,实现无密钥验证。

安装

npm install openai   # or use Deno: import OpenAI from 'npm:openai'

快速开始 (使用 Responses API 进行文本生成)

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY, // optional – falls back to env var
});

const response = await client.responses.create({
  model: 'gpt-5.5',
  instructions: 'You are a coding assistant that talks like a pirate',
  input: 'Are semicolons optional in JavaScript?',
});

console.log(response.output_text);

深入了解

  • 完整方法列表:仓库中的 api.md。
  • 示例代码:examples/ 目录(例如多轮对话、流式传输、工作负载身份验证)。
  • 官方 API 参考:https://platform.openai.com/docs/api-reference。
  • 进阶主题文档:docs/realtime.md、docs/azure.md 以及 X.509 工作负载身份验证指南。

维护者

  • 由 OpenAI 开发与维护,并定期于 npm 发布更新。

所有细节均直接取自仓库的 README;未添加任何外部假设。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目