Como integrar PHP com ChatGPT: integração passo a passo da API

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

Por que um desenvolvedor PHP precisa do ChatGPT?

\n\n

Imagine: você está escrevendo um site em PHP e, de repente, percebe que seu usuário precisa de um assistente "inteligente". Não um chat simples com respostas prontas, mas uma verdadeira inteligência artificial que saiba escrever código, traduzir textos, gerar ideias ou simplesmente manter um diálogo significativo. Parece ficção científica? Pois não é.

\n\n

Hoje, a integração da API ChatGPT em PHP não é rocket science, mas uma tarefa rotineira que qualquer desenvolvedor familiarizado com os fundamentos da linguagem pode dominar. E eu vou provar isso para você.

\n\n

Neste artigo, não vamos apenas copiar algumas linhas da documentação. Vamos entender como enviar requisições corretamente, processar respostas, gerenciar o contexto da conversa e não "derrubar" o servidor. Vamos lá!

\n\n

O que precisamos para começar?

\n\n

Antes de escrever código, vamos garantir que você tenha tudo o que é necessário:

\n\n
    \n
  • PHP 8.0+ — versões mais antigas podem ter problemas com cURL e JSON.
  • \n
  • Extensão cURL — ative no php.ini (geralmente já está ativada por padrão).
  • \n
  • Chave da API OpenAI — registre-se em platform.openai.com, vá para a seção API keys e crie uma nova chave secreta.
  • \n
  • Um pouco de paciência — às vezes a API não responde imediatamente, especialmente em requisições complexas.
  • \n
\n\n

Importante: mantenha sua chave da API em segurança. Nunca a insira diretamente no código que pode ir para um repositório público. Use arquivos .env ou variáveis de ambiente do servidor.

\n\n

Escrevendo a primeira requisição ao ChatGPT em PHP

\n\n

Vamos começar com o mais simples: enviar uma mensagem e obter uma resposta. Esta é a base sobre a qual todo o trabalho posterior com a API é construído.

\n\n
<?php\n// Configuração\n$apiKey = 'sk-sua_chave_super_secreta';\n$url = 'https://api.openai.com/v1/chat/completions';\n\n// Dados para a requisição\n$data = [\n    'model' => 'gpt-3.5-turbo', // pode ser gpt-4, se tiver acesso\n    'messages' => [\n        [\n            'role' => 'user',\n            'content' => 'Conte uma piada sobre programadores em português'\n        ]\n    ],\n    'temperature' => 0.7, // quanto maior, mais criativa a resposta\n    'max_tokens' => 500   // comprimento máximo da resposta\n];\n\n// Inicialização do cURL\n$ch = curl_init($url);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_POST, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n    'Content-Type: application/json',\n    'Authorization: Bearer ' . $apiKey\n]);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));\n\n// Envio da requisição\n$response = curl_exec($ch);\n$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);\ncurl_close($ch);\n\n// Processamento da resposta\nif ($httpCode === 200) {\n    $result = json_decode($response, true);\n    $reply = $result['choices'][0]['message']['content'];\n    echo "ChatGPT diz: " . $reply;\n} else {\n    echo "Erro! Código HTTP: " . $httpCode . "<br>";\n    echo "Resposta do servidor: " . $response;\n}\n?>
\n\n

Executou? Parabéns, você acabou de escrever sua primeira integração da API ChatGPT em PHP! Se tudo foi feito corretamente, você verá uma piada engraçada da rede neural.

\n\n

Analisando o código em detalhes

\n\n

Vamos ver o que está acontecendo aqui para que você possa adaptar facilmente este código para suas próprias tarefas.

\n\n

Estrutura da requisição

\n\n

A API OpenAI espera de nós um JSON com vários campos obrigatórios:

\n\n
    \n
  • model — qual modelo responderá. gpt-3.5-turbo é a escolha ideal para a maioria das tarefas: rápido e barato. gpt-4 é mais inteligente, mas mais caro e lento.
  • \n
  • messages — array de mensagens. Cada mensagem tem um role (system, user, assistant) e um content (texto).
  • \n
  • temp

Blogs

Book Recommendations