Integração com ChatGPT API em TypeScript: guia passo a passo

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Como ChatGPT e TypeScript se tornam melhores amigos

Imagine: você escreve código em TypeScript e, de repente, seu serviço ganha um superpoder — a capacidade de entender e gerar texto humano. A ChatGPT API torna isso realidade. Neste artigo, não vamos apenas conectar a API — vamos construir um módulo completo para comunicação com a rede neural, que será robusto, tipado e pronto para produção.

Se você pensa que a integração de IA é algo saído da ficção científica ou reservado para gigantes como o Google, apresso-me em animá-lo: a OpenAI fornece uma API REST simples, e o TypeScript, com sua tipagem estrita, torna o trabalho com ela seguro e previsível. Vamos colocar a mão na massa na prática.



Preparação do ambiente: o que instalar

Antes de escrever código, vamos garantir que você tenha tudo o que precisa. Para trabalhar com a ChatGPT API em TypeScript, você vai precisar de:

  • Node.js versão 18 ou superior (recomendo a 20 LTS)
  • npm ou yarn para gerenciamento de pacotes
  • Chave de API OpenAI — obtenha-a em platform.openai.com
  • Editor de código (VS Code, WebStorm — qualquer um que preferir)

Vamos criar um novo projeto e instalar as dependências:

mkdir chatgpt-typescriptcd chatgpt-typescriptnpm init -ynpm install openai dotenvnpm install -D typescript @types/node ts-node

Observe: estamos usando o SDK oficial da OpenAI, que funciona muito bem com TypeScript. O pacote dotenv será necessário para armazenar a chave da API com segurança.



Configuração do TypeScript e variáveis de ambiente

Vamos criar o arquivo tsconfig.json com as configurações básicas:

{  "compilerOptions": {    "target": "ES2020",    "module": "commonjs",    "lib": ["ES2020"],    "outDir": "./dist",    "rootDir": "./src",    "strict": true,    "esModuleInterop": true,    "skipLibCheck": true,    "forceConsistentCasingInFileNames": true  },  "include": ["src/**/*"]}

Agora, crie o arquivo .env na raiz do projeto:

OPENAI_API_KEY=sua_chave_super_secreta

Importante: adicione .env ao .gitignore para não commitar a chave no repositório acidentalmente!



Escrevendo a primeira requisição ao ChatGPT em TypeScript

Crie a pasta src e o arquivo index.ts. Vamos começar com algo simples: enviar uma mensagem e obter uma resposta.

import OpenAI from 'openai';import dotenv from 'dotenv';

dotenv.config();

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

async function chatWithGPT(prompt: string): Promise<string> { try { const response = await openai.chat.completions.create({ model: 'gpt-4', messages: [ { role: 'system', content: 'Você é um assistente útil.' }, { role: 'user', content: prompt }, ], temperature: 0.7, max_tokens: 500, });

return response.choices[0]?.message?.content || 'Sem resposta'; } catch (error) { console.error('Erro ao fazer requisição ao ChatGPT:', error); throw error; }}

// Uso(async () => { const answer = await chatWithGPT('Conte uma piada curta sobre programadores'); console.log('ChatGPT diz:', answer);})();

Execute o código com o comando npx ts-node src/index.ts. Se tudo estiver configurado corretamente, você verá a resposta da rede neural. Observe a tipagem: o TypeScript sugere automaticamente a estrutura do objeto response, o que torna o desenvolvimento mais confortável.



Análise dos parâmetros principais

  • model: gpt-4 — o modelo mais inteligente atualmente. Para economizar, você pode usar gpt-3.5-turbo.
  • messages: uma lista de mensagens que define o contexto da conversa. O papel system define o comportamento do assistente, e user é a entrada do usuário.

Blogs

Book Recommendations