Danh mụcThẻBài viết

admin

I'm a Full-stack developer

Thẻ

Linked List
Data Structure
Chat GPT
Design Pattern
Microservices
API
AWS CDK
ReactJS
AWS Lightsail
Flutter Mobile
How to integrate ChatGPT-3.5 Turbo into Node.js
Ngày đăng: 10/01/2024

This article illustrates how to integrate ChatGPT-3.5 Turbo into Node.js and shows the result on ReactJS. We will show a very basic setup.


Contents

  1. What is ChatGPT-3.5 Turbo?
  2. Create your first ChatGPT application
  3. Setup ChatGPT-3.5 Turbo in Node.js
  4. Creating a ReactJS page
  5. Demo
  6. Get conversation via API
  7. Show the result to the UI
  8. Conclusion


What is ChatGPT-3.5?

  • ChatGPT-3.5 Turbo is a chatbot, developed by OpenAI.
  • ChatGPT is also a natural language processing (NLP) tool, that allows you to have human-like conversations.
  • The language model can answer questions and assist you with tasks, such as composing emails, essays, and code.


Create your first ChatGPT application


Setup ChatGPT-3.5 Turbo in Node.js


1. Create a new Node.js Application:

Run the command below to create a new node.js application
yarn init


2. Install packages:

OpenAI package
yarn add openai


3. Setup OpenAI:

Add apiKey into .env file
  • Enter the link on the web browser
  • Select API tab





  • Select API Keys on the left nav





  • Press Create new secret key button





  • Input your key name on the modal





  • Press Create secret key button
  • Past API Key into the env file


Use the completion function to get response


async generateSubTitle(title: string): Promise<string> {
  const response = await this._openAiClient.chat.completions.create({
    model: 'gpt-3.5-turbo',
    messages: [
      {
        role: 'user',
        content: title,
      },
    ],
    max_tokens: 100,
  });

  return response.choices[0].message.content ?? '';
}


Add new route to generate sub title base on article's title


POST /api/v1/articles/sub-title-generator

Body: {
  title: "How to use GPT-3.5 Turbo Instruct Node.js"
}


Creating a ReactJS page


import React, { useCallback, useState } from 'react';
import { useRouter } from 'next/router';
import { IconButton } from '@mui/material';
import AutoFixNormal from '@mui/icons-material/AutoFixNormal';
import axios from 'axios';

function PostPage() {
  const router = useRouter();

  const [titleValue, setTitleValue] = useState('');
  const [generateDescriptionProcessing, setGenerateDescriptionProcessing] = useState(false);
  const [generateSubTitleValue, setGenerateSubTitleValue] = useState('');

  const generateDescription = useCallback(async () => {
    try {
      const common = `a new sub title base on title: ${titleValue} ${
        router.locale === 'en' ? '' : 'using the Vietnameses'
      }`;

      setGenerateDescriptionProcessing(true);
      
      const res = await axios.post<IHttpResponse<string>>(`/articles/sub-title-generator`, {
        title: common,
      });

      setGenerateSubTitleValue(res.data.data.record);
    } catch (error) {
    } finally {
      setGenerateDescriptionProcessing(false);
    }
  }, [router.locale, titleValue]);

  return (
    <>
      <input
        type="text"
        value={titleValue}
        onChange={(e) => setTitleValue(e.target.value)}
        placeholder="Enter post title"
      />
      <textarea value={generateSubTitleValue} readOnly />
      <IconButton
        className="bg-blue-500 text-white ml-3 shadow"
        disabled={!titleValue || generateDescriptionProcessing}
        onClick={generateDescription}
      >
        <AutoFixNormal />
      </IconButton>
    </>
  );
}

export default PostPage;


Demo


Call API




React Page




Conclusion

OpenAI provides an API to integrate into your application, the API is easy to use and config. Furthermore, OpenAI has provided a powerful chatbot to answer the questions more like humans.

The API can also be used for commercial purposes for building scalable applications.


Good luck to you, hope this post is of value to you!!!!

Đề xuất

How to integrate ChatGPT-3.5 Turbo into Node.js
admin10/01/2024

How to integrate ChatGPT-3.5 Turbo into Node.js
Step-by-Step Guide to Incorporating ChatGPT-3.5 Turbo into Node.js for Basic ReactJS Applications
RESTful API - How to design?
admin09/06/2023

RESTful API - How to design?
In this article, I will describe the useful points of designing a good API.
Create Cognito User Pool with AWS CDK
admin09/06/2023

Create Cognito User Pool with AWS CDK
In the previous post, I showed you how to create a simple S3 bucket. Next, in this article, I will guide you to create a Cognito User Pool.
Mới nhất

NodeJS Verify and Decode Cognito JWT Tokens
admin12/06/2023

NodeJS Verify and Decode Cognito JWT Tokens
In this article, I will show you how to verify and decode the Cognito JWT Tokens token.
TypeScript Design Pattern - Proxy
admin11/08/2023

TypeScript Design Pattern - Proxy
Provide a surrogate or placeholder for another object to control access to it.
TypeScript Design Pattern - Singleton
admin07/08/2023

TypeScript Design Pattern - Singleton
The singleton ensures only a single install is created in a class and provides a method to access this instance everywhere in a codebase.
Đinh Thành Công Blog

My website, where I write blogs on a variety of topics and where I have some experiments with new technologies.

hotlinelinkedinskypezalofacebook
DMCA.com Protection Status
Góp ý
Họ & Tên
Số điện thoại
Email
Nội dung
Tải ứng dụng
hotline

copyright © 2023 - AGAPIFA

Privacy
Term
About