Como consumir a API do ChatGPT com Node.js

Como consumir a API do ChatGPT com Node.js

Nos últimos anos, a inteligência artificial deu saltos impressionantes, e a OpenAI está na vanguarda dessa revolução com o ChatGPT. Para desenvolvedores, integrar o poder do ChatGPT em aplicações web, bots e automações nunca foi tão acessível — especialmente com Node.js. Se você já trabalha com JavaScript e quer dar um passo além, este guia vai te mostrar como consumir a API do ChatGPT com Node.js, usando chamadas HTTP modernas e boas práticas.

1. O que é a API do ChatGPT?

A API do ChatGPT é uma interface de comunicação fornecida pela OpenAI, baseada nos modelos da família GPT (como o GPT-4). Com ela, é possível enviar mensagens para o modelo e receber respostas contextualizadas, funcionando como uma conversa dinâmica.

A versão mais comum atualmente é a chamada chat/completions, ideal para fluxos interativos. Você envia um array de mensagens (com role: user, assistant ou system) e o modelo responde com base nesse histórico.


2. Pré-requisitos para usar a API

Antes de tudo, você vai precisar de:

  • Conta na OpenAI (https://platform.openai.com)
  • Chave de API ativa
  • Node.js instalado (recomendado: v16 ou superior)
  • Conhecimento básico de chamadas HTTP e JSON

Instale o Node.js aqui: https://nodejs.org/


3. Criando um projeto Node.js

Abra seu terminal e siga estes passos:

mkdir chatgpt-node
cd chatgpt-node
npm init -y
npm install axios dotenv

Vamos usar o axios para fazer as requisições e dotenv para guardar a chave da API com segurança.

Crie o arquivo .env:

OPENAI_API_KEY=sua-chave-aqui

4. Estrutura básica para consumir a API

Crie um arquivo chamado index.js com o seguinte conteúdo:

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

const apiKey = process.env.OPENAI_API_KEY;

async function enviarMensagem(mensagemUsuario) {
try {
const resposta = await axios.post(
'https://api.openai.com/v1/chat/completions',
{
model: 'gpt-4', // ou 'gpt-3.5-turbo'
messages: [
{ role: 'system', content: 'Você é um assistente útil e conciso.' },
{ role: 'user', content: mensagemUsuario }
],
temperature: 0.7
},
{
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
}
);

const mensagemResposta = resposta.data.choices[0].message.content;
console.log('ChatGPT:', mensagemResposta);
} catch (erro) {
console.error('Erro ao enviar mensagem:', erro.response?.data || erro.message);
}
}

enviarMensagem("Como criar uma API REST em Node.js?");

5. Entendendo os parâmetros usados

  • model: define o modelo usado (gpt-4, gpt-3.5-turbo, etc.)
  • messages: histórico de conversas
    • system: define o comportamento do assistente
    • user: mensagem do usuário
  • temperature: controla a criatividade da resposta (0 = mais objetiva, 1 = mais criativa)

6. Lidando com respostas e interações dinâmicas

Se quiser tornar a conversa interativa via terminal, adicione o pacote readline:

const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});

readline.question('Pergunte algo: ', pergunta => {
enviarMensagem(pergunta).then(() => readline.close());
});

7. Limitações, custos e segurança

  • A OpenAI cobra por token usado, ou seja, depende do tamanho das mensagens e da resposta.
  • O uso em produção exige controle de gastos e segurança da chave.
  • Evite expor sua API_KEY em repositórios públicos ou no frontend.

8. Exemplos de uso prático

  • Bots de atendimento ao cliente
  • Assistentes para e-commerce
  • Geradores automáticos de texto
  • Automatização de tarefas repetitivas
  • Aplicativos educacionais com IA

FAQ — Dúvidas comuns

A API é gratuita?

Não. Existe uma cota gratuita para testes, mas a OpenAI cobra por uso. Você pode acompanhar o consumo no painel da sua conta.

Posso usar no frontend direto?

Não é recomendado por segurança. Sempre consuma a API a partir de um backend.

A chave da API expira?

Não expira automaticamente, mas pode ser revogada ou substituída por questões de segurança.

Posso usar outro pacote além de axios?

Sim, também pode usar fetch, node-fetch ou bibliotecas mais específicas como o SDK oficial da OpenAI.


Conteúdos relacionados

Leave a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Scroll to Top