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
Instalación con Composer de Laravel
**Instalación con Composer de Laravel**
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