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,
¿Tienes un sitio web pero no estás obt
Como especialistas en marketing, tenemos
Laravel ofrece herramienta
En el competitivo mundo de YouTube, obte
Integrar ChatGPT con una aplicación Lar
Cuando una empresa empieza a c