⚠️ Advertencia sobre Modificaciones del Core: Si bien BaP Framework permite modificar cualquier archivo en src/_main/, ten en cuenta que al actualizar a una nueva versión de BaP en el futuro, cualquier cambio manual en los archivos del núcleo se sobrescribirá y perderá. Se sugiere contactar al referente o mantenedor del framework para sugerir mejoras o cambios antes de alterar el motor localmente.
⚠️ Nota de compatibilidad de soporte: Por el momento, el módulo de IA del núcleo de BaP Framework cuenta con soporte exclusivo para la API de Google Gemini.

Módulo ai.js (Google Gemini API)

Motor de cliente agnóstico para interactuar con la API de Google Gemini. Ofrece resiliencia mediante reintentos con exponential backoff (ante errores 503 o alta demanda), conmutación automática entre lista de modelos de respaldo (failover list) y soporte para prompts de texto, contenido multimodal (archivos/imágenes en base64) e historial de conversación.

Funciones Exportadas (export function)

1. generateContent(promptText, options)

Firma: generateContent(promptText: string, options?: object): Promise<string>

Propósito: Envía una consulta a la API de Google Gemini con opciones avanzadas de resiliencia y configuración.

Parámetro (options)TipoPredeterminadoDescripción
promptTextstring-Texto de la consulta del usuario.
base64FileDatastringnullArchivo en formato Base64 para contenido multimodal.
mimeTypestringnullTipo MIME del archivo (ej. image/png, application/pdf).
historyArray[]Historial de mensajes previos [{ role: 'user'|'model', text: '...' }].
customModelsArrayCONSTANT.AI.MODELSLista ordenada de modelos para conmutación por error (failover list).
customSystemInstructionstringCONSTANT.AI.SYSTEM_INSTRUCTIONInstrucción de sistema para el modelo.
temperaturenumberCONSTANT.AI.TEMPERATUREGrado de creatividad (0.0 a 1.0).
onStatusUpdateFunctionnullCallback para notificar progreso y cambios de modelo a la interfaz.

2. generateContentWithRetryAndFallback(genAI, modelConfig, prompt, modelsList, onStatusUpdate)

Firma: generateContentWithRetryAndFallback(genAI, modelConfig, prompt, modelsList, onStatusUpdate): Promise<any>

Propósito: Algoritmo de bajo nivel para ejecutar peticiones con reintentos exponenciales y cambio automático a modelos de respaldo en caso de agotamiento de cuotas (429) o errores temporales (503).


🧪 Demostración Interactiva en Vivo

Prueba el módulo ai.js ejecutando consultas en tiempo real hacia la API de Google Gemini:

Listo
Presiona "Enviar Consulta" para probar el motor de IA.