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

Laravel + ChatGPT

Opaaa pessoal, tudo bom? Aqui está um exemplo de como conectar o a API do ChatGPT com Laravel Framework:

Passo 1: Crie um novo projeto Laravel

Considerando que você já tenha Laravel instalado no seu computador, crie um novo projeto executando o seguinte comando no terminal:
composer create-project laravel/laravel chatgpt

Passo 2: Instalar Guzzle HTTP

Guzzle é um cliente PHP HTTP que facilita o envio de solicitações HTTP, simplifica a integração com serviços da web e funciona com APIs. Para instalar, excute o seguinte comando:
composer require guzzlehttp/guzzle

Passso 3: Obtenha uma chave para autenticação

Para conseguir utilizar a API do ChatGPT é necessário ter uma chave. Para isso, visite https://platform.openai.com/docs/api-reference/authentication, siga os passos e obtenha a chave.

Passo 4: Crie um novo Controller

Execute o seguinte comando para criar um novo controller:
php artisan make:controller ChatController

Passo 5: Crie um método no Controller para fazer uma requisição para a API

Na classe ChatController, adicione um método para fazer a requisição para a API do ChatGPT utilizando Guzzle HTTP, que instalamos anteriormente. Exemplo:

<?php
namespace App\Http\Controllers;

use GuzzleHttp\Client;
use Illuminate\Http\Request;

class ChatController extends Controller
{
    public function chat(Request $request)
    {
        $message = $request->input('message');

        $client = new Client();
        $response = $client->post('https://api.openai.com/v1/chat/completions', [
            'headers' => [
                'Content-Type' => 'application/json',
                'Authorization' => 'Bearer ' . env('OPENAI_API_KEY'),
            ],
            'json' => [
                "model" => "gpt-3.5-turbo",
                "messages" => json_decode('[{"role": "user", "content": "'.$message.'"}]', true),
                "temperature" => 0.7
            ],
        ]);
        $result = json_decode($response->getBody()->getContents(), true);
        return response()->json($result['choices'][0]['message']['content']);
    }
}
?>

No código acima, criamos um novo cliente Guzzle e enviamos uma requisição POST para o endpoint da API do ChatGPT. Nós passamos a chave da API como um Authorization header e a mensagem que nós queremos enviar como um payload. A resposta é convertida em JSON e retornada para o cliente.

Passo 6: Adicione uma rota para o método do Controller

No arquivo routes/api.php, adicione a seguinte rota:
Route::post('/chat', [ChatController::class, 'chat']);

Passo 7: Teste a API

Agora é só testar a API enviando uma requisição POST para o endpoint api/chat como uma mensagem como parâmetro. Exemplo utilziando o cURL:

curl -X POST \
  http://localhost:8000/chat \
  -H 'Content-Type: application/json' \
  -d '{
    "message": "Hello, ChatGPT!"
}'

A API vai responder com um objeto JSON contendo a resposta da API do ChatGPT.
E é isso! Deixei o código disponível no github para quem tiver interesse em visualizar:
https://github.com/FabioAugustoRodrigues/laravel-chatgpt

As referências estão todas aqui no medium:
https://marcocaggiano.medium.com/how-to-connect-laravel-to-chatgpt-api-2992fae7c28

Carregando publicação patrocinada...
2

Uma dica é que não precisa insstalar o guzzle o laravel ja tem isso por padrão(Illuminate\Support\Facades\Http) nele e inclusive usa o guzzle hahaha.

0
Conteúdo excluído
2

Vou te passar o que eu vejo acontecer no mercado que eu conheço.

PHP é uma ótima escolha

Há muitas empresas que utilizam PHP em suas soluções, é uma linguagem/ecossistema que está em uma constante evolução. A curva de aprendizado é baixa.

Laravel é uma ótima ferramenta, mas não acho que seja para quem está começando, assim como qualquer framework grande como ele (Laravel, Rails, Django, NestJS, Spring...) o ideal é que a pessoa domine minimamente bem a linguagem base do framework, nesse caso PHP.

Já tive que dar manutenção em um projeto criado em Laravel por uma pessoa que não dominava muito bem PHP, e afirmo que era um projeto tenebroso.

Além disso, as empresas que utilizam Laravel hoje estão em busca de profissionais que não apenas conheçam Laravel (ás vezes nem precisa), mas tenha domínio sobre testes automatizados, banco de dados, git, docker e (claro) que dominem PHP.