Integrando Laravel com o ChatGPT
O Laravel é um framework PHP de código aberto, que possui recursos avançados para desenvolver aplicativos web de forma rápida e eficiente. Um dos recursos do Laravel é o uso de Services, que é um padrão de design de software para desacoplar a lógica de negócios do controlador. Neste artigo, vamos explorar como integrar o ChatGPT com o Laravel usando um Service.
O ChatGPT é um modelo de linguagem natural treinado pela OpenAI para responder a perguntas e realizar tarefas em linguagem natural. O ChatGPT é uma ferramenta poderosa que pode ser integrada a aplicativos para fornecer respostas precisas e personalizadas aos usuários. Ao integrar o ChatGPT com o Laravel, você pode adicionar recursos avançados de chatbot ao seu aplicativo.
Passo 1: Crie uma conta no OpenAI
Antes de começar a integrar o ChatGPT com o Laravel, você precisa criar uma conta no OpenAI e obter uma chave de API. Para criar uma conta, visite o site do OpenAI e siga as instruções na tela para criar uma conta gratuita. Depois de criar sua conta, você poderá gerar uma chave de API.
Passo 2: Configurando o arquivo .env
Finalmente, você precisa configurar o arquivo .env do seu aplicativo com as informações necessárias para a integração com o ChatGPT. Abra o arquivo .env e adicione as seguintes linhas:
OPENAI_API_KEY=SUA_CHAVE_DE_API_DO_OPENAI
OPENAI_MODEL_ID=ID_DO_MODELO_DO_CHATGPT
Certifique-se de substituir SUA_CHAVE_DE_API_DO_OPENAI pela chave de API que você gerou no passo 1 e ID_DO_MODELO_DO_CHATGPT pelo ID do modelo ChatGPT que você deseja usar.
Passo 3: Criando o arquivo openai.php
Para adicionar o arquivo de configuração openai.php
ao Laravel, você pode criar um novo arquivo na pasta config/services
pasta e adicionar o seguinte código:
<?php
return [
'api_key' => env('OPENAI_API_KEY'),
'model_id' => env('OPENAI_MODEL_ID'),
];
Este arquivo de configuração usará as variáveis de ambiente que você definiu no arquivo .env
para armazenar as informações de autenticação da API da OpenAI e o ID do modelo do ChatGPT que você deseja usar.
Agora você pode importar este arquivo de configuração em seu código e usá-lo para realizar chamadas à API da OpenAI. Isso garante que suas informações de autenticação e informações sobre o modelo sejam facilmente acessíveis em todo o seu código.
Passo 4: Criando um Service
O próximo passo é criar um Service no Laravel. Um Service é uma classe que contém a lógica de negócios que pode ser usada em vários lugares do aplicativo. Para criar um Service, abra o terminal e navegue até a pasta do projeto Laravel. Em seguida, execute o seguinte comando:
php artisan make:service ChatGPTService
Este comando criará um arquivo de serviço chamado ChatGPTService.php na pasta app/Services do seu projeto Laravel.
Agora, abra o arquivo ChatGPTService.php e adicione o seguinte código:
Este código cria uma classe ChatGPTService que utiliza a biblioteca OpenAI para fazer chamadas à API do ChatGPT. Ele usa a chave de API do OpenAI que você criou no passo 1, que é armazenada na variável de ambiente OPENAI_API_KEY.
Passo 5 Criando o ChatGPTService
Agora, é hora de criar o ChatGPTService, que será responsável por se comunicar com a API do ChatGPT e obter respostas para as mensagens dos usuários.
Crie um novo arquivo chamado ChatGPTService.php em app/Services e adicione o seguinte código:
<?php
namespace App\Services;
use OpenAI;
class ChatGPTService
{
protected $openaiApiKey;
protected $openaiModelId;
public function __construct()
{
$this->openaiApiKey = config('services.openai.api_key');
$this->openaiModelId = config('services.openai.model_id');
OpenAI\API::setApiKey($this->openaiApiKey);
}
public function getResponse($message)
{
$prompt = "The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly. \n\nUser: $message\nAI:";
$completions = OpenAI\Completion::create([
'model' => $this->openaiModelId,
'prompt' => $prompt,
'temperature' => 0.7,
'max_tokens' => 60,
'n' => 1,
'stop' => "\n"
]);
$response = $completions['choices'][0]['text'];
return $response;
}
}
Este código cria a classe ChatGPTService e define um método getResponse que recebe uma mensagem como parâmetro e retorna uma resposta gerada pelo ChatGPT.
A classe usa a biblioteca OpenAI PHP para se comunicar com a API do ChatGPT. No construtor da classe, ele define a chave de API do OpenAI e o ID do modelo do ChatGPT usando as informações do arquivo de configuração.
No método getResponse, a classe usa a biblioteca OpenAI PHP para enviar uma solicitação de conclusão ao modelo ChatGPT. Ele usa a mensagem do usuário como entrada para a solicitação de conclusão e retorna a resposta gerada pelo modelo.
Passo 6: Integrando o Service com o Controlador
Agora, você pode integrar o ChatGPTService com o controlador do Laravel. Para fazer isso, abra o arquivo de controlador do seu aplicativo e adicione o seguinte código:
<?php
namespace App\Http\Controllers;
use App\Services\ChatGPTService;
use Illuminate\Http\Request;
class ChatController extends Controller
{
protected $chatgptService;
public function __construct(ChatGPTService $chatgptService)
{
$this->chatgptService = $chatgptService;
}
public function chat(Request $request)
{
$message = $request->message;
$response = $this->chatgptService->getResponse($message);
return response()->json(['response' => $response]);
}
}
Este código cria um método chat que recebe uma solicitação HTTP POST contendo a mensagem do usuário. Ele então usa o ChatGPTService para enviar a mensagem para o ChatGPT e obter uma resposta. Por fim, ele retorna a resposta como um objeto JSON.
Conclusão ao seguir os passos descritos acima, você pode facilmente integrar o ChatGPT ao Laravel usando um Service. Isso permite que você adicione recursos avançados de chatbot ao seu aplicativo, fornecendo respostas precisas e personalizadas aos usuários. O Laravel é um framework poderoso e flexível que oferece muitos recursos para desenvolvedores de aplicativos web. A integração do ChatGPT com o Laravel é um exemplo disso, mostrando como é fácil e rápido integrar serviços de terceiros em seus projetos.