Una aplicación de prueba de concepto que demuestra el uso de IA generativa para crear cuestionarios interactivos, con soporte para múltiples proveedores de IA.
Quiz-AI es una prueba de concepto diseñada para:
# Clonar el repositorio
git clone <repository-url>
cd quiz-ai
# Instalar dependencias
pnpm install
# Configurar variables de entorno
cp .env.example .env
# Editar .env con tus credenciales
Copia el archivo .env.example a .env y configura las siguientes variables:
# Proveedor de IA (obligatorio)
AI_PROVIDER=groq # Opciones: groq, ollama
# Para Groq
AI_URL=https://api.groq.com/openai/v1/chat/completions
AI_KEY=gsk_tu_clave_api_aqui # Obtener en: https://console.groq.com/keys
AI_MODEL=openai/gpt-oss-20b
# Para Ollama (local)
# AI_PROVIDER=ollama
# AI_URL=http://localhost:11434/api/chat
# AI_MODEL=llama3.2:3b
# AI_KEY= # Dejar vacío para Ollama
AI_PROVIDER=groq y AI_KEY=tu_clave_apiollama run llama3.2:3bAI_PROVIDER=ollama# Iniciar servidor de desarrollo
pnpm dev
# Construir para producción
pnpm build
# Previsualizar build de producción
pnpm preview
# Ejecutar todos los tests
pnpm test
# Tests de integración (Playwright)
pnpm test:integration
# Tests unitarios (Vitest)
pnpm test:unit
# Verificar código
pnpm lint
# Formatear código
pnpm format
# Verificar y arreglar automáticamente
pnpm fix
# Verificación completa (formato + lint + type check)
pnpm check:all
# Type checking
pnpm check
# Type checking en modo watch
pnpm check:watch
openai/gpt-oss-20b (producción)meta-llama/llama-4-scout-17b-16e-instructmoonshotai/kimi-k2-instruct-0905llama3.2:3b (ligero, rápido)llama3.2:1b (más ligero, resultado erráticos)Nota: utilizar
llama3.2:3bque es el que ha dado resultados consistentes
quiz-ai/
├── src/
│ ├── lib/ # Componentes y utilidades reutilizables
│ ├── routes/ # Rutas de SvelteKit
│ ├── app.html # Template HTML principal
│ └── app.css # Estilos globales
├── static/ # Archivos estáticos
├── tests/ # Tests E2E
├── docs/ # Documentación y ejemplos de API
├── .env.example # Plantilla de variables de entorno
└── package.json # Configuración del proyecto