Este repositório oferece uma API simples implementada em PHP para interagir com o ChatGPT-4 da OpenAI. É ideal para desenvolvedores que desejam explorar as capacidades do GPT-4 integrando-o em suas próprias aplicações PHP.
- PHP: Linguagem de programação usada para criar a API.
- OpenAI API: Fornece acesso ao modelo GPT-4 para geração de texto.
Siga estas instruções para configurar e rodar a API em seu ambiente local.
- PHP 7.4 ou superior.
- Composer para gerenciamento de dependências.
git clone https://github.com/aeusteixeira/api-chatgpt4-php
cd api-chatgpt4-php
composer install
Antes de iniciar a API, configure as variáveis de ambiente, incluindo sua chave de API da OpenAI (OPEN_IA_KEY
), no arquivo .env
.
Para garantir a segurança da API, você pode especificar os domínios que têm permissão para acessar a API. Isso é feito através da constante DOMAINS
no arquivo de configuração principal. Aqui está um exemplo de como definir os domínios permitidos:
define('DOMAINS', [
'*',
'127.0.0.1',
'localhost',
'http://localhost:8081',
'domain.com',
'sub.domain.com'
]);
A constante DOMAINS
é usada pelo middleware ValidateDomainMiddleware
para verificar se o domínio ou IP da solicitação está na lista de origens permitidas. Se o caractere '*' estiver presente na lista, qualquer domínio poderá acessar a API.
A API possui duas rotas principais:
Exibe uma mensagem de boas-vindas e serve para verificar se a API está operacional.
curl http://localhost:8000/questions
Aceita uma pergunta em formato JSON e retorna a resposta do modelo GPT-4.
curl -X POST http://localhost:8000/questions/respond -H "Content-Type: application/json" -d '{"question": "Explique o teorema de Bayes."}'
{
"response": "O teorema de Bayes é uma fórmula que descreve como atualizar as probabilidades de hipóteses quando mais evidências ou informações ficam disponíveis."
}
Aceita uma pergunta e uma URL de imagem em formato JSON e retorna a resposta do modelo GPT-4.
curl -X POST http://localhost:8000/questions/image -H "Content-Type: application/json" -d '{"question": "O que representa esta imagem?", "image": "https://cdn-icons-png.flaticon.com/512/25/25231.png"}'
{
"response": "Logo do GitHub."
}
Contribuições para melhorar a API são sempre bem-vindas. Se você tem sugestões de melhorias ou correções, por favor, faça um fork do repositório, faça suas alterações, e submeta um pull request.
Este projeto está sob a licença MIT. Veja o arquivo LICENSE
para mais detalhes.
Se você tiver qualquer dúvida ou sugestão, não hesite em entrar em contato via Twitter: @aeusteixeira.