Narrativa con IA
El pipeline documenta la KB con reglas deterministas. La narrativa es un paso opcional que agrega, a cada documento, prosa escrita por un modelo de lenguaje: el propósito del objeto, un resumen, la intención de cada evento, las reglas explicadas en términos de negocio, notas para la migración y un glosario.
Lo que la distingue de pegarle el código a un chat es la validación: el modelo recibe el documento ya analizado (no el GeneXus crudo) y UltraGX verifica que cada atributo, tabla, variable u objeto que cite exista realmente en ese objeto. Si el modelo inventa un nombre, se le pide que corrija; si insiste, la prosa no se publica.
La narrativa se ejecuta sobre un proyecto ya generado por el pipeline.

Conexiones
Una conexión es un proveedor, un modelo y sus credenciales, guardados con un nombre. Podés tener varias (por ejemplo, una cuenta de la empresa y un modelo local) y elegir cuál usar en cada ejecución.
- En Conexión, hacé clic en + Nueva y escribí un nombre.
- Elegí el Proveedor. El Modelo y la URL base se completan con valores por defecto que podés cambiar.
- Pegá la API key de esta conexión, o marcá Corre local si usás un modelo en tu equipo o tu red.
- Los cambios se guardan al ejecutar. Borrar elimina la conexión seleccionada.
| Proveedor | Modelo por defecto | Notas |
|---|---|---|
| Anthropic (Claude) | claude-sonnet-5 | Muy buena calidad de prosa y de respeto a los nombres |
| OpenAI (GPT) | gpt-4o-mini | |
| Google (Gemini) | gemini-3.8-flash | Contexto amplio y rápido; buena opción para KB grandes |
| DeepSeek, Zhipu (GLM), Moonshot (Kimi), Alibaba (Qwen) | según el proveedor | Admiten Corre local si el modelo está en tu propia infraestructura |
| Google (Gemma) | gemma3:latest | Pensado para correr local |
| OpenRouter | un modelo de su catálogo | Una sola clave para muchos modelos |
| mock (sin modelo) | — | Genera texto de prueba, sin costo; sirve para verificar el flujo |
Modelos locales
Con Corre local, la API key se oculta y la URL base apunta a tu servidor compatible con OpenAI: http://localhost:11434/v1 para Ollama, http://localhost:1234/v1 para LM Studio, o la dirección de otra máquina de tu red. Instalá y descargá el modelo en ese servidor antes de ejecutar (por ejemplo ollama pull qwen3.6).
Con un modelo local ningún documento sale de tu red. La contracara es la velocidad y el tamaño de contexto: si el modelo tiene una ventana de contexto chica, bajá Caracteres del documento que se mandan al modelo a 16.000 o menos.
Dónde se guardan las claves
Las API keys se guardan en el archivo de configuración de UltraGX (%APPDATA%\UltraGX\settings.json en Windows, ~/.config/UltraGX/settings.json en Linux y macOS), dentro de tu perfil de usuario. No se escriben en la carpeta de salida ni se envían a UltraGX. Tratá ese archivo como un secreto.
Opciones de la ejecución
| Opción | Qué hace |
|---|---|
| Proyecto | el proyecto a narrar |
| Idioma | idioma de la prosa (conviene el mismo del proyecto) |
| Concurrencia | objetos en paralelo. Con proveedores en la nube, 4 a 8 acelera mucho; con un modelo local, 1 |
| Tipos | tipos de objeto a narrar, separados por coma (por ejemplo procedure,transaction,webpanel). Vacío = todos los tipos con lógica |
| Límite | cantidad máxima de objetos en esta ejecución (0 = todos). Útil para probar con 10 objetos antes de lanzar la KB entera |
| Caracteres del documento que se mandan al modelo | tamaño máximo de cada documento enviado (60.000 por defecto). Los documentos más largos se recortan |
Con Tipos vacío, UltraGX no narra las declaraciones: atributos, dominios, SDTs, grupos de subtipos, objetos externos, data views y configuraciones de patrones. Su documento determinista ya dice todo lo que hay que decir y narrarlas solo gasta tokens. Si igual querés narrar alguno, escribilo en Tipos.
Ejecutar, seguir y continuar
Hacé clic en Ejecutar / continuar. El log muestra cada objeto con su resultado. Cada respuesta se incorpora a su documento en el momento: podés abrir el objeto en el Visor (con Recargar) mientras la ejecución sigue, y el visor completo se regenera periódicamente y al final.
Si detenés la ejecución o se corta, volvé a hacer clic en Ejecutar / continuar: los objetos ya narrados no se vuelven a enviar.
Resultados por objeto
| Estado | Qué significa | Se publica |
|---|---|---|
ok | la prosa pasó la validación | sí, en la sección Significado de negocio y en las secciones correspondientes |
degraded | después de los reintentos, el modelo siguió citando nombres que no existen en el objeto | no; el documento muestra un aviso con los nombres inventados |
error | el proveedor falló (clave inválida, cuota agotada, respuesta inválida, tiempo de espera) | no |
Reintentar degradados / errores vuelve a procesar solo esos objetos. Los errores transitorios del proveedor (límites de tasa, errores 5xx, cortes de red) ya se reintentan solos con espera progresiva durante la ejecución.
El estado de todos los objetos está en la página Narrativa del visor y en la columna Narrativa de la lista de objetos.
Costos y privacidad
- Cada objeto es una llamada al modelo con su documento completo (hasta el límite de caracteres). Para estimar el costo, ejecutá con Límite 20, mirá los tokens que informa el log al final y extrapolá a la cantidad de objetos con lógica de tu KB.
- Con proveedores en la nube, el documento de cada objeto (incluido su código GeneXus) se envía a ese proveedor con tu cuenta y bajo sus condiciones. Si la KB tiene restricciones de confidencialidad, usá un modelo local o un proveedor aprobado por tu organización.
- En la edición demo solo se narran los objetos de la muestra.