Este proyecto es una aplicación web desarrollada con Laravel 11 y Vue.js utilizando Inertia.js como puente entre el frontend y el backend. Su objetivo principal es consumir los servicios de la API de OpenAI, permitiendo a los usuarios acceder a funcionalidades avanzadas como:
- Transcripción de audio a texto (con reproductor de audio integrado).
- Traducción de textos.
- Conversión de texto a voz.
- Generación de imágenes basadas en texto.
- Chatbot interactivo impulsado por la API de OpenAI.
- Uso de Jobs: Para manejar tareas de larga duración y mantener el rendimiento de la aplicación.
- Broadcasting con Laravel Reverb: Para actualizaciones en tiempo real.
- Integración de DomPDF: Exporta las transcripciones en formato PDF.
- Frontend moderno con Inertia.js y Vue.js: Experiencia fluida y reactiva.
- Reproductor de audio: Permite escuchar las transcripciones generadas.
- PHP: Versión 8.2 o superior.
- Composer: Gestor de dependencias PHP.
- Node.js: Versión 18 o superior.
- NPM: Versión 8 o superior.
- MySQL o PostgreSQL: Para la base de datos.
- Cuenta en OpenAI: Debes generar tu propia API Key para usar los servicios.
Sigue estos pasos para configurar y ejecutar el proyecto:
git clone https://github.com/StevenU21/assistant-bot.git
cd assistan-bot && code .
composer install
npm install
Copia el archivo de ejemplo y personalízalo:
cp .env.example .env
- Configura los detalles de conexión a la base de datos.
- Agrega tu clave API de OpenAI:
OPENAI_API_KEY=tu_api_key_aqui
php artisan key:generate
php artisan migrate
npm run dev
Ejecuta los siguientes comandos en terminales separadas:
-
Servidor de Laravel:
php artisan serve
-
Servidor de Vite:
npm run dev
-
Reverb para broadcasting:
php artisan reverb:start
-
Trabajos en segundo plano:
php artisan queue:work
Abre tu navegador y accede a la aplicación en:
http://localhost:8000
Sube archivos de audio y genera transcripciones precisas con un reproductor para escuchar el resultado.
Traduce textos a múltiples idiomas utilizando los modelos avanzados de OpenAI.
Convierte texto en audio con voces naturales y personalizables.
Crea imágenes únicas a partir de descripciones detalladas.
Interactúa con un chatbot basado en IA para responder preguntas y realizar tareas personalizadas.
- Backend: Laravel 11
- Frontend: Vue.js con Inertia.js
- Broadcasting: Laravel Reverb y Echo
- PDF: DomPDF
- Cola de trabajos: Laravel Queue