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)를 사용하여 미세 조정(fine-tune) 데이터를 쉽게 업로드할 수 있습니다.
  • 워크로드 아이덴티티 인증: 정적 API 키 대신 Kubernetes, Azure, GCP 또는 X.509 클라이언트 인증서에서 발급된 단기 토큰을 사용합니다.
  • 실시간 API: WebSocket을 통한 저지연, 멀티모달(텍스트 + 오디오) 대화 및 함수 호출을 지원합니다.
  • Azure OpenAI 및 Amazon Bedrock 어댑터: 각 클라우드 제공업체 엔드포인트에 대한 즉각적인 지원을 제공합니다.
  • 자동 페이지네이션, 재시도, 타임아웃 및 취소: 재정의 가능한 합리적인 기본값이 설정되어 있습니다.
  • Webhook 검증: OpenAI에서 보낸 Webhook을 검증하고 파싱하는 내장 메서드를 제공합니다.

일반적인 사용 사례

  • 웹 또는 서버 앱에서 챗봇 어시스턴트, 코드 생성기 또는 LLM 기반 기능 구축.
  • Vision 엔드포인트를 사용하여 LLM으로 이미지 처리(예: OCR, 캡션 생성).
  • 미세 조정 작업 실행 및 업로드된 학습 파일 관리.
  • Realtime API를 사용하여 저지연 음성 어시스턴트 배포.
  • 워크로드 아이덴티티를 사용하여 시크릿 없는 인증 방식으로 Kubernetes 기반 서비스에 OpenAI 모델 통합.

설치

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에서 직접 가져왔으며, 외부적인 가정은 포함되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트