Executando verificação de segurança...
0

Como Usar a API do ChatGPT com Node.js

Neste artigo, vamos te ensinar passo a passo como usar a API da OpenAI, desde a criação da conta até o uso avançado com funções (tools) e boas práticas.

Esse conteúdo foi criado primeiro em video e depois convertido para um artigo

Criando Sua Conta na OpenAI

Para começar, você precisa criar uma conta diretamente na plataforma da OpenAI, e não no site do ChatGPT (são coisas diferentes). Essa conta te dará acesso à API Key necessária para autenticar suas requisições.

Vá em Settings > API Keys e crie uma nova chave secreta.

Guarde-a em local seguro, nunca a exponha publicamente, pois ela permite consumo pago da API.

Se for sua primeira vez, a OpenAI pode fornecer créditos gratuitos de teste. Após o fim dos créditos, será necessário adicionar um cartão de crédito na aba Billing.

Dica Importante

Por padrão vem habilitado a opção "Auto Recharge", que irá cobrar no seu cartão de credito sempre que acabar seus creditos.

Se você não tiver um aplicativo rodando em produção, recomendo desabilitar essa opção.

Se você quiser ir além, você pode até excluir o cartão de crédito da conta.

Configurando a API da OpenAI com com Node.js

Instale os pacotes:

npm install openai dotenv

Crie um arquivo .env e adicione sua chave:

OPENAI_API_KEY=sua_chave_secreta
import { OpenAI } from 'openai';
import * as dotenv from 'dotenv';
dotenv.config();

const openai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
});

Dica Importante:

Adicione o seu arquivo .env no .gitignore para evitar que você faça um commit com esse arquivo, pois se a sua API Key vazar na internet, qualquer um poderá fazer chamadas com a sua chave e gastar seus créditos.

Usando a API de Chat

A OpenAI oferece várias APIs, mas para criar um chatbot, usamos o chat.completions.

const completion = await openai.chat.completions.create({
  model: "gpt-4",
  messages: [
    { role: "user", content: "Olá, tudo bem?" }
  ],
});
console.log(completion.choices[0].message.content);

Essa API recebe as mensagens do chat e cada mensagem tem uma role, que indica quem mandou a mensagem.

Roles mais comuns:

  • user: mensagem enviada pelo usuário
  • assistant: resposta gerada pelo modelo
  • system: define regras ou contexto do modelo

Usando Functions (Tools)

Eu diria que essa é uma das melhores funcionalidades dessa API.

Com as tools, o modelo pode chamar funções do seu backend dinamicamente.

Primeiro você irá definir quais funções da sua aplicação a sua AI pode chamar.

Exemplo:

const tools = [
  {
    type: "function",
    function: {
      name: "getWeather",
      description: "Retorna o clima atual de uma cidade",
      parameters: {
        type: "object",
        properties: {
          city: { type: "string", description: "Nome da cidade" }
        },
        required: ["city"]
      }
    }
  }
];

A partir das descrições fornecidas, a IA pode entender que precisa chamar essa função e então ela retornará tool_calls que contêm qual função chamar e os parâmetros para passar.

const completion = await openai.chat.completions.create({
  model: "gpt-4o",
  messages: [
    { role: "user", content: "Qual o clima em São Paulo?" }
  ],
  tools,
  tool_choice: "auto"
});

const toolCall = completion.choices[0].message.tool_calls?.[0];

if (toolCall) {
  const { name, arguments: args } = toolCall.function;
  // Chame a sua função com os parâmetros fornecidos.
}

Você irá chamar a sua função e chamar de volta a API com o resultado da sua função passando role: "tool"

const finalResponse = await openai.chat.completions.create({
    model: "gpt-4o",
    messages: [
      // ... resto das mensagens
      {
        role: "tool",
        tool_call_id: toolCall.id,
        content: JSON.stringify(result),
      },
    ],
  });

Moderação de Conteúdo Gratuita

A OpenAI oferece uma API gratuita chamada moderations, usada para identificar conteúdo sensível, ofensivo ou perigoso.

const result = await openai.moderations.create({
  input: "mensagem do usuário"
});
console.log(result.results[0].flagged); // true ou false

Eu recomendo muito você usar isso, principalmente quando você tiver algo em produção, porque além de trazer uma segurança para sua aplicação, também é de graça.

Mas também vale ressaltar que seus requests poderão ficar mais lentos, pois você irá chamar duas APIs, a moderations e a API que você estiver utilizando.

Gerando imagens

E para gerar imagens, é muito fácil:

const img = await client.images.generate({
  model: "gpt-image-1",
  prompt: "A cute baby sea otter",
  n: 1,
  size: "1024x1024"
});

Conclusão

É muito fácil usar a API da OpenAI e a tools te permite integrar IA em sua aplicação. Se você quer ter um projeto de destaque no seu portifólio, recomendo criar uma aplicação simples e integrar um um chat que faz as ações para você.

Você também precisa ficar atento a alguns detalhes:


Video original desse artigo: Como Usar ChatGPT com API da OpenAI no NodeJs
*Esse artigo foi convertido para texto usando IA

Se ficou com alguma dúvida, deixe seu comentário ou sugestão!

Carregando publicação patrocinada...