
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.
Paso 1: Instalar las Dependencias Necesarias
Primero, necesitamos instalar el paquete de OpenAI para PHP. Ejecuta el siguiente comando en tu terminal:composer require openai-php/laravel
Paso 2: Configurar las Credenciales de OpenAI
Agrega tu API Key de OpenAI en el archivo .env:OPENAI_API_KEY=tu-api-key-aqui
Publica el archivo de configuración:
php artisan vendor:publish --provider="OpenAI\\Laravel\\ServiceProvider"
Paso 3: Crear un Controlador para ChatGPT
Crea un controlador que manejará las peticiones a ChatGPT: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
]);
}
}
Paso 4: Configurar las Rutas
Agrega las rutas en routes/web.php o routes/api.php:use App\\Http\\Controllers\\ChatGPTController;
Route::post('/chat', [ChatGPTController::class, 'sendMessage']);
Paso 5: Crear la Vista
Crea una vista sencilla para interactuar con ChatGPT (resources/views/chat.blade.php):<!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>
Ejemplo Avanzado: Chat con Historial de Conversación
Para mantener el contexto de la conversación, puedes usar sesiones: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
]);
}
Consejos de Optimización
- Implementa caché para respuestas frecuentes - Usa colas (queues) para peticiones pesadas - Establece límites de uso por usuario - Maneja errores apropiadamente con try-catchConclusión
Integrar ChatGPT en Laravel es un proceso directo que abre muchas posibilidades para tu aplicación. Con estos ejemplos, puedes crear desde chatbots simples hasta asistentes virtuales complejos. ¡Experimenta y crea soluciones increíbles!Tags: Laravel, api, php, chatgpt, Desarrollo Web, OpenAI, Integración,
Ultimas Noticias
Curso Desarrollo Web con Laravel
¡Nos complace anunciar el próximo lanz
Cómo integrar ChatGPT con una aplicación Laravel
Integrar ChatGPT con una aplicación Lar
¿Por qué tu empresa necesita una web optimizada para SEO?
La Importancia de una Presencia Web Prof