03/04/2024
Neste artigo, explicaremos como integrar o ChatGPT da OpenAI em uma aplicação web usando PHP e obter respostas da Inteligência Artificial de forma automatizada.
Para demonstrar o potencial da Inteligência Artificial, nosso código de exemplo enviará um pedido para que o ChatGPT faça o resumo e a tradução para o inglês de um trecho da página da SpaceX na Wikipedia.
Chave de acesso à API: Para que este código funcione, você precisa obter uma chave de acesso à API da OpenAI em https://openai.com/pricing.
Suporte a PHP com cURL: Verifique se o servidor que hospeda o seu site suporta PHP versão 5.4 ou superior e possui a biblioteca cURL e a extensão curl instaladas. Se o seu site está hospedado na MCO2, fique tranquilo, pois nossos servidores já possuem tudo o que é necessário para que este código funcione perfeitamente. Você pode transferir sua hospedagem para a MCO2 e receber até 60 dias de hospedagem gratuita.
Na seção a seguir, apresentamos o código completo necessário para integrar o ChatGPT da OpenAI com uma aplicação PHP. Este exemplo específico ilustra como enviar um pedido para o ChatGPT solicitar um resumo e uma tradução, passando por todas as etapas desde a configuração inicial até a obtenção da resposta.
<?php
// Substitua 'SUA_CHAVE_API' pela sua chave de API real.
$apiKey = 'SUA_CHAVE_API';
// Texto que será enviado para o ChatGPT
$prompt = "Resuma o texto abaixo em um único parágrafo de no máximo 50 palavras e em seguida traduza este resumo para o inglês:
Space Exploration Technologies Corp., cujo nome comercial é SpaceX, é uma fabricante estadunidense de sistemas aeroespaciais, transporte espacial e comunicações com sede em Hawthorne, Califórnia. A SpaceX foi fundada em 2002 por Elon Musk com o objetivo de reduzir os custos de transporte espacial para permitir a colonização de Marte. A SpaceX fabrica os veículos de lançamento Falcon 9 e Falcon Heavy, vários tipos motores de foguetes, cápsulas de carga Dragon, espaçonaves tripuladas e satélites de comunicação Starlink.
As conquistas da SpaceX incluem o primeiro foguete de combustível líquido com financiamento privado a alcançar a órbita (Falcon 1 em 2008), a primeira empresa privada a lançar, orbitar e recuperar com sucesso uma espaçonave (Dragon em 2010), a primeira empresa privada a enviar uma espaçonave para a Estação Espacial Internacional (Dragon em 2012), a primeira decolagem vertical e pouso propulsivo vertical para um foguete orbital (Falcon 9 em 2015), a primeira reutilização de um foguete orbital (Falcon 9 em 2017) e a primeira empresa privada para enviar astronautas para a órbita e para a Estação Espacial Internacional (SpaceX Crew Dragon Demo-2 em 2020). A SpaceX já lançou e reutilizou a série de foguetes Falcon 9 mais de 100 vezes.
A SpaceX está desenvolvendo uma megaconstelação de satélite chamada Starlink para fornecer serviço comercial de internet. Em janeiro de 2020, a constelação Starlink se tornou a maior constelação de satélites do mundo. A SpaceX também está desenvolvendo o Starship, um sistema de lançamento superpesado, totalmente reutilizável e com financiamento privado, para voos espaciais interplanetários. O Starship pretende se tornar o veículo orbital primário da SpaceX assim que estiver operacional, suplantando a frota Falcon 9, Falcon Heavy e Dragon existentes. O Starship será totalmente reutilizável e terá a maior capacidade de carga útil de qualquer foguete orbital já em sua estreia de seu vôo orbital programado para o primeiro semestre de 2O22.";
// Preparando os dados da solicitação
$data = [
'model' => 'gpt-3.5-turbo',
'messages' => [
[
"role" => "user",
"content" => $prompt
]
],
'temperature' => 0.7
];
// Configuração e execução da chamada cURL para a API de chat da OpenAI
$ch = curl_init('https://api.openai.com/v1/chat/completions');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
]);
$response = curl_exec($ch);
curl_close($ch);
// Processamento da resposta
$responseDecoded = json_decode($response, true);
if (isset($responseDecoded['choices'][0]['message']['content'])) {
echo "Resposta:\n\n" . $responseDecoded['choices'][0]['message']['content'];
} else {
echo "Não foi possível obter uma resposta da OpenAI.";
}
?>
O código PHP a seguir é dividido em partes para facilitar a compreensão de cada etapa envolvida na integração com a API do ChatGPT.
// Substitua 'SUA_CHAVE_API' pela sua chave de API real.
$apiKey = 'SUA_CHAVE_API';
A primeira linha de código é onde você insere sua chave de API da OpenAI. Esta chave é essencial para autenticar suas solicitações à API e deve ser mantida em segredo.
// Texto que será enviado para o ChatGPT
$prompt = "Resuma o texto abaixo em um único parágrafo de no máximo 50 palavras e em seguida traduza este resumo para o inglês:
Space Exploration Technologies Corp., cujo nome comercial é SpaceX, é uma fabricante estadunidense de sistemas aeroespaciais, transporte espacial e comunicações com sede em Hawthorne, Califórnia. A SpaceX foi fundada em 2002 por Elon Musk com o objetivo de reduzir os custos de transporte espacial para permitir a colonização de Marte. A SpaceX fabrica os veículos de lançamento Falcon 9 e Falcon Heavy, vários tipos motores de foguetes, cápsulas de carga Dragon, espaçonaves tripuladas e satélites de comunicação Starlink.
As conquistas da SpaceX incluem o primeiro foguete de combustível líquido com financiamento privado a alcançar a órbita (Falcon 1 em 2008), a primeira empresa privada a lançar, orbitar e recuperar com sucesso uma espaçonave (Dragon em 2010), a primeira empresa privada a enviar uma espaçonave para a Estação Espacial Internacional (Dragon em 2012), a primeira decolagem vertical e pouso propulsivo vertical para um foguete orbital (Falcon 9 em 2015), a primeira reutilização de um foguete orbital (Falcon 9 em 2017) e a primeira empresa privada para enviar astronautas para a órbita e para a Estação Espacial Internacional (SpaceX Crew Dragon Demo-2 em 2020). A SpaceX já lançou e reutilizou a série de foguetes Falcon 9 mais de 100 vezes.
A SpaceX está desenvolvendo uma megaconstelação de satélite chamada Starlink para fornecer serviço comercial de internet. Em janeiro de 2020, a constelação Starlink se tornou a maior constelação de satélites do mundo. A SpaceX também está desenvolvendo o Starship, um sistema de lançamento superpesado, totalmente reutilizável e com financiamento privado, para voos espaciais interplanetários. O Starship pretende se tornar o veículo orbital primário da SpaceX assim que estiver operacional, suplantando a frota Falcon 9, Falcon Heavy e Dragon existentes. O Starship será totalmente reutilizável e terá a maior capacidade de carga útil de qualquer foguete orbital já em sua estreia de seu vôo orbital programado para o primeiro semestre de 2O22.";
Esta seção define o texto (ou 'prompt') que será enviado ao ChatGPT. O texto inclui as instruções para o que você deseja que o ChatGPT faça, neste caso, resumir e traduzir um trecho sobre a SpaceX.
// Preparando os dados da solicitação
$data = [
'model' => 'gpt-3.5-turbo',
'messages' => [
[
"role" => "user",
"content" => $prompt
]
],
'temperature' => 0.7
];
Aqui, configuramos o array $data
, que contém os dados da solicitação. O modelo escolhido, 'gpt-3.5-turbo', é especificado junto com o prompt preparado anteriormente. A 'temperatura' controla a criatividade da resposta.
// Configuração e execução da chamada cURL para a API de chat da OpenAI
$ch = curl_init('https://api.openai.com/v1/chat/completions');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
]);
Este trecho do código realiza a chamada à API usando cURL, uma biblioteca disponível em PHP para fazer solicitações HTTP. Aqui, configuramos a URL da API, o tipo de requisição (POST), os dados da solicitação e os cabeçalhos necessários, incluindo a chave de API para autenticação.
$response = curl_exec($ch);
curl_close($ch);
// Processamento da resposta
$responseDecoded = json_decode($response, true);
if (isset($responseDecoded['choices'][0]['message']['content'])) {
echo "Resposta:\n\n" . $responseDecoded['choices'][0]['message']['content'];
} else {
echo "Não foi possível obter uma resposta da OpenAI.";
}
Após enviar a solicitação, o código processa a resposta. Primeiro, verifica se a resposta contém o conteúdo esperado e, em caso positivo, exibe-o. Se não houver resposta válida, uma mensagem de erro é exibida.
A integração do ChatGPT com PHP amplia funcionalidades de aplicações web com inteligência artificial.
A OpenAI disponibiliza diversos modelos de inteligência artificial, cada um com capacidades e custos específicos. Selecionar o modelo adequado é crucial para otimizar desempenho e custo, contribuindo para soluções mais eficazes.