Skip to content

openai/openai-quickstart-node

Repository files navigation

OpenAI API Quickstart - Node.js

This repository provides a collection of examples demonstrating how to use the OpenAI APIs with the Node.js SDK.

The examples are organized by API, with each folder dedicated to a specific API:

  • Chat Completions
  • Assistants
  • Fine-tuning
  • Embeddings
  • Moderation
  • Batch Processing
  • Images

Within each folder, you'll find a basic example to get started. For some APIs, additional examples are also included to explore more advanced use cases.

Prerequisites

To run the examples with the Node.js SDK, you will need:

  • A recent version of Node.js (>= 16.0.0)
  • A recent version of npm or another node package manager
  • An OpenAI API key (you can get one from your OpenAI dashboard)

How to use

  1. Clone this repository

    $ git clone https://github.com/openai/openai-quickstart-node.git
  2. Navigate into the project directory

    $ cd openai-quickstart-node
  3. Install the OpenAI Node.js SDK

    $ npm install openai
  4. Set your OpenAI API key in environment variables

    In the terminal session:

    Bash (Mac/Linux):

    $ export OPENAI_API_KEY=<your-api-key>

    PowerShell (Windows):

    $ setx OPENAI_API_KEY "<your_api_key>"

    Set it globally:

    Add this line to your .bashrc or .zshrc file on Mac/Linux:

    $ export OPENAI_API_KEY=<your-api-key>

    Or update your system environment variables on Windows.

  5. Run each script individually

    $ node path/to/script.js

    For example, to run the basic chat completions example:

    $ node chat_completions/index.js

Examples

Explore the examples below to learn how to use the Node.js SDK for your specific use case.

API Example Path
Chat Completions Basic example chat_completions/index.js
Multi-turn conversation chat_completions/multi_turn.js
Function Calling chat_completions/function_calling.js
Vision (image input) chat_completions/vision.js
Assistants Create an assistant assistants/index.js
Example thread assistants/thread.js {assistant-id}
Fine-tuning Create a fine-tuned model fine_tuning/index.js
Use a fine-tuned model fine_tuning/use_model.js {job-id}
Embeddings Generate embeddings embeddings/index.js
Moderation Moderate text moderation/index.js
Moderate images & text moderation/images.js
Batch Create a batch job batch/index.js
Get batch job results batch/retrieve_results.js {job-id}
Images Generate an image images/index.js

Additional Resources

For more in-depth examples within front-end applications, including with streaming responses, check out these additional resources: