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,
Muchos negocios en Latinoamérica ha
YouTube, el gigante del contenido de vid
Cuando usas una aplicación móvil o web
La confirmación de eliminación es impo
Laravel permite co