Integrating ChatGPT with Node.js App using OpenAI API: JSON Formatted Responses Tutorial

Posted by


In this tutorial, we will guide you through the process of integrating ChatGPT with a Node.js application using the OpenAI API. ChatGPT is a state-of-the-art deep learning model developed by OpenAI that can generate human-like text responses to a variety of prompts and questions.

Before we begin, make sure you have an OpenAI API key. You can sign up for an API key at the OpenAI website.

Step 1: Create a new Node.js project
First, create a new Node.js project by running the following command in your terminal:

mkdir chatgpt-nodejs
cd chatgpt-nodejs
npm init -y

Step 2: Install the necessary packages
Next, install the necessary packages using the following command:

npm install axios dotenv

Step 3: Set up your OpenAI API key
Create a new file called ".env" in the root of your project directory and add your OpenAI API key like this:

OPENAI_API_KEY=YOUR_API_KEY_HERE

Step 4: Create a new file for your ChatGPT integration
Create a new file called "chatgpt.js" in the root of your project directory. This file will contain the code for integrating ChatGPT with your Node.js application.

Step 5: Import the necessary modules
In the "chatgpt.js" file, import the necessary modules like this:

const axios = require('axios');
require('dotenv').config();

Step 6: Create a function to send a prompt to ChatGPT
Next, create a function called “sendMessage” that will send a prompt to ChatGPT and receive a response using the OpenAI API.

const sendMessage = async (prompt) => {
  const response = await axios.post('https://api.openai.com/v1/engines/davinci/completions', {
    prompt: prompt,
    max_tokens: 150,
  }, {
    headers: {
      'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
      'Content-Type': 'application/json',
    },
  });

  return response.data.choices[0].text.trim();
};

Step 7: Create a function to handle user input
Create a function called “handleInput” that will handle user input, send a prompt to ChatGPT, and return the response.

const handleInput = async (input) => {
  const prompt = `The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly. nnUser: ${input}nAI:`;

  const response = await sendMessage(prompt);

  return response;
};

Step 8: Implement a simple chat interface
Create a simple chat interface using the “readline” module, which will take user input, send it to ChatGPT, and display the response.

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

rl.question('User: ', async (input) => {
  const response = await handleInput(input);
  console.log(`AI: ${response}n`);
  rl.close();
});

Step 9: Run your Node.js application
To run your Node.js application and start chatting with ChatGPT, run the following command in your terminal:

node chatgpt.js

You can now start interacting with ChatGPT and receive human-like text responses in a chat-like interface.

In this tutorial, you have learned how to integrate ChatGPT with a Node.js application using the OpenAI API. You can further enhance the chat interface by adding more features and customization to suit your specific use case. Feel free to experiment and explore other capabilities of ChatGPT and the OpenAI API to create more engaging and interactive applications.

0 0 votes
Article Rating
22 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@PiyaliMukherjee-be2ir
2 months ago

since the text-davinci-003 model is now deprecated can you show it with another model that would be very helpful ,thank you

@tradingtips_za
2 months ago

doesnt work for some reason 6.48

@jeyapragashj4500
2 months ago

I downloaded your code and got the same error when i did on my own
const configuration = new Configuration({

^

TypeError: Configuration is not a constructor
GUide me

@ibrahimdoba6143
2 months ago

amazing video, if i may ask what vscode extension are you using that give auto complete suggestions?

@egeozel80
2 months ago

Yo, very cool thanks but i am getting TypeError: Configuration is not a constructor error over and over again, what might be the problem? 😬😬

@worldoptics
2 months ago

Why I am getting Configuration is not a constructor error , when i run the node js server in this code ?

@tribecasterTV
2 months ago

Dude how can you fix the import not recognized on the web browser in node it don't have error but on browser import not recognized how you fix this

@peitho4757
2 months ago

THANK YOU SO MUCH OH MY GOD MY DAY WAS RUINED AND YOU SAVED IT

@amaan8617
2 months ago

This is showing this error
message: 'You exceeded your current quota, please check your plan and billing details.',
I have never used this API before still it is showing that you have exceeded your quota. How can i resolve it.

@souvikpatra1939
2 months ago

Why did I get the request failed with status code 429.?

🙃🙃🙃🙃🙃🙃

@Ali-r-h-flights
2 months ago

Good vidoe, if I have a website, can I do this with only JS?

@love_fun_bgm7218
2 months ago

hi bro,
I got this error "you exceeded your current quota please check your plan and billing details"

@chetansaini6698
2 months ago

I'm getting "Unexpected Token in JSON at position X" from time to time in the JSON sent by CHATGPT. Anybody knows how to fix this by modifying the prompt?

@spanishlarc31
2 months ago

Thank you for saving me time by creating short video and to the point. 😁

@jini611
2 months ago

do you know how do I stop chatgpt API not to give answer other then the training that I gave to it?
I am using 3.5-turbo api model

@user-tb8pv7qm4o
2 months ago

You earned a new sub, keep it up 💪

@97pixels
2 months ago

Thanks, CDD. I am working on a project and the response json from Openai was a big problem. thanks for showing the way to get the result in the expected format! 👍

@computerskills9492
2 months ago

I really want to know about the command i will use to install the packages

@SssS-li8qn
2 months ago

tranks bro

@MyEnglishIsPoor
2 months ago

Hi, thank you for your video which taught me to call openai. I know a little javascript. I want to use openai to make an app to help me learn English, and I have done it. It is a pity that the content cannot be output a little bit like chatgpt. When I set the stream to true, I don't know how to receive the data. I'm using typescript + vue3 + node.js. If you see, I'd like a finished example if you want, thanks.