Generación de esquemas con IA - Documentación de Entity Enricher

Generación de esquemas con IA

Genere esquemas JSON estructurados a partir de datos de muestra con IA, con autocorrección automática y posprocesamiento inteligente.

Cómo funciona

La generación de esquemas convierte los datos brutos de una entidad en un esquema JSON tipado y anotado que define exactamente qué información extraer durante el enriquecimiento. En lugar de escribir esquemas manualmente, usted pega un JSON de muestra y deja que la IA analice la estructura, infiera los tipos, asigne dominios de especialización y sugiera mejoras.

El pipeline de generación

La generación no es un único prompt extenso. Es una secuencia de llamadas pequeñas y de propósito único, la mayoría ejecutadas en paralelo, que es lo que permite que modelos pequeños y económicos produzcan un esquema utilizable, ya que cada llamada responde a una única pregunta acotada sobre material que puede abarcar de una vez.

  1. Canonicalizar la muestra (sin LLM): un valor que lleva su propia unidad pasa a ser un número con la unidad en el nombre ("8.275 h" se convierte en half_life_seconds: 29790), y una fecha que ningún tipo nativo puede representar pasa a ser un año entero. Cada valor observado debe respaldar esa conversión; de lo contrario, la propiedad se queda como texto. La muestra reescrita es la que se guarda.
  2. Delimitación de identidad: una sola llamada, ejecutada antes que todas las demás porque es la última que puede modificar su muestra. Cuando un elemento de un array relacionado mezcla datos sobre esa entidad con datos sobre su emparejamiento con el elemento padre, el elemento se reestructura: los datos del emparejamiento permanecen donde están y los datos propios de la entidad se anidan bajo un subobjeto con nombre. Sin esto, ambos tipos de datos compartirían una misma identidad.
  3. Derivar el esqueleto (sin LLM): el árbol de propiedades, los tipos JSON y la nulabilidad se obtienen directamente de la muestra o muestras; las formas repetidas y los elementos de array que parecen entidades se convierten en definiciones reutilizables. Los objetos localizados (como {"en": "...", "fr": "..."}) se colapsan en un único valor multilingüe.
  4. Formular las preguntas en paralelo — llamadas concurrentes independientes determinan la identidad y la denominación de la entidad, los indicadores de comportamiento (clave, conservar, multilingüe, anulable, además de las propuestas de formato), si los campos de números enteros son realmente discretos, qué cadenas provienen de un vocabulario cerrado y cómo se asignan las propiedades a los dominios de especialización.
  5. Redactar la documentación: una llamada por dominio de especialidad, con la persona de ese dominio, que produce la descripción y los ejemplos de cada propiedad, además de su propia segunda opinión sobre si el valor puede faltar realmente.
  6. Ensamblar, validar, guardar (sin LLM): se fusionan los fragmentos, las 8 reglas de validación actúan como red de seguridad, un posprocesado determinista resuelve los conflictos entre indicadores y el esquema se guarda, deduplicado por hash de contenido, de modo que los esquemas idénticos no se duplican.

Cada paso reintenta por su cuenta (3 intentos) y sus respuestas se acumulan entre intentos, de modo que un modelo que responde por fragmentos acaba convergiendo. Después, el paso acepta lo que ha obtenido y los huecos se rellenan de forma determinista: un modelo débil degrada las descripciones en lugar de hacer fallar la generación. Solo la identidad y el enrutamiento de dominio pueden hacer fallar toda la ejecución. Cada llamada se factura y se registra como un prompt independiente, por lo que el registro muestra exactamente en qué se gastó cada cosa.

Puede pasar varias muestras del mismo tipo de entidad en lugar de una: el esquema abarca entonces la unión de sus campos, todo lo que falte en una muestra pasa a ser anulable y los valores observados entre ellas se convierten en ejemplos reales. Los nombres de los campos deben coincidir: se rechazan las muestras que describen tipos de entidad diferentes, así como los objetos dentro de un array que no comparten ningún campo, ya que no quedaría nada para identificar sus filas. El editor de muestras señala cualquier diferencia de este tipo antes de que gaste una generación.

Los valores que incluyen su propia unidad se convierten en números antes de derivar el esquema, porque una columna de "8.275 h" y "85 ms" no se puede ordenar, filtrar por rango ni agregar. La unidad pasa al nombre de la propiedad (half_life_seconds), un sustituto no numérico como "stable" se convierte en null, y las fechas anteriores al año 1 se convierten en un año entero (negativo para a. C.), que ningún tipo de fecha puede almacenar y que el texto ordena de forma incorrecta. Su panel de muestra se actualiza en consecuencia, de modo que siempre muestra la muestra que describe el esquema. Todo lo que la conversión no puede leer con certeza se conserva exactamente como usted lo escribió.

Autocorrección, paso a paso

Como cada paso responde a una pregunta muy concreta, la corrección también puede serlo: el validador del paso conserva todo lo que ha llegado utilizable y vuelve a pedir únicamente lo que falta. No se regenera nada desde cero, así que una respuesta parcialmente correcta es un avance y no un intento perdido.

Ejemplo: el paso de marcado sobre 30 propiedades

Intento 1El modelo responde a 22 de ellas y reparte su respuesta entre varias llamadas de herramienta, un modo de fallo habitual en los modelos pequeños. Se conservan las 22.
ReintentarLa pregunta de seguimiento pide solo las 8 propiedades restantes: una pregunta más corta y con más probabilidades de responderse por completo.
Intento 2Llegan 6 más. Las 2 últimas recurren a valores predeterminados deterministas y la carencia se anota en el registro de generación en lugar de hacerlo fallar.

Las ocho reglas de validación siguen ejecutándose sobre el esquema ensamblado como comprobación final: corrección de tipos, asignación de dominios de especialidad, integridad de las referencias y exhaustividad. A esas alturas son una red de seguridad más que el mecanismo de corrección. Conozca más sobre cada regla en la guía Reglas de validación.

Qué contiene el esquema

Un esquema generado es más que una simple definición de tipos. Cada propiedad incluye metadatos que guían el proceso de enriquecimiento:

Tipo

Tipo de JSON Schema (string, number, integer, boolean, array, object)

Descripción

Descripción contextual que indica a la IA qué información debe encontrar

Especialización

Qué dominio de experiencia (financiero, regulatorio, etc.) proporciona este valor

Clave

Si este campo forma parte de lo que identifica la instancia. Las claves cumplen dos funciones a la vez: centran el prompt de enriquecimiento en la entidad correcta y son aquello por lo que la fusión empareja los elementos de un array. Una clave puede admitir valores nulos: un calificador que distingue hermanos parecidos sigue siendo identificador aunque familias enteras carezcan realmente de él

Vocabulario cerrado

Cuando los valores de una cadena provienen de un conjunto pequeño y completamente enumerable (estados, calificaciones, códigos de clasificación), la generación propone los miembros —escritos tal como los escriben sus muestras— para que el enriquecimiento no derive hacia un sinónimo

Nullable

Si el campo puede ser null: los campos no anulables son obligatorios para la admisión en la base de datos

Multilingüe

Si el campo debe enriquecerse en varios idiomas

Conservar

Si se debe mantener sin cambios el valor original durante el enriquecimiento

Ejemplos

Valores de ejemplo realistas que guían a la IA hacia el formato correcto

Formato / Patrón

Estructura verificable por máquina para los valores de tipo cadena: las respuestas mal formadas se rechazan y se reintentan, y los valores almacenados conservan la forma canónica. La generación solo declara un formato con nombre (date, time, date-time, uuid, email, uri, ipv4, ipv6) que sus muestras demuestren — un patrón de expresión regular es una predicción sobre valores que nadie ha visto todavía, y uno incorrecto hace fallar todos los enriquecimientos del campo, así que ese lo añade usted mismo en el editor

Detección de dominios de expertise

La IA agrupa las propiedades del esquema en dominios de experiencia según su significado semántico. Por ejemplo, el esquema de una empresa farmacéutica podría tener dominios como «Analista financiero», «Experto regulatorio» e «Información corporativa». La estrategia multiexperiencia utiliza estos dominios para ejecutar llamadas LLM paralelas y especializadas que ofrecen resultados más profundos.

Límites de recuento de dominios

El número de dominios de experiencia se limita automáticamente en función del número de propiedades de sus datos para evitar una fragmentación excesiva:

5 propiedades
1 dominio
12 propiedades
2 dominios
30 propiedades
5 dominios
60 propiedades
10 dominios

Posprocesamiento

Una vez ensamblados los fragmentos, unos pasos deterministas resuelven todo lo que no debería dejarse en manos de un modelo, usando sus datos de entrada reales como evidencia:

Ampliación a nullable

Un campo ausente o nulo en cualquier muestra pasa a ser anulable, independientemente de lo que responda el modelo, de modo que un valor desconocido es una respuesta admitida y no un fallo de calidad de datos. Las muestras solo pueden ampliar: un puñado de muestras demuestra la presencia en esas instancias, nunca en todas las instancias del tipo; por eso el modelo también tiene voto y ambos se combinan con un OR.

Resolución de conflictos de marcado

Los atributos que no pueden coexistir se reconcilian por regla, sin volver a preguntar: preserve prevalece sobre multilingual y nullable, un vocabulario cerrado que sobrevive elimina multilingual, y una propiedad clave nunca conserva un enum.

Reparación de claves de elementos de array

Se garantiza que todo objeto dentro de un array tenga al menos una propiedad clave: es la unidad sobre la que la fusión elimina duplicados, por lo que un elemento de array sin clave haría imposible combinar las respuestas de dos modelos.

Colección de especialización

Todos los dominios de especialización únicos se recopilan del esquema para las métricas y la configuración de la estrategia.

El idioma en el que está escrito un esquema

Un esquema se describe a sí mismo en un idioma: sus nombres de tipo, descripciones de propiedades, etiquetas de especialidad y sugerencias. Eso es distinto de los idiomas a los que enriquece. Indique uno al generar, u omítalo y decidirá el idioma de los propios nombres de propiedad de su muestra: una muestra en francés deja de producir un esquema en inglés. La elección se guarda, de modo que las ediciones posteriores con IA siguen escribiendo en el mismo idioma en lugar de volver al inglés.

La generación de las muestras en sí

No necesita datos de muestra para empezar. Describa el tipo de entidad — opcionalmente con documentos en los que fundamentarlo, o búsqueda web para contrastarlo con la realidad — y la plataforma escribe las muestras por usted. Pida varias y obtendrá varias instancias distintas, no una misma instancia reformulada.

Todas las instancias se eligen a la vez

La primera muestra también decide, en la misma llamada, sobre quién tratarán las demás. Pedir N veces por separado «un ejemplo» devuelve indefectiblemente N veces la misma instancia famosa; nombrar todo el reparto por adelantado es lo que las hace distintas.

La primera muestra fija la estructura

Las muestras restantes se generan en paralelo frente a la estructura de la muestra 1 tomada como contrato, no limitándose a pedirles que la respeten, de modo que una variante no puede renombrar, añadir ni eliminar un campo. Las que aun así vuelvan duplicadas o mal formadas se solicitan de nuevo en una tanda de reintentos acotada y, si no se alcanza el total, se le avisa en lugar de entregarle menos en silencio.

El idioma y sus propias instrucciones

El idioma es auto de forma predeterminada, inferido a partir de las palabras de su propia solicitud y, después, de cualquier documento adjunto. Las instrucciones adicionales que añada son vinculantes: se cumplen o la respuesta le indica qué no se pudo cumplir y por qué; nunca se descartan en silencio.

Comprobación de ambigüedad

Lea el nombre de una propiedad en el contexto de su objeto padre y cuente las distintas cosas que podría estar pidiendo. Una sola es clara. Con dos o más, cada modelo se decanta por una distinta, así que la columna acaba mezclando respuestas a preguntas diferentes: annual_revenue en una empresa puede referirse al grupo o a la entidad, en cifras brutas o netas, y en una de varias monedas. Ninguna en absoluto —un nombre para algo que este padre sencillamente no tiene— es peor: sin nada que consultar, el modelo inventa un valor.

La generación combate esto por partida doble: el propio prompt exige nombres que admitan una sola lectura, y una pasada posterior sobre el esquema terminado anota los que siguen sin cumplirlo. En esta fase la solución es un cambio de nombre: las descripciones se generaron a partir de los nombres, de modo que una descripción no puede desambiguar el nombre del que procede, y todavía nada depende del esquema. La generación de muestra ejecuta la misma comprobación sobre la muestra y aplica los cambios de nombre antes de que usted la vea. El texto libre —una descripción, un resumen, unas notas— nunca se marca: la redacción varía, pero la pregunta planteada es clara.

Las propiedades marcadas muestran una insignia de «ambigua» en el Editor de flujos de trabajo, con las lecturas que admite el nombre. Una vez que el esquema está en producción, la solución pasa a ser una descripción reescrita, que fija un único significado sin romper el contrato de datos. Consulte la guía Comprobación de ambigüedad para ver el baremo completo y sus soluciones.

Al generar una entidad de muestra a partir de una descripción, puede activar “Usar búsqueda web” para permitir que el modelo consulte datos actuales en la web en lugar de basarse únicamente en sus datos de entrenamiento. Esto produce valores de muestra más frescos y precisos, especialmente para datos que cambian rápidamente como precios, número de empleados o lanzamientos recientes. La opción solo aparece para modelos cuyo proveedor admite búsqueda web integrada, y las llamadas de búsqueda las factura el proveedor como cualquier otro uso del modelo.

Edición de esquemas con IA

Tras la generación, puede modificar los esquemas mediante instrucciones en lenguaje natural. Escriba un comando y la IA aplica el cambio conservando la estructura existente de su esquema. Cada edición también produce 5 sugerencias para mejoras adicionales.

Comandos de edición de ejemplo

Agregar un campo entero employee_count
Crear un objeto de dirección anidado con ciudad y país
Agregar descripciones en francés a todos los campos de texto
Defina una referencia de empresa matriz usando $defs
Marcar el campo de sitio web como anulable

Las ediciones con IA se validan utilizando un subconjunto de las reglas de generación (comprobación de tipos, integridad de referencias, consistencia de especialización) sin compararlas con los datos de entrada, ya que puede añadir o eliminar campos intencionadamente.

Sugerencias de IA

Tanto la generación de esquemas como la edición con IA producen 5 sugerencias específicas que abarcan diferentes categorías de mejora:

Integridad de los datosCampos faltantes que podrían enriquecer su entidad
Calidad de los datosVocabularios cerrados, nulabilidad, correcciones de tipo
RelacionesEstructuras anidadas, referencias de entity mediante $defs
InternacionalizaciónTraducciones multilingües, compatibilidad con configuraciones regionales
Contexto de negocioCampos específicos de dominio y agrupaciones por dominio de especialización

Las sugerencias aparecen como fichas en las que se puede hacer clic en el Editor de flujos de trabajo: haga clic en una para rellenar automáticamente el campo de edición con IA y aplicarla.

Próximos pasos