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.
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)
-
Clone this repository
$ git clone https://github.com/openai/openai-quickstart-node.git
-
Navigate into the project directory
$ cd openai-quickstart-node
-
Install the OpenAI Node.js SDK
$ npm install openai
-
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.
-
Run each script individually
$ node path/to/script.js
For example, to run the basic chat completions example:
$ node chat_completions/index.js
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 |
For more in-depth examples within front-end applications, including with streaming responses, check out these additional resources: