Sep 23, 2024
Create a React Application
mpx create-react-app chat-gpt-appOpenAI Account
.env file for security.Starting the Application
cd chat-gpt-appnpm startserver.js in the root of the project.npm install express cors body-parser openai axios
server.jsconst express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const OpenAI = require('openai');
const axios = require('axios');
const config = new OpenAI.Configuration({ apiKey: 'YOUR_API_KEY' });
const app = express();
app.use(cors());
app.use(bodyParser.json());
/chat.app.post('/chat', async (req, res) => {
const { prompt } = req.body;
const completion = await openai.createCompletion({ model: "text-davinci-003", prompt });
res.send(completion.data.choices[0].text);
});
const PORT = 8020;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));
App.js and create a new component ChatGPTComponent.jsx.import React, { useState } from 'react';
import Axios from 'axios';
const [prompt, setPrompt] = useState('');
const [response, setResponse] = useState('');
const handleSubmit = async (event) => {
event.preventDefault();
const res = await Axios.post('http://localhost:8020/chat', { prompt });
setResponse(res.data);
};
<form onSubmit={handleSubmit}>
<input type='text' value={prompt} onChange={(e) => setPrompt(e.target.value)} />
<button type='submit'>Ask</button>
</form>
<p>{response || 'Ask me anything!'}</p>