RAP-Rec requiere una única variable de entorno para funcionar: la clave de API de Google Gemini. Todos los demás parámetros de comportamiento están definidos directamente en el código fuente como constantes. Esta página describe cómo configurar el sistema antes de ejecutarlo.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mafab9125/PDG_SISTEMA_RECOMENDADOR/llms.txt
Use this file to discover all available pages before exploring further.
Variable de entorno
GEMINI_API_KEY
La clave de API de Google Gemini es el único valor externo que el sistema necesita. Las tres funciones del servicio de IA (extractProfile, evaluateVAP, getAIRecommendation) fallarán sin esta clave.
Vite inyecta la clave en tiempo de compilación mediante la directiva define en vite.config.ts:
process.env.GEMINI_API_KEY esté disponible en el código del cliente aunque el navegador no tenga acceso al sistema de archivos del servidor.
Obtén tu
GEMINI_API_KEY en Google AI Studio. La clave es gratuita para uso experimental dentro de los límites de cuota de Gemini. Si el sistema devuelve un error de cuota (429), espera un minuto antes de intentar de nuevo.Archivo .env
Crea un archivo .env en la raíz del proyecto copiando el archivo de ejemplo:
.env.example es el siguiente:
GEMINI_API_KEY con tu clave real:
Servidor de desarrollo
El scriptdev en package.json arranca el servidor de Vite con los siguientes parámetros:
| Parámetro | Valor | Descripción |
|---|---|---|
--port | 3000 | Puerto TCP en el que escucha el servidor de desarrollo. |
--host | 0.0.0.0 | Acepta conexiones desde cualquier interfaz de red, no solo localhost. Útil al ejecutar dentro de contenedores o entornos de CI. |
http://localhost:3000.
Comandos disponibles
| Comando | Descripción |
|---|---|
npm run dev | Inicia el servidor de desarrollo en el puerto 3000. |
npm run build | Genera el bundle de producción en el directorio dist/. |
npm run preview | Sirve localmente el bundle de producción generado por build. |
npm run clean | Elimina el directorio dist/. |
npm run lint | Verifica tipos TypeScript sin emitir archivos (tsc --noEmit). |
Parámetros internos del servicio de IA
Los siguientes valores están definidos directamente ensrc/services/gemini.ts como constantes. No se exponen como variables de entorno porque son parámetros de comportamiento del modelo que el operador del sistema controla.
Nombre del modelo
Temperatura de extracción
extractProfile usa temperatura 0.1. Un valor bajo de temperatura hace que el modelo sea más determinista y siga de forma más fiel las instrucciones del prompt de extracción, reduciendo las variaciones creativas en la respuesta JSON. Las funciones evaluateVAP y getAIRecommendation no especifican temperatura, usando el valor por defecto del modelo.
Lógica de reintentos
Las tres funciones del servicio implementan reintentos automáticos con un máximo de 2 intentos adicionales (3 intentos en total). El retardo entre intentos crece de forma lineal:| Intento | Retardo antes del reintento |
|---|---|
| 1.º (original) | Sin retardo |
| 2.º (primer reintento) | 1 500 ms |
| 3.º (segundo reintento) | 3 000 ms |
Referencias relacionadas
Arquitectura
Cómo Vite inyecta
GEMINI_API_KEY en el bundle del cliente a través de la directiva define.Integración con Gemini
Detalles completos del SDK
@google/genai, funciones expuestas y manejo de errores.Stack tecnológico
Versiones exactas de Vite, TypeScript y todas las demás dependencias del proyecto.
Extracción de perfil
Uso de temperatura 0.1 en
extractProfile y la estructura del prompt de extracción.