Como Integrar a API do ChatGPT com Node.js

Lucas Pereira de Souza - Aug 12 - - Dev Community

Integrar a API do ChatGPT com Node.js é uma maneira poderosa de adicionar funcionalidades de processamento de linguagem natural ao seu aplicativo. Neste post, vamos explorar como configurar a integração, desde a instalação das bibliotecas necessárias até a implementação de chamadas à API do ChatGPT.

1. Pré-requisitos

  • Node.js instalado na sua máquina.
  • Uma conta na OpenAI e uma chave de API válida.
  • Familiaridade básica com JavaScript e Node.js.

2. Instalando as Dependências

Primeiro, crie um novo projeto Node.js e instale as dependências necessárias. Vamos utilizar o axios para fazer as requisições HTTP e o dotenv para gerenciar as variáveis de ambiente.

mkdir chatgpt-nodejs
cd chatgpt-nodejs
npm init -y
npm install axios dotenv
Enter fullscreen mode Exit fullscreen mode

3. Configurando o Projeto

Dentro do diretório do projeto, crie um arquivo .env para armazenar sua chave de API da OpenAI:

OPENAI_API_KEY=your-api-key-here
Enter fullscreen mode Exit fullscreen mode

Agora, crie um arquivo index.js e adicione o código básico para configurar o uso do dotenv e do axios:

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

const apiKey = process.env.OPENAI_API_KEY;
const apiUrl = 'https://api.openai.com/v1/chat/completions';

async function getChatGPTResponse(prompt) {
    try {
        const response = await axios.post(apiUrl, {
            model: "gpt-4",
            messages: [{ role: "user", content: prompt }],
            max_tokens: 150,
        }, {
            headers: {
                'Authorization': `Bearer ${apiKey}`,
                'Content-Type': 'application/json'
            }
        });

        const reply = response.data.choices[0].message.content;
        console.log('ChatGPT:', reply);
    } catch (error) {
        console.error('Error fetching response:', error.response ? error.response.data : error.message);
    }
}

getChatGPTResponse('Olá, como você está?');
Enter fullscreen mode Exit fullscreen mode

4. Entendendo o Código

  • dotenv: Carrega as variáveis de ambiente do arquivo .env.
  • axios: Realiza uma chamada POST para a API do ChatGPT.
  • apiKey: Armazena a chave da API que é utilizada na requisição.
  • apiUrl: URL da API do ChatGPT.
  • getChatGPTResponse: Função assíncrona que envia o prompt para o ChatGPT e exibe a resposta.

5. Executando o Código

Para executar o código, rode o comando:

node index.js
Enter fullscreen mode Exit fullscreen mode

Se tudo estiver configurado corretamente, você verá a resposta do ChatGPT no console.

6. Customizando a Integração

Você pode ajustar vários parâmetros na chamada à API, como o modelo, o número de tokens de resposta (max_tokens), e até incluir mensagens de contexto na lista de messages. Por exemplo:

const conversation = [
    { role: "system", content: "Você é um assistente útil." },
    { role: "user", content: "Me explique o que é uma API." }
];

async function getChatGPTResponse(messages) {
    try {
        const response = await axios.post(apiUrl, {
            model: "gpt-4",
            messages: messages,
            max_tokens: 150,
        }, {
            headers: {
                'Authorization': `Bearer ${apiKey}`,
                'Content-Type': 'application/json'
            }
        });

        const reply = response.data.choices[0].message.content;
        console.log('ChatGPT:', reply);
    } catch (error) {
        console.error('Error fetching response:', error.response ? error.response.data : error.message);
    }
}

getChatGPTResponse(conversation);
Enter fullscreen mode Exit fullscreen mode

7. Conclusão

Integrar a API do ChatGPT com Node.js é uma tarefa relativamente simples que pode adicionar funcionalidades de IA avançadas ao seu aplicativo. Com a flexibilidade da API, você pode criar desde assistentes de conversação até sistemas complexos de processamento de linguagem natural.

Experimente diferentes prompts e configurações para ver como o ChatGPT pode se adaptar às suas necessidades específicas!


Esse é um exemplo básico para começar a integração. À medida que você se familiariza com a API, pode explorar recursos mais avançados, como o ajuste fino dos modelos e o uso de contextos de conversa mais complexos.

. . . . . . . . . . . . . . . . . .