Descripción general
- Crear una actividad de extracción basada en prompts.
- Configurar una conexión LLM.
- Escribir prompts de extracción eficaces.
- Definir el formato y la estructura de salida.
- Aplicar estrictitud y reglas de validación.
- Probar y perfeccionar la extracción.
- Extracción de información del proveedor a partir de facturas
- Captura de datos de documentos a nivel de encabezado
- Procesamiento de documentos semiestructurados
- Documentos con diseños variables
Requisitos previos
- Acceso a ABBYY Vantage Advanced Designer.
- Una conexión LLM configurada. Consulte Configurar conexiones LLM.
- Una Skill de documento con documentos de muestra cargados.
- Conocimientos básicos de la estructura JSON.
- Definiciones de campos para los datos que desea extraer.
Esta guía se centra en la extracción de campos del encabezado. Las capacidades de extracción de tablas pueden variar.
Introducción a extracción basada en prompts
¿Qué es la extracción basada en prompts?
- Rol: La función que debe asumir el LLM (por ejemplo, “modelo de extracción de datos”).
- Instrucciones: Cómo extraer y dar formato a los datos.
- Estructura de salida: El formato JSON exacto de los resultados.
- Reglas: Directrices para gestionar datos ambiguos o ausentes.
Paso 1: Agregue una actividad basada en prompts
- Abra su Skill de documento en ABBYY Vantage Advanced Designer.
- En el panel izquierdo, localice EXTRACT FROM TEXT (NLP).
- Busque y haga clic en Prompt-based.

- La actividad aparece en el lienzo de su flujo de trabajo.
- Conéctela entre sus actividades Input y Output.
Las actividades basadas en prompts se encuentran en “EXTRACT FROM TEXT (NLP)” en el panel Activities, junto con otros métodos de extracción como Named Entities (NER) y Deep Learning.
Paso 2: Configurar la conexión LLM
- Seleccione la actividad basada en prompts en su workflow.
- En el panel Activity Properties de la derecha, busque conexión LLM.
- Haga clic en el menú desplegable.

- Seleccione en la lista la conexión LLM que haya configurado.
- Ejemplo:
Nick-ChatGPT,Microsoft Foundry,Production GPT-4
- Ejemplo:
- Compruebe que la conexión esté seleccionada.
Si no ve ninguna conexión en la lista, primero debe configurar una conexión LLM en Configuration → Connections.
Cuando publique la skill, la conexión que seleccione aquí se convertirá en la predeterminada para esa skill en Vantage Web Portal. En Skill Catalog → [su skill] → Parameters, la conexión aparecerá precargada. Los administradores del tenant pueden cambiarla por otra conexión distinta (por ejemplo, para apuntar una skill de producción a un endpoint de LLM diferente según el entorno) sin volver a publicar la skill; consulte parámetros de Skill de documento.
Paso 3: Defina los campos de salida
- En el panel Activity Properties, ubique la sección Output.
- Verá una lista jerárquica de grupos de campos y campos.
- Para este ejemplo, extraeremos información del proveedor:
- Vendor
- Name
- Address
- TaxID
- Account Number
- Sort Code
- IBAN
- BIC_SWIFT
- Business Unit
- Name
- Address
- Invoice Date
- Invoice Number
- Totals
- Net Amount
- Vendor

- Haga clic en el botón Activity Editor para comenzar a configurar el prompt.
Defina todos los campos antes de escribir el prompt. Los nombres de los campos se usarán como referencia en la estructura del prompt.
Paso 4: Redacte la definición del rol
- En el Activity Editor, verá la interfaz Prompt Text
- Empiece por la sección ROLE:

- Sé específico: “modelo de extracción de datos” le indica al LLM cuál es su propósito.
- Define el alcance: “campos relacionados con el Proveedor” limita qué extraer.
- Establece expectativas: “texto del valor tal cual” evita que se reformatee.
- Gestiona los datos faltantes: “Omite cualquier campo que no esté claramente presente”.
- Mantén el rol claro y conciso.
- Usa instrucciones imperativas (“Extrae”, “No infieras”).
- Deja claro lo que NO debe hacerse.
- Define cómo manejar los casos límite.
Paso 5: Definir el formato de salida
- Debajo de la sección ROLE, agregue el encabezado FORMATO DE SALIDA.
- Defina la estructura JSON:

- FieldName: Debe coincidir exactamente con las definiciones de sus campos (p. ej.,
Vendor.Name). - Text: El valor extraído como una cadena.
- Line: Índice de línea de base 0 donde aparece el valor en el documento.
- Use los nombres exactos de los campos de la configuración de su actividad Output.
- Incluya todos los campos, aunque algunos puedan estar vacíos.
- La estructura debe ser un JSON válido.
- Los números de línea ayudan con la verificación y la resolución de problemas.
Paso 6: Agregar reglas de extracción específicas para cada campo

- Patrones de reconocimiento: Enumera etiquetas alternativas para cada campo.
- Especificaciones de formato: Describe el formato exacto que debe extraerse.
- Indicaciones de ubicación: Dónde suelen encontrarse los datos.
- Exclusiones: Qué NO extraer.
- Numera las reglas para mayor claridad.
- Proporciona varias variantes de etiquetas.
- Especifica a quién corresponden los datos (proveedor o cliente).
- Incluye ejemplos de formato entre paréntesis.
- Sé explícito con los campos relacionados (por ejemplo, “Ignora el IBAN: tiene su propio campo”).
Step 7: Aplicar reglas de estrictitud

- Evita las alucinaciones: Los LLM pueden generar datos plausibles pero incorrectos.
- Garantiza la consistencia: Las reglas claras reducen la variación entre ejecuciones.
- Gestiona la ausencia de datos: Define qué hacer cuando no se encuentran campos.
- Mantiene la integridad de los datos: La extracción literal conserva el formato original.
- No generar nunca datos que no estén en el documento.
- Omitir las extracciones inciertas en lugar de hacer suposiciones.
- Devolver una estructura vacía si no se encuentra ningún campo.
- Respetar exactamente los nombres de los campos.
- Conservar el formato original del texto.
Paso 8: Seleccionar el formato del documento
- En el Activity Editor, localice el menú desplegable Prompt.
- Verá opciones sobre cómo se proporciona el documento al LLM.

-
PDF: Archivo PDF original
- Uso: Documentos en los que la estructura es fundamental
- Consideraciones: Mayor tamaño de archivo; algunos LLM tienen compatibilidad limitada con PDF
-
Texto sin formato: Extracción de texto sin formato
- Uso: Documentos sencillos de solo texto
- Consideraciones: Pierde todo el formato y la información de estructura
-
Annotated Text ⭐ (Recomendado)
- Uso: La mayoría de los tipos de documento
- Consideraciones: Conserva la estructura en un formato basado en texto
- Beneficios: El mejor equilibrio entre estructura y rendimiento
-
Texto con formato: Texto con formato básico conservado
- Uso: Documentos en los que parte del formato es importante
- Consideraciones: Punto intermedio entre Plain y Annotated
- Seleccione Annotated Text para obtener los mejores resultados
Según las pruebas realizadas, Annotated Text ofrece los resultados más consistentes y fiables para las tareas de extracción. Conserva la estructura del documento y, al mismo tiempo, los LLM lo procesan de forma eficiente.
Paso 9: Pruebe la extracción
Ejecute la actividad
- Cierre el Activity Editor.
- Vaya a la pestaña All Documents.
- Seleccione un documento de prueba.
- Haga clic en el botón Test Activity o Run.

- Espere a que el LLM procese el documento
- Tiempo de procesamiento: normalmente, entre 5 y 30 segundos, según la complejidad del documento.
- Verá un indicador de carga mientras espera la respuesta de la API.
Revisar resultados
- La interfaz cambia a la vista Predictive.
- Revise el panel Output, que muestra los campos extraídos.
- Haga clic en cada campo para ver:
- Valor extraído
- Confianza (si se proporciona)
- Región resaltada en la imagen del documento

- ✅ Todos los campos esperados tienen valor
- ✅ Los valores coinciden exactamente con el documento
- ✅ No hay datos alucinados ni inferidos
- ✅ Manejo adecuado de campos multilínea
- ✅ Los campos que faltan se omiten (no se rellenan con datos incorrectos)
Patrones de resultados comunes
Paso 10: Refina tu prompt
Problemas comunes y soluciones
- Solución: Añada pistas de ubicación más específicas.
- Ejemplo: “Solo del lado del Proveedor; excluya las direcciones del cliente/comprador”
- Solución: Enfatice la extracción literal.
- Ejemplo: “Extraiga el formato numérico exactamente como aparece impreso (p. ej., ‘12-34-56’)”
- Solución: Refuerce las reglas de estrictitud.
- Ejemplo: “No genere ni infiera valores nunca. Omítalos si no están presentes.”
- Solución: Especifique las secuencias de escape.
- Ejemplo: “Para valores multilínea, use
\npara los saltos de línea”
- Solución: Verifique que los nombres de campo coincidan exactamente.
- Ejemplo: Use
Vendor.Account Numbery noAccountNumber
Proceso de mejora iterativa
- Pruebe con varios documentos: No optimice basándose en un solo ejemplo.
- Documente patrones: Anote qué reglas funcionan y cuáles necesitan ajustes.
- Agregue ejemplos específicos: Incluya ejemplos de formato entre paréntesis.
- Refine la estrictitud: Ajústela según los patrones de sobreextracción o subextracción.
- Pruebe casos límite: Use documentos con campos faltantes o diseños inusuales.
Ejemplos de mejoras
Entender el proceso de extracción
Cómo funciona la Extracción basada en prompts
- Conversión del documento: Su documento se convierte al formato seleccionado (se recomienda Annotated Text).
- Ensamblado del prompt: Se combinan su rol, el formato de salida, las reglas de campo y las reglas de estrictitud.
- Llamada de API: El prompt y el documento se envían al LLM a través de su conexión.
- Procesamiento del LLM: El LLM lee el documento y extrae los datos de acuerdo con sus instrucciones.
- Respuesta JSON: El LLM devuelve datos estructurados en el formato JSON especificado.
- Asignación de campos: Vantage asigna la respuesta JSON a los campos de salida definidos.
- Verificación: Los números de línea y las puntuaciones de confianza (si se proporcionan) ayudan a verificar la exactitud.
Uso de tokens y costos
- Longitud del documento: Los documentos más largos usan más tokens.
- Complejidad del prompt: Los prompts detallados aumentan la cantidad de tokens.
- Elección del formato: Annotated Text suele ser más eficiente que PDF.
- Número de campos: Más campos = prompts más largos.
- Usa un lenguaje conciso, pero claro, en los prompts.
- No dupliques las instrucciones.
- Elimina los ejemplos innecesarios.
- Considera agrupar los campos de datos relacionados.
Buenas prácticas
Redacción de prompts
- ✅ Usa instrucciones claras y en imperativo (“Extrae”, “Reconoce”, “Omite”).
- ✅ Proporciona varias variantes de etiqueta para cada campo.
- ✅ Incluye ejemplos de formato entre paréntesis.
- ✅ Especifica qué NO extraer (exclusiones).
- ✅ Numera tus reglas para poder consultarlas fácilmente.
- ✅ Usa una terminología uniforme en todo el texto.
- ❌ Uses instrucciones vagas (“obtén el nombre”).
- ❌ Supongas que el LLM conoce convenciones propias del dominio.
- ❌ Escribas oraciones demasiado largas y complejas.
- ❌ Te contradigas en distintas secciones.
- ❌ Omitas las reglas de estrictitud.
Definiciones de campos
- Comience con patrones de reconocimiento (etiquetas alternativas).
- Especifique el formato exacto que se debe conservar.
- Proporcione indicaciones de ubicación (posición habitual).
- Defina la pertenencia de los datos (Proveedor frente a cliente).
- Incluya el tratamiento de valores multilínea.
- Remítase a campos relacionados para evitar confusiones.
Estrategia de pruebas
- Empiece con documentos sencillos: Primero pruebe la extracción básica.
- Amplíe las pruebas a distintas variaciones: Pruebe diferentes diseños y formatos.
- Pruebe casos límite: campos faltantes, posiciones inusuales, múltiples coincidencias.
- Documente los fallos: Conserve ejemplos de los casos en que falla la extracción.
- Itere de forma sistemática: Cambie solo una cosa a la vez.
Optimización del rendimiento
- Mantén los prompts concisos.
- Usa el formato Annotated Text.
- Minimiza el número de campos por actividad.
- Considera dividir los documentos complejos.
- Proporciona reglas exhaustivas para los campos.
- Incluye ejemplos de formato.
- Agrega reglas de estrictitud claras.
- Haz pruebas con muestras de documentos diversas.
- Optimiza la longitud del prompt.
- Usa formatos de documento eficientes.
- Almacena en caché los resultados cuando corresponda.
- Supervisa el uso de tokens desde el panel del proveedor de LLM.
Solución de problemas
Problemas de extracción
- Compruebe que la ortografía del nombre del campo coincida exactamente.
- Verifique que los datos estén en el formato de documento seleccionado.
- Añada más variaciones de etiquetas a los patrones de reconocimiento.
- Reduzca temporalmente la estrictitud para ver si el LLM los encuentra.
- Compruebe si la calidad del documento afecta al OCR o a la extracción de texto.
- Refuerce las especificaciones del proveedor.
- Añada exclusiones explícitas para los datos del cliente/comprador.
- Proporcione indicaciones de ubicación (por ejemplo, “parte superior del documento”, “sección del emisor”).
- Incluya ejemplos de extracción correcta e incorrecta.
- Especifique explícitamente el formato de la secuencia de escape (
\n). - Proporcione ejemplos de salida multilínea correcta.
- Verifique que el formato del documento conserve los saltos de línea.
- Añada la instrucción: “Conserve los saltos de línea originales usando
\n”.
- Destaque “literalmente” y “exactamente como está impreso”.
- Añada una regla de estrictitud: “Sin normalización ni inferencia”.
- Proporcione ejemplos específicos que muestren la conservación del formato.
- Incluya ejemplos negativos: “No ‘12-34-56’, manténgalo como ‘12 34 56’”.
Problemas de rendimiento
- Cambie al formato Annotated Text si usa PDF.
- Simplifique el prompt sin perder instrucciones clave.
- Reduzca la resolución del documento si las imágenes son muy grandes.
- Compruebe el estado del proveedor de LLM y los límites de tasa.
- Considere usar un modelo más rápido para documentos sencillos.
- Refuerce las reglas de estrictitud.
- Haga que las instrucciones sean más específicas y claras.
- Añada más ejemplos de formato.
- Reduzca la complejidad del prompt para evitar interpretaciones.
- Pruebe valores de temperatura más altos (si están disponibles en la conexión).
- Optimice la longitud del prompt.
- Use Annotated Text en lugar de PDF.
- Procese documentos en lotes durante las horas de menor actividad.
- Considere usar modelos más pequeños o más económicos para documentos sencillos.
- Supervise y configure alertas de presupuesto en el panel del proveedor de LLM.
Técnicas avanzadas
Extracción condicional
Compatibilidad multilingüe
Reglas de Validación
Relaciones entre campos
Limitaciones y consideraciones
Capacidades actuales
- ✅ Extracción de campos a nivel de encabezado
- ✅ Valores de una sola línea y multilínea
- ✅ Varios campos por documento
- ✅ Lógica de extracción condicional
- ✅ Documentos en varios idiomas
- ✅ Formatos de documento variables
- ⚠️ Extracción de tablas (varía según la implementación)
- ⚠️ Estructuras complejas anidadas
- ⚠️ Documentos muy grandes (límites de tokens)
- ⚠️ Procesamiento en tiempo real (latencia de la API)
- ⚠️ Resultados deterministas garantizados
Cuándo usar la extracción basada en prompts
Integración con Skills de documento
Uso de los datos extraídos
- Actividades de validación: Permiten aplicar reglas de negocio a los valores extraídos.
- Actividades de script: Permiten procesar o transformar los datos extraídos.
- Actividades de exportación: Permiten enviar datos a sistemas externos.
- Interfaz de revisión: Permite verificar manualmente los campos extraídos.
Combinación con otras actividades
Asignación de campos
"FieldName": "Vendor.Name"→ Se asigna al campo de salidaVendor.Name.- La jerarquía de campos se conserva en la estructura de salida.
- Los números de línea ayudan en la verificación y la solución de problemas.
Resumen
- ✅ Creaste una actividad de extracción basada en prompts.
- ✅ Configuraste una conexión LLM.
- ✅ Redactaste un prompt de extracción completo con rol, formato y reglas.
- ✅ Seleccionaste el formato de documento óptimo (Annotated Text).
- ✅ Aplicaste reglas de estrictitud para garantizar la calidad de los datos.
- ✅ Probaste la extracción y revisaste los resultados.
- ✅ Aprendiste las mejores prácticas de la ingeniería de prompts.
- La extracción basada en prompts usa instrucciones en lenguaje natural.
- El formato Annotated Text ofrece los mejores resultados.
- Los prompts claros y específicos producen una extracción consistente.
- Las reglas de estrictitud evitan las alucinaciones y mantienen la calidad de los datos.
- Las pruebas iterativas y el refinamiento mejoran la precisión.
Próximos pasos
- Pruebe con diversos documentos: Valide distintos diseños y variaciones.
- Perfeccione sus prompts: Mejórelos continuamente en función de los resultados.
- Supervise los costos: Haga un seguimiento del uso de tokens en el panel de control de su proveedor de LLM.
- Optimice el rendimiento: Ajuste los prompts para mejorar la velocidad y la precisión.
- Explore la extracción de tablas: Experimente con la extracción de partidas (si es compatible).
- Intégrelo con flujos de trabajo: Combínelo con otras actividades para lograr un procesamiento integral.
Recursos adicionales
- Documentación de ABBYY Vantage Advanced Designer: https://docs.abbyy.com
- Guía de configuración de conexiones LLM: Configurar conexiones LLM.
- Mejores prácticas de prompt engineering: Consulte la documentación de su proveedor de LLM.
- Soporte: Póngase en contacto con el soporte de ABBYY para obtener asistencia técnica.
