Implementando CHATGPT com Node js

Mar 16 2023
O que é ChatGPT : ChatGPT é um chatbot de inteligência artificial desenvolvido pela OpenAI e lançado em novembro de 2022. Ele é construído sobre a família GPT-3 da OpenAI de grandes modelos de linguagem e foi ajustado usando o método supervisionado [ de aprendizado de máquina em que o treinamento dados tem a chave de resposta para que o modelo seja treinado com a própria resposta correta ] e reforço [ método de aprendizado de máquina onde um agente inteligente (programa de computador) interage com o ambiente e aprende a agir dentro dele ] técnicas de aprendizado.

O que é ChatGPT :

O ChatGPT é um chatbot de inteligência artificial desenvolvido pela OpenAI e lançado em novembro de 2022. Ele é construído sobre a família GPT-3 de modelos de linguagem grandes da OpenAI e foi ajustado usando o método supervisionado [ de aprendizado de máquina em que os dados de treinamento têm a resposta chave com ela para que o modelo seja treinado com a própria resposta correta ] e reforço [ método de aprendizado de máquina onde um agente inteligente (programa de computador) interage com o ambiente e aprende a agir dentro dele ] técnicas de aprendizado.

Em palavras simples, podemos dizer que “ChatGPT é um chatbot que conversa com usuários em linguagem humana”.

Implementar no aplicativo Node js

Para usar o ChatGPT em nosso aplicativo node js, usaremos OpenAI apis . Para usar openAI apis, precisamos obter uma chave de API de openAI e usar uma biblioteca cliente de API, como openai npm package, para fazer solicitações à API de nosso aplicativo node js.

Obtenha a chave da API no site da OpenAI:

Acesse o site da openAI ( https://openai.com/ ) e, após se inscrever, procure a seção “API” nas configurações da sua conta e gere a chave da API. Não se esqueça de manter sua chave de API secreta e segura.

Criar aplicativo de nó básico:

Vá para o terminal primeiro e crie o projeto usando

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}`);
});

Vá para carteiro e clique em uma solicitação POST “http://localhost:5003/factual-answering”

Você também pode clonar meu repositório “ https://github.com/aditiipriya/chatgptImplementation ”.

Espero que ajude .. Obrigado !! :)