Inicio / Cómo integrar ChatGPT con una aplicación Laravel
Integrar ChatGPT con una aplicación Laravel es más sencillo de lo que parece. En esta guía completa, te mostraré cómo implementar la API de OpenAI en tu proyecto Laravel paso a paso.
composer require openai-php/laravel
OPENAI_API_KEY=tu-api-key-aqui
Publica el archivo de configuración:
php artisan vendor:publish --provider="OpenAI\\Laravel\\ServiceProvider"
php artisan make:controller ChatGPTController
Implementa el método para enviar mensajes:
<?php
namespace App\\Http\\Controllers;
use Illuminate\\Http\\Request;
use OpenAI\\Laravel\\Facades\\OpenAI;
class ChatGPTController extends Controller
{
public function sendMessage(Request $request)
{
$request->validate([
'message' => 'required|string|max:2000'
]);
$result = OpenAI::chat()->create([
'model' => 'gpt-3.5-turbo',
'messages' => [
['role' => 'user', 'content' => $request->message],
],
]);
return response()->json([
'response' => $result->choices[0]->message->content
]);
}
}
use App\\Http\\Controllers\\ChatGPTController;
Route::post('/chat', [ChatGPTController::class, 'sendMessage']);
<!DOCTYPE html>
<html>
<head>
<title>Chat con GPT</title>
<meta name="csrf-token" content="{{ csrf_token() }}">
</head>
<body>
<div id="chat-container">
<div id="messages"></div>
<input type="text" id="user-input" placeholder="Escribe tu mensaje...">
<button onclick="sendMessage()">Enviar</button>
</div>
<script>
async function sendMessage() {
const input = document.getElementById('user-input');
const message = input.value;
const response = await fetch('/chat', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content
},
body: JSON.stringify({ message: message })
});
const data = await response.json();
document.getElementById('messages').innerHTML +=
`<p><strong>Tú:</strong> ${message}</p>` +
`<p><strong>ChatGPT:</strong> ${data.response}</p>`;
input.value = '';
}
</script>
</body>
</html>
public function sendMessageWithHistory(Request $request)
{
$messages = session('chat_history', []);
$messages[] = ['role' => 'user', 'content' => $request->message];
$result = OpenAI::chat()->create([
'model' => 'gpt-3.5-turbo',
'messages' => $messages,
]);
$messages[] = [
'role' => 'assistant',
'content' => $result->choices[0]->message->content
];
session(['chat_history' => $messages]);
return response()->json([
'response' => $result->choices[0]->message->content
]);
}
Tags: Laravel, api, php, chatgpt, Desarrollo Web, OpenAI, Integración,
En un mundo dominado por las r
¿Alguna vez se preguntó cómo sería a
Los líderes exitosos demuestran las sig
La revolución digital ha conquistado al
Los webhooks son una forma poderosa de r