Implementacja CHATGPT za pomocą Node js

Mar 16 2023
Co to jest ChatGPT: ChatGPT to chatbot ze sztuczną inteligencją opracowany przez OpenAI i uruchomiony w listopadzie 2022 r. Jest zbudowany na bazie rodziny dużych modeli językowych GPT-3 OpenAI i został dopracowany przy użyciu zarówno nadzorowanej [ metody uczenia maszynowego, w której szkolenie dane mają ze sobą klucz odpowiedzi, więc model jest szkolony za pomocą samej poprawnej odpowiedzi] i wzmocnienia [metoda uczenia maszynowego, w której inteligentny agent (program komputerowy) wchodzi w interakcję ze środowiskiem i uczy się działać w ramach tego] techniki uczenia się.

Co to jest ChatGPT :

ChatGPT to chatbot ze sztuczną inteligencją opracowany przez OpenAI i wprowadzony na rynek w listopadzie 2022 r. Jest zbudowany na bazie dużych modeli językowych OpenAI GPT-3 i został dopracowany przy użyciu zarówno nadzorowanej [ metody uczenia maszynowego, w której dane szkoleniowe zawierają odpowiedź klucz z nim, aby model był szkolony z samą poprawną odpowiedzią] i wzmacnianie [metoda uczenia maszynowego, w której inteligentny agent (program komputerowy) wchodzi w interakcję ze środowiskiem i uczy się działać w ramach tego] techniki uczenia się.

W prostych słowach możemy powiedzieć, że „ChatGPT to chatbot, który rozmawia z użytkownikami w ludzkim języku”.

Zaimplementuj w aplikacji Node js

Aby użyć ChatGPT w naszej aplikacji węzła js, użyjemy apis OpenAI . Aby korzystać z openAI apis, musimy uzyskać klucz API od openAI i użyć biblioteki klienta API, takiej jak pakiet openai npm, aby wysyłać żądania do API z naszej aplikacji node js.

Uzyskaj klucz API ze strony OpenAI:

Wejdź na stronę openAI ( https://openai.com/ ) i po rejestracji wyszukaj sekcję „API” w ustawieniach swojego konta i wygeneruj klucz API. Nie zapomnij zachować klucza Api w tajemnicy i zabezpieczyć go.

Utwórz podstawową aplikację węzła:

Najpierw przejdź do terminala i utwórz projekt za pomocą

mkdir chatgpt-nodeproject
cd chatgpt-nodeproject
code .

npm init -y
npm install express openai dotenv 
touch server.js
touch .env
touch config.js

PORT=5003
OPEN_AI_KEY="PASTE YOUR API KEY HERE"

require('dotenv').config({ debug: process.env.DEBUG });

let cfg = { 
        port: process.env.PORT,
        openaikey:process.env.OPEN_AI_KEY
     }

module.exports = {
        cfg
}

const express = require('express');
const config =  require("./config").cfg;
const app = express();
app.use(express.json());

app.listen(config.port, () => {
  console.log(`Example app listening at http://localhost:${config.port}`);
});

const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
    apiKey: config.openaikey,
});
const openai = new OpenAIApi(configuration);

app.post("/find-complexity", async(req,res)=> {
    try{
        const {prompt} = req.body;
        const response = openai.createCompletion({
            model: "text-davinci-003",
            prompt: `${prompt} The complexity of this function is `, //{"prompt": "const example = (arr)=> { arr.map((item)=> { console.log(item)});}"}
          });
        return res.status(200).json({success:true,data:(await response).data.choices[0].text})
    }catch(error){console.log(error,"error....")}
})

const express = require('express');
const config =  require("./config").cfg;
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
    apiKey: config.openaikey,
});
const openai = new OpenAIApi(configuration);
const app = express();

app.use(express.json());

app.post("/factual-answering", async(req,res)=> { 
    try{
        const {prompt} = req.body;
        const response = await openai.createCompletion({
            model: "text-davinci-003",
            prompt: `${prompt}`, // {"prompt": "Q: Pros and cons of callback and Promise\nA:"}
            max_tokens: 100,
          });
        return res.status(200).json({success:true,data:(await response).data.choices[0].text})
    }catch(error){console.log(error,"error....")}
})
  
app.post("/find-complexity", async(req,res)=> {
    try{
        const {prompt} = req.body;
        const response = openai.createCompletion({
            model: "text-davinci-003",
            prompt: `${prompt} The complexity of this function is `, //{"prompt": "const example = (arr)=> { arr.map((item)=> { console.log(item)});}"}
          });
        return res.status(200).json({success:true,data:(await response).data.choices[0].text})
    }catch(error){console.log(error,"error....")}
})

app.post("/imageGenerator-from-text", async(req,res)=> {
    try{
        const {prompt} = req.body;
        const response = await openai.createImage({
            prompt: `${prompt}`, //{"prompt": "kasoli in winter"}
            n: 2, // number of images to create
            size: "1024x1024",
          });          
        return res.status(200).json({success:true,data:(await response).data})
    }catch(error){console.log(error,"error....")}
})

app.post("/interview-questions", async(req,res)=> {
    try{
        const {prompt} = req.body;
        const response = await openai.createCompletion({
            model: "text-davinci-003",
            prompt: `${prompt}`,//{  "prompt": "Create a list of 8 questions for interview in MERN:"}
            max_tokens : 150
        });

    return res.status(200).json({success:true,data:(await response).data.choices[0].text})
    }catch(error){console.log(error,"error....")}
})

app.listen(config.port, () => {
  console.log(`Example app listening at http://localhost:${config.port}`);
});

Przejdź do listonosza i naciśnij żądanie POST „http://localhost:5003/factual-answering”

Możesz także sklonować moje repozytorium „ https://github.com/aditiipriya/chatgptImplementation ”.

Mam nadzieję, że to pomoże .. Dziękuję !! :)