

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Transforme los datos no estructurados en información significativa mediante la automatización Amazon Bedrock de datos
<a name="bda"></a>

## ¿Qué es Automatización de Datos de Bedrock?
<a name="bda-what-is"></a>

Automatización de Datos de Bedrock (BDA) es un servicio basado en la nube que simplifica el proceso de extraer información valiosa del contenido no estructurado, como documentos, imágenes, vídeo y audio. BDA aprovecha la IA generativa para automatizar la transformación de datos multimodales en formatos estructurados, lo que permite a los desarrolladores crear aplicaciones y automatizar flujos de trabajo complejos con mayor velocidad y precisión.

A continuación se muestran algunos ejemplos de casos de uso:
+ **Procesamiento de documentos:** BDA le permite automatizar los flujos de trabajo de procesamiento inteligente de documentos (IDP) a escala sin necesidad de orquestar tareas complejas de procesamiento de documentos, como la clasificación, la extracción, la normalización o la validación. Esto lo ayuda a transformar los documentos no estructurados en salidas de datos estructurados específicas para la empresa. Puede personalizar la salida de BDA para integrarla con sus sistemas y flujos de trabajo existentes.
+ **Análisis de contenido multimedia:** añada información significativa a vídeo no estructurado. Cree resúmenes de cada escena, ayude a identificar el contenido no seguro o explícito, extraiga el texto que aparece en el vídeo y clasifique el contenido en función de los anuncios o las marcas. De este modo, podrá aprovechar esta información para permitir la búsqueda inteligente de vídeos, mejorar la colocación de la publicidad contextual y contribuir a la seguridad y el cumplimiento de la marca.
+ **Asistentes de IA generativa:** mejore el rendimiento de sus aplicaciones de respuesta a preguntas basadas en generación aumentada por recuperación (RAG) proporcionándoles representaciones de datos detalladas y específicas de cada modalidad extraídas de sus documentos, imágenes, vídeo y audio.

BDA proporciona una experiencia unificada basada en API que le permite procesar contenido multimodal a través de una única interfaz, lo que elimina la necesidad de administrar y orquestar varios modelos y servicios de IA. Con medidas de seguridad integradas, como el fundamento visual y las puntuaciones de confianza, BDA lo ayuda a mejorar la precisión y la fiabilidad de la información extraída, lo que facilita su integración en los flujos de trabajo de su empresa.

# Cómo funciona Automatización de Datos de Bedrock
<a name="bda-how-it-works"></a>

Automatización de Datos de Bedrock (BDA) le permite configurar la salida en función de sus necesidades de procesamiento para un tipo de datos específico: documentos, imágenes, vídeo o audio. BDA puede generar una salida estándar o una salida personalizada. A continuación, se presentan algunos conceptos clave para entender cómo funciona BDA. Si es un usuario nuevo, comience con la información sobre la salida estándar.
+ Salida estándar: al enviar un archivo a BDA sin más información, se obtiene la salida estándar predeterminada, que consiste en la información que se requiere habitualmente y que se basa en el tipo de datos. Entre los ejemplos se incluyen transcripciones de audio, resúmenes de escenas de vídeo y resúmenes de documentos. Estos resultados se pueden ajustar a su caso de uso mediante proyectos para modificarlos. Para obtener más información, consulte [Salida estándar en Automatización de Datos de Bedrock](bda-standard-output.md).
+ Salida personalizada: solo para documentos, audio e imágenes. Elija una salida personalizada para definir exactamente qué información desea extraer mediante un esquema. Un esquema consiste en una lista de los campos esperados que se desean recuperar de un archivo. Cada campo representa un fragmento de información que debe extraerse para adaptarse a su caso de uso específico. Puede crear sus propios esquemas o seleccionar esquemas predefinidos del catálogo de esquemas de BDA. Para obtener más información, consulte [Salida personalizada y esquemas](bda-custom-output-idp.md).
+ Proyectos: un proyecto es un recurso de BDA que le permite modificar y organizar las configuraciones de salida. Cada proyecto puede contener configuraciones de salida estándar para documentos, imágenes, vídeo y audio, así como esquemas de salida personalizados para documentos, audio e imágenes. Los proyectos hacen referencia a la llamada a la API `InvokeDataAutomationAsync` para indicar a BDA cómo procesar los archivos. Para obtener más información sobre los proyectos y sus casos de uso, consulte [Proyectos de Automatización de Datos de Bedrock](bda-projects.md).

# Proyectos de Automatización de Datos de Bedrock
<a name="bda-projects"></a>

Una forma de procesar archivos mediante Automatización de Datos de Amazon Bedrock (BDA) es crear un proyecto. Un proyecto es un conjunto de configuraciones de salida estándar y personalizadas. Los proyectos requieren salidas estándar, pero las salidas personalizadas son opcionales. Cuando se llama a la API `InvokeDataAutomationAsync` con un ARN de proyecto, el archivo se procesa automáticamente con los ajustes de configuración definidos en ese proyecto. A continuación, se genera el resultado en función de la configuración del proyecto.

A un proyecto se le puede asignar una etapa, que puede ser `LIVE` o `DEVELOPMENT`. Cada etapa es una versión única y mutable del proyecto. Esto significa que puede editar o probar con la etapa `DEVELOPMENT` y procesar las solicitudes de los clientes utilizando la etapa `LIVE`. No se puede acceder a los proyectos de `DEVELOPMENT` desde la consola, y se deben cambiar e invocar a través de la API.

Un proyecto le permite usar un único recurso para varios tipos de archivos. Por ejemplo, un archivo de audio enviado a BDA con el nombre de proyecto ABC se procesará utilizando la configuración de salida de audio estándar del proyecto ABC. Un documento enviado a BDA con el nombre de proyecto ABC se procesará utilizando la configuración de salida de documento estándar de ABC.

Los proyectos le ofrecen una mayor flexibilidad a la hora de configurar la salida estándar. Cada salida estándar tiene su propio conjunto de opciones configurables, como transcripciones o resúmenes, y los proyectos le permiten cambiar esas opciones para adaptarlas mejor a su caso de uso. También puede configurar un proyecto con esquemas de documentos, audio e imágenes para definir una salida personalizada. Un proyecto configurado para generar una salida personalizada también generará una salida estándar automáticamente.

En las siguientes secciones veremos algunos ejemplos del uso de proyectos.

## Uso de proyectos con salida estándar
<a name="bda-standard-example"></a>

Consideremos un caso de uso en el que solo le interesa extraer resúmenes de las transcripciones de sus archivos de audio y vídeo completos. De forma predeterminada, cuando envía archivos de audio y vídeo a BDA, recibe los resúmenes de las transcripciones junto con las transcripciones completas, los resúmenes de nivel de escena, el texto detectado y otra información. En este caso de uso, no querrá dedicar tiempo y recursos adicionales a recopilar información que no necesita. Para este caso de uso, puede configurar un proyecto de salida estándar para habilitar solo la característica de resumen para los archivos de audio y vídeo.

Para ello, utilice la API o la consola, cree un proyecto y modifique la configuración de salida estándar para audio y vídeo. En el caso del vídeo, active **Resumen completo del vídeo**, pero asegúrese de que las demás extracciones (por ejemplo, la transcripción completa del audio, los resúmenes de escenas, la moderación del contenido, etc.) estén desactivadas. Repita esta configuración para el audio. Tras configurar el proyecto para que solo genere resúmenes, guárdelo y anote los nombres de los recursos de Amazon (ARN) del proyecto. Este ARN se puede utilizar para la operación `InvokeDataAutomationAsync` para procesar los archivos a escala. Al pasar un archivo de audio o vídeo a BDA y especificar el ARN de este proyecto, recibirá una salida únicamente de los resúmenes de cada uno de los archivos. Tenga en cuenta que en este ejemplo no se realizó ninguna configuración para los documentos o las imágenes. Esto significa que si pasa una imagen o un documento a BDA con el ARN de ese proyecto, recibirá la salida estándar predeterminada para esos archivos.

## Uso de proyectos con salida personalizada y salida estándar
<a name="bda-mixed-example"></a>

Para este caso de uso, vamos a suponer que desea generar resúmenes de salida estándar para documentos y archivos de audio, y también extraer campos personalizados de sus documentos. Después de crear un proyecto, configure la salida de audio estándar para activar **Resumen completo de audio** y asegúrese de que no estén habilitadas otras extracciones. Repita esta configuración de salida estándar para los documentos. A continuación, puede configurar la salida personalizada de los documentos añadiendo un esquema nuevo o uno preexistente del catálogo global de BDA. Los documentos que se pasen a BDA mediante el ARN de este proyecto generarán la salida estándar, los resúmenes completos de los documentos y la salida del esquema para los campos personalizados definidos. Los archivos de audio que se pasen a BDA mediante el ARN de este proyecto generarán resúmenes completos.

Al procesar documentos, es posible que desee utilizar varios esquemas para los distintos tipos de documentos que se pasen al proyecto. Un proyecto puede tener hasta 40 esquemas de documentos adjuntos. BDA compara automáticamente los documentos con el esquema correspondiente que esté configurado en el proyecto y genera una salida personalizada a partir de ese esquema. Además, es posible que desee pasar los documentos en bloque. Si pasa un archivo que contiene varios documentos, puede elegir dividir el documento al crear el proyecto. Si decide hacerlo, BDA analiza el archivo y lo divide en documentos individuales según el contexto. A continuación, esos documentos individuales se comparan con el esquema correcto para su procesamiento.

Actualmente, las imágenes solo admiten una única definición de esquema por proyecto. Los tipos de archivos de imagen JPG y PNG pueden tratarse como imágenes o documentos escaneados en función de su contenido. Se recomienda crear un esquema personalizado para las imágenes cuando procese la salida personalizada de los documentos, de modo que BDA proporcione la salida deseada para los archivos de imagen que contienen texto.

Los archivos de audio también admiten una única definición de esquema por proyecto.

# División de documentos al usar proyectos
<a name="bda-document-splitting"></a>

Amazon Bedrock La automatización de datos (BDA) permite dividir documentos cuando se utiliza la Amazon Bedrock API. Cuando está habilitada, la división permite a BDA tomar un PDF que contiene varios documentos lógicos y dividirlo en documentos independientes para su procesamiento. 

Una vez finalizada la división, cada segmento del documento dividido se procesa de forma independiente. Esto significa que un documento de entrada puede contener diferentes tipos de documentos. Por ejemplo, si tiene un PDF que contiene tres extractos bancarios y un formulario W2, al activar la división se intentaría dividirlo en cuatro documentos independientes que se procesarían de forma individual.

La división automática de BDA admite archivos de hasta 3000 páginas y admite documentos individuales de hasta 20 páginas cada uno.

La opción de dividir documentos está desactivada de forma predeterminada, pero se puede activar cuando se utiliza la API. A continuación, se muestra un ejemplo de cómo crear un proyecto con el divisor activado. Los puntos suspensivos representan esquemas adicionales proporcionados al proyecto.

```
   response = client.create_data_automation_project(
    projectName=project_name,
    projectDescription="Provide a project description",
    projectStage='LIVE',
    standardOutputConfiguration=output_config,
    customOutputConfiguration={
    'blueprints': [
        {
        'blueprintArn': Blueprint ARN,
        'blueprintStage': 'LIVE'
        },
        ...
        ]
        },
         overrideConfiguration={'document': {'splitter': {'state': 'ENABLED'}}}
)
```

La parte que permite el proceso de división es la línea overrideConfiguration. Esta línea configura el divisor y permite pasar varios documentos dentro del mismo archivo.

Los documentos se dividen según los límites semánticos del documento. 

La división de los documentos se produce independientemente de la aplicación de los esquemas, y los documentos que se dividan se corresponderán con el esquema más cercano. Para obtener más información sobre cómo BDA realiza la correspondencia de esquemas, consulte [Descripción de la correspondencia de esquemas](#bda-blueprint-matching).

## Descripción de la correspondencia de esquemas
<a name="bda-blueprint-matching"></a>

La correspondencia de esquemas se basa en los siguientes elementos:
+  Nombre del esquema 
+  Descripción del esquema 
+  Campos del esquema 

Al procesar documentos, puede proporcionar varios esquemas con los que realizar una correspondencia. Esto permite procesar diferentes tipos de documentos con los esquemas adecuados. Puede proporcionar varios planos IDs al invocar la API de automatización de datos, y BDA intentará hacer coincidir cada documento con el plan que mejor se adapte. Esto permite procesar tipos de documentos mixtos en un único lote. Esto resulta útil cuando se espera que los documentos sean de diferentes tipos (por ejemplo, extractos bancarios, facturas o pasaportes).

Si necesita esquemas distintos porque los formatos de los documentos son muy diferentes o requieren peticiones especializadas, crear un esquema por tipo de documento puede ayudar a establecer una correspondencia. Para obtener más información sobre cómo crear esquemas útiles, consulte [Prácticas recomendadas para crear esquemas](#bda-blueprint-best-practices).

## Prácticas recomendadas para crear esquemas
<a name="bda-blueprint-best-practices"></a>

 Siga las prácticas recomendadas que se indican a continuación para sacar el máximo partido de sus esquemas: 
+ Sea explícito y detallado en los nombres y descripciones de los esquemas para facilitar la correspondencia. 
+ Al proporcionar varios esquemas pertinentes, BDA puede seleccionar el que mejor se ajuste. Cree esquemas distintos para formatos de documentos muy diferentes. 
+ Considere la posibilidad de crear planos especializados para cada vendor/document fuente, si necesita la máxima precisión
+ No incluya dos esquemas del mismo tipo en un proyecto (por ejemplo, dos esquemas de W2). La información del propio documento y del esquema se utiliza para procesar los documentos, y si se incluyen varios esquemas del mismo tipo en un proyecto, se reducirá el rendimiento. 

Gracias a la división de documentos y la correspondencia de varios esquemas, BDA puede gestionar con mayor flexibilidad conjuntos de documentos variados y, al mismo tiempo, aplicar la lógica de extracción más adecuada a cada documento.

# Desactivación de modalidades y enrutamiento de tipos de archivos
<a name="bda-routing-enablement"></a>

De forma predeterminada, los proyectos de BDA procesan los tipos de archivos compatibles, clasificándolos según diferentes modalidades semánticas. Al crear o editar su proyecto, puede modificar las modalidades que se van a procesar y los tipos de archivos que se van a enviar a cada modalidad. En esta sección, analizaremos la activación y desactivación de diferentes modalidades, el enrutamiento de los archivos a modalidades específicas y el procedimiento de enrutamiento predeterminado de BDA.

## Desactivación del procesamiento de modalidades
<a name="bda-modality-enablement"></a>

Al crear un proyecto, es posible que tenga un caso de uso que no incluya el procesamiento de todo tipo de archivos. Por ejemplo, es posible que desee procesar solo documentos y archivos de audio. Si ese es el caso, no querrá que BDA envíe un JPEG para MP4 procesarlo como imagen o como vídeo. La habilitación de modalidades le permite desactivar determinadas modalidades en un proyecto, seleccionando las respuestas del procesamiento de BDA.

**Desactivación de las modalidades con la consola de BDA**  
Cuando se utiliza la consola de BDA, la activación de las modalidades se realiza mediante una lista de verificación, en la que puede simplemente seleccionar o cancelar la selección de cada modalidad mientras edita o crea su proyecto. Estas opciones se encuentran en la pestaña Configuración avanzada. Debe seleccionarse al menos una modalidad para un proyecto.

![\[Modality enablement options with checkboxes for document, image, video, and audio.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/modalityenableconsole.png)


**Desactivación de las modalidades con la API de BDA**  
Cuando se utiliza la API de BDA, la habilitación de modalidades se realiza mediante el elemento de solicitud `overrideConfiguration`, ubicado en la operación `CreateDataAutomation`. Cada modalidad tiene una sección asociada en la que puede declarar la modalidad `ENABLED` o `DISABLED`. A continuación, se muestra un ejemplo del elemento `overrideConfiguration` en el que solo están habilitadas las modalidades de documento y audio. De forma predeterminada, la marca `modalityProcessing` tiene el valor `ENABLED`.

```
"overrideConfiguration" : {
    "document": {
        "splitter": {
            "state": ENABLED
        },
        "modalityProcessing": {
            "state": ENABLED
        },
    },
    "image": {
        "modalityProcessing": {
            "state": DISABLED
        }
    },
    "video": {
        "modalityProcessing": {
            "state": DISABLED 
        }
    },
    "audio": {
        "modalityProcessing": {
            "state": ENABLED
        }
    },
    ...
}
```

Los puntos suspensivos al final de esta sección indican la eliminación del elemento `modalityRouting`, algo que analizaremos con más detalle en la siguiente sección.

## Enrutamiento de archivos a determinados tipos de procesamiento
<a name="bda-modality-routing"></a>

Ciertos tipos de archivos se pueden enrutar a diferentes modalidades, en función de una serie de factores. Con el enrutamiento por modalidad, puede configurar ciertos tipos de archivos para que se enruten manualmente a cierta modalidad de procesamiento. JPEGs y se PNGs puede enrutar al procesamiento de documentos o imágenes. MP4s y se MOVs puede enrutar al procesamiento de vídeo o audio.

**Enrutamiento con la consola de BDA**  
En la pestaña Configuración avanzada, al crear o editar un esquema, puede decidir añadir una nueva modalidad de enrutamiento manual. Esto le permite seleccionar uno de los cuatro tipos de archivos disponibles y, a continuación, a qué modalidad de procesamiento se enrutarán. A continuación, se muestra una captura de pantalla de la consola, con una modalidad de enrutamiento manual que envía los archivos PNG a la modalidad de procesamiento de documentos.

**nota**  
La configuración de los archivos JPEG se aplica tanto a los archivos “.jpeg” como a los “.jpg”. Los ajustes de MP4 configuración se aplican a los archivos «.mp4" y «.m4v».

![\[Imagen de la consola de AWS que muestra un par de menús desplegables etiquetados como tipo de archivo y destino de modalidad, seleccionados como PNG y Documento.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/manualrouting.png)


**Enrutamiento con la API de BDA**  
Al igual que la habilitación de modalidad, el enrutamiento de modalidades se realiza a través del elemento de solicitud `overrideConfiguration`. A continuación, se muestra un ejemplo de la parte `modalityRouting` de `overrideConfiguration`. En este ejemplo se supone que todas las modalidades están habilitadas y se redirigen los archivos JPEG y PNG a la modalidad de documento MP4 y los archivos MOV a la modalidad de audio.

```
...
   "modalityRouting": {
        "jpeg": DOCUMENT, 
        "png": DOCUMENT,  
        "mp4": AUDIO,     
        "mov": AUDIO      
    }
}
```

Los puntos suspensivos que aparecen al principio del ejemplo indican que se ha eliminado el resto de `overrideConfiguration`, que veremos con más detalle en la sección sobre la habilitación de modalidades y la funcionalidad de división de documentos.

## Enrutamiento estándar para la API InvokeDataAutomationAsync
<a name="bda-standard-routing-async"></a>

Si no configura sus propios procedimientos de enrutamiento, BDA utiliza un conjunto estándar de procedimientos basados en el tipo de archivo para determinar a qué modalidad enrutará. En la tabla siguiente se muestran los procedimientos predeterminados.

PNGs y JPEGs enumerar Semantic Classifer como comportamiento predeterminado. Esto significa que BDA analizará los indicadores de si el archivo enviado es o no una imagen o un documento utilizando modelos internos y realizará el enrutamiento automáticamente.


| Tipos de archivos | Comportamiento de enrutamiento predeterminado | 
| --- | --- | 
|  PNG  |  Clasificador semántico; imagen o documento  | 
|  JPEG  |  Clasificador semántico; imagen o documento  | 
|  PDF, TIFF  |  Documento  | 
|  MP4, MOV  |  Video  | 
|  AMR, FLAC, M4A, OGG, WEBM MP3, WAV  |  Audio  | 

## InvokeDataAutomation Enrutamiento estándar para la API
<a name="bda-standard-routing-sync"></a>

La [InvokeDataAutomation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomation.html)API también analizará los indicadores de si el archivo PNG o JPEG enviado es o no una imagen o un documento utilizando modelos internos y realizará el enrutamiento automáticamente. En la tabla siguiente se muestran los procedimientos predeterminados.

PNGs e JPEGs incluye el clasificador semántico como comportamiento predeterminado. Esto significa que BDA analizará los indicadores de si el archivo enviado es o no una imagen o un documento utilizando modelos internos y realizará el enrutamiento automáticamente. Los archivos PDF y TIFF se enviarán a la modalidad de documentos para su procesamiento. InvokeDataAutomation Actualmente, la API no admite archivos de audio y vídeo.


| Tipos de archivos | Comportamiento de enrutamiento predeterminado | 
| --- | --- | 
|  PNG  |  Clasificador semántico; imagen o documento  | 
|  JPEG  |  Clasificador semántico; imagen o documento  | 
|  PDF, TIFF  |  Documento  | 

# Compatibilidad con varias regiones requerida para Automatización de Datos de Bedrock
<a name="bda-cris"></a>

BDA requiere que los usuarios utilicen la compatibilidad con la inferencia entre regiones al procesar los archivos. Con la inferencia entre regiones, Automatización de Datos de Amazon Bedrock seleccionará automáticamente la región óptima de su zona geográfica (tal y como se muestra en la tabla a continuación) para procesar su solicitud de inferencia, con el fin de maximizar los recursos de computación disponibles y la disponibilidad del modelo, además de ofrecer la mejor experiencia de cliente. El uso de la inferencia entre regiones no conlleva ningún costo adicional. Las solicitudes de inferencia entre regiones se mantienen dentro de las Regiones de AWS que forman parte de la zona geográfica en la que se encuentran originalmente los datos. Por ejemplo, una solicitud realizada en EE. UU. se mantiene dentro de las Regiones de AWS de EE. UU. Aunque los datos solo permanecen almacenados en la región de origen, cuando utiliza la inferencia entre regiones, las solicitudes de entrada y los resultados de salida pueden llevarse fuera de la región principal. Todos los datos se transmitirán cifrados a través de la red segura de Amazon. 

La siguiente tabla incluye los ARN de los diferentes perfiles de inferencia. Sustituya el identificador de cuenta por el identificador de cuenta que está utilizando.


| Región de origen | nombre de recurso de Amazon (ARN) | Regiones admitidas | 
| --- | --- | --- | 
|  Este de EE. UU. (Norte de Virginia)  |  arn:aws:bedrock:us-east-1:*id. de cuenta*:data-automation-profile/us.data-automation-v1  |  us-east-1 us-east-2 us-west-1 us-west-2  | 
|  Oeste de EE. UU. (Oregón)  |  arn:aws:bedrock:us-west-2:*id. de cuenta*:data-automation-profile/us.data-automation-v1  |  us-east-1 us-east-2 us-west-1 us-west-2  | 
|  Europa (Fráncfort)  |  arn:aws:bedrock:eu-central-1:*id. de cuenta*:data-automation-profile/eu.data-automation-v1  |  eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3  | 
|  Europa (Irlanda)  |  arn:aws:bedrock:eu-west-1:*id. de cuenta*:data-automation-profile/eu.data-automation-v1  |  eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3  | 
|  Europa (Londres)  |  arn:aws:bedrock:eu-west-2:*id. de cuenta*:data-automation-profile/eu.data-automation-v1  |  eu-west-2  | 
|  Asia-Pacífico (Mumbai)  |  arn:aws:bedrock:ap-south-1:*id. de cuenta*:data-automation-profile/apac.data-automation-v1  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 ap-southeast-4  | 
|  Asia-Pacífico (Sídney)  |  arn:aws:bedrock:ap-southeast-2:*id. de cuenta*:data-automation-profile/apac.data-automation-v1  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 ap-southeast-4  | 
|  AWS GovCloud (Oeste de EE. UU.)  |  arn:aws:bedrock:gov-cloud:*id. de cuenta*:data-automation-profile/us-gov.data-automation-v1  |  us-gov-west-1  | 

A continuación, se muestra un ejemplo de política de IAM para procesar documentos con CRIS activado para `us-east-1` o `us-west-2`.

```
{"Effect": "Allow",
 "Action": ["bedrock:InvokeDataAutomationAsync"],
 "Resource": [
  "arn:aws:bedrock:us-east-1:account_id:data-automation-profile/us.data-automation-v1",
  "arn:aws:bedrock:us-east-2:account_id:data-automation-profile/us.data-automation-v1",
  "arn:aws:bedrock:us-west-1:account_id:data-automation-profile/us.data-automation-v1",
  "arn:aws:bedrock:us-west-2:account_id:data-automation-profile/us.data-automation-v1"]}
```

# Salida estándar en Automatización de Datos de Bedrock
<a name="bda-standard-output"></a>

La salida estándar es la forma predeterminada de interactuar con la automatización de Amazon Bedrock datos (BDA). Si pasa un documento a la API de BDA sin un esquema o proyecto establecido, se devolverá la salida estándar predeterminada para ese tipo de archivo. La salida estándar se puede modificar mediante proyectos, que almacenan información de configuración para cada tipo de datos. Puede tener una configuración de salida estándar por tipo de datos para cada proyecto. BDA siempre proporciona una respuesta de salida estándar, incluso si va acompañada de una respuesta de salida personalizada.

Cada tipo de datos tiene diferentes opciones de salida estándar. Algunas de estas opciones forman parte de la respuesta predeterminada de Automatización de Datos de Bedrock, mientras que otras solo existen como opciones para trabajar con el tipo de datos de un proyecto. En las siguientes secciones se analizan las opciones de respuesta únicas de cada tipo de datos y se indican cuáles son las predeterminadas y cuáles son opcionales.

# Documentos de
<a name="bda-output-documents"></a>

La salida estándar de documentos le permite establecer la granularidad de la respuesta que le interesa, así como establecer el formato de salida y el formato de texto en la salida. A continuación, se muestran algunas de las salidas que puede activar.

**nota**  
BDA puede procesar archivos DOCX. Para procesar archivos DOCX, se convierten en PDFs. Esto significa que la asignación de números de página no funcionará para los archivos DOCX. Si selecciona la opción JSON\$1 y la granularidad de la página, las imágenes convertidas PDFs se cargarán en el depósito de salida.

## Granularidad de la respuesta
<a name="document-granularity"></a>

La granularidad de la respuesta determina qué tipo de respuesta desea recibir al extraer el texto del documento. Cada nivel de granularidad proporciona respuestas cada vez más separadas: la granularidad de página proporciona todo el texto extraído junto y la granularidad de palabra proporciona cada palabra como una respuesta independiente. Los niveles de granularidad disponibles son:
+ Granularidad de nivel de página: está habilitada de forma predeterminada. La granularidad de nivel de página proporciona cada página del documento en el formato de salida de texto que elija. Si está procesando un PDF, al habilitar este nivel de granularidad, se detectarán y devolverán los hipervínculos incrustados.
+ Granularidad de nivel de elemento (diseño): está habilitada de forma predeterminada. Proporciona el texto del documento en el formato de salida que elija, separado en diferentes elementos. Estos elementos pueden ser figuras, tablas o párrafos. Se devuelven en un orden de lectura lógico en función de la estructura del documento. Si está procesando un PDF, al habilitar este nivel de granularidad, se detectarán y devolverán los hipervínculos incrustados.
+ Granularidad de nivel de palabra: proporciona información sobre palabras individuales sin utilizar un análisis de contexto más amplio. Proporciona cada palabra y su ubicación en la página.

## Configuración de salida
<a name="document-output-settings"></a>

La configuración de salida determina la forma en que se estructurarán los resultados descargados. Esta configuración es exclusiva de la consola. Las opciones de configuración de salida son:
+ JSON: la estructura de salida predeterminada para el análisis de documentos. Proporciona un archivo de salida JSON con la información de los ajustes de configuración.
  + API asíncrona: la salida de JSON para la [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html)API asíncrona es solo S3.
  + [InvokeDataAutomation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomation.html)API de sincronización: la salida de JSON se puede configurar en S3 o en línea mediante el aprovechamiento. `outputconfiguration` Si se selecciona S3, el JSON de salida solo va a S3 (no en línea). Si no se proporciona S3, la salida de la API de sincronización solo admite JSON en línea.
+ Archivos JSON\$1: solo están disponibles para la API asíncrona. [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html) El uso de esta configuración genera una salida JSON y archivos que se corresponden con diferentes salidas. Por ejemplo, esta configuración proporciona un archivo de texto para la extracción general del texto, un archivo de marcado para el texto con marcado estructural y archivos CSV para cada tabla que se encuentre en el texto. Las figuras ubicadas dentro de un documento se guardarán, así como los recortes de figuras y las imágenes rectificadas. Además, si está procesando un archivo DOCX y tiene seleccionada esta opción, el PDF convertido del archivo DOCX estará en la carpeta de salida. Estas salidas se encuentran en `standard_output/logical_doc_id/assets/` en la carpeta de salida.

**nota**  
La API de sincronización no genera ningún archivo adicional aparte del JSON. El JSON de salida contiene solo el formato de texto que se seleccionó como parte del formato de texto de salida estándar. La API de sincronización no generará recortes de figuras ni imágenes rectificadas.
La API de sincronización no admite DocX.

## Formato de texto
<a name="document-text-format"></a>

El formato de texto determina los diferentes tipos de textos que se proporcionarán mediante las diversas operaciones de extracción. Puede seleccionar cualquier número de las siguientes opciones para el formato de texto.
+ Texto sin formato: esta configuración proporciona una salida de solo texto sin incluir ningún elemento de formato o de marcado.
+ Texto con marcado: la configuración de salida predeterminada para la salida estándar. Proporciona texto con elementos de marcado integrados.
+ Texto con HTML: proporciona texto con elementos HTML integrados en la respuesta.
+ CSV: proporciona una salida estructurada en CSV para las tablas del documento. Esto solo dará una respuesta para las tablas y no para otros elementos del documento.

## Cuadros delimitadores y campos generativos
<a name="additional-response-document"></a>

Para los documentos, hay dos opciones de respuesta que cambian su salida en función de la granularidad seleccionada. Son los cuadros delimitadores y los campos generativos. Si selecciona los cuadros delimitadores, obtendrá un esquema visual del elemento o la palabra en la que haya hecho clic en el menú desplegable de respuesta de la consola. Esto le permite localizar con mayor facilidad determinados elementos de su respuesta. Los cuadros delimitadores se muestran en el JSON como las coordenadas de las cuatro esquinas del cuadro.

Al seleccionar los campos generativos, se genera un resumen del documento, tanto en versión de 10 palabras como de 250 palabras. A continuación, si selecciona elementos como una granularidad de respuesta, generará un título descriptivo de cada figura detectada en el documento. Las figuras incluyen elementos como tablas, gráficos e imágenes.

------
#### [ Async ]

Esta sección se centra en los diferentes objetos de respuesta que se reciben al ejecutar la operación de la API InvokeDataAutomationAsync en un archivo de documento. A continuación, desglosaremos cada sección del objeto de respuesta y, después, veremos una respuesta rellena completa para un documento de ejemplo. La primera sección que recibiremos es `metadata`.

```
"metadata":{
   "logical_subdocument_id":"XXXX-XXXX-XXXX-XXXX",
   "semantic_modality":"DOCUMENT",
   "s3_bucket":"bucket",
   "s3_prefix":"prefix"
},
```

La primera sección anterior proporciona información general sobre los metadatos asociados al documento. Junto con la información de S3, en esta sección también se indica qué modalidad se seleccionó para la respuesta.

```
"document":{
   "representation":{
      "text":"document text",
      "html":"document title document content",
      "markdown":"# text"
   },
   "description":"document text",
   "summary":"summary text",
   "statistics":{
      "element_count":5,
      "table_count":1,
      "figure_count":1,
      "word_count":1000,
      "line_count":32
   }
},
```

La sección anterior proporciona información de granularidad de nivel de documento. Las secciones de descripción y resumen son los campos generados en función del documento. La sección de representación proporciona el contenido real del documento con varios estilos de formato. Por último, las estadísticas contienen información sobre el contenido real del documento, como cuántos elementos semánticos hay, cuántas figuras, palabras, líneas, etc.

Esta es la información de una entidad de tabla. En el caso de las solicitudes InvokeDataAutomationAsync (asíncronas), además de la información de ubicación, los diferentes formatos del texto, las tablas y el orden de lectura, devuelven específicamente información csv e imágenes recortadas de la tabla en cubos de S3. La información del CSV muestra los distintos encabezados, pies de página y títulos. Las imágenes se enviarán al compartimento s3 del prefijo establecido en la solicitud. InvokeDataAutomationAsync Para la solicitud InvokeDataAutomation (de sincronización), no se admiten los archivos csv ni la imagen recortada de la tabla en los cubos S3.

Al procesar un PDF, la sección de estadísticas de la respuesta también incluirá `hyperlinks_count`, que indica cuántos hipervínculos hay en el documento.

```
{
   "id":"entity_id",
   "type":"TEXT",
   "representation":{
      "text":"document text",
      "html":"document title document content",
      "markdown":"# text"
   },
   "reading_order":2,
   "page_indices":[
      0
   ],
   "locations":[
      {
         "page_index":0,
         "bounding_box":{
            "left":0.0,
            "top":0.0,
            "width":0.05,
            "height":0.5
         }
      }
   ],
   "sub_type":"TITLE/SECTION_TITLE/HEADER/FOOTER/PARAGRAPH/LIST/PAGE_NUMBER"
},
```

Esta es la entidad que se utiliza para el texto de un documento y se indica mediante la línea `TYPE` de la respuesta. De nuevo, la representación muestra el texto en diferentes formatos. `reading_order` muestra cuándo un lector vería lógicamente el texto. Se trata de un orden semántico basado en las claves y valores asociados. Por ejemplo, asocia los títulos de los párrafos con sus respectivos párrafos en orden de lectura. `page_indices` indica en qué páginas se encuentra el texto. A continuación está la información de ubicación, con un cuadro delimitador de texto si se activó en la respuesta. Por último, tenemos el subtipo de entidad. Este subtipo proporciona información más detallada sobre el tipo de texto que se está detectando. Para ver una lista completa, consulte la Referencia de la API.

```
{
   "id":"entity_id",
   "type":"TABLE",
   "representation":{
      "html":"table.../table",
      "markdown":"| header | ...",
      "text":"header \t header",
      "csv":"header, header, header\n..."
   },
   "csv_s3_uri":"s3://",
   "headers":[
      "date",
      "amount",
      "description",
      "total"
   ],
   "reading_order":3,
   "title":"Title of the table",
   "footers":[
      "the footers of the table"
   ],
   "crop_images":[
      "s3://bucket/prefix.png",
      "s3://bucket/prefix.png"
   ],
   "page_indices":[
      0,
      1
   ],
   "locations":[
      {
         "page_index":0,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      },
      {
         "page_index":1,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      }
   ],
   "sub_type":"TITLE/SECTION_TITLE/HEADER/FOOTER/PARAGRAPH/LIST/PAGE_NUMBER"
},
```

Esta es la información de una entidad de tabla. Además de la información de ubicación, los diferentes formatos del texto, las tablas y el orden de lectura, devuelven específicamente información del CSV y las imágenes recortadas de la tabla en buckets de S3. La información del CSV muestra los distintos encabezados, pies de página y títulos. Las imágenes se enviarán al compartimento s3 del prefijo establecido en la solicitud. InvokeDataAutomation 

```
{

   "id":"entity_id",

   "type":"FIGURE",

   "summary":"",

   "representation":{

      "text":"document text",

      "html":"document title document content",

      "markdown":"# text"

   },

   "crop_images":[

      "s3://bucket/prefix.png",

      "s3://bucket/prefix.png"

   ],

   "locations":[

      {

         "page_index":0,

         "bounding_box":{

            "left":0,

            "top":0,

            "width":1,

            "height":1

         }

      }

   ],

   "sub_type":"CHART",

   "title":"figure title",

   "rai_flag":"APPROVED/REDACTED/REJECTED",

   "reading_order":1,

   "page_indices":[

      0

   ]

}
,
```

Esta es la entidad que se utiliza para las figuras, por ejemplo, en los gráficos y tablas de documentos. Al igual que en las tablas, estas figuras se recortarán y las imágenes se enviarán al bucket de s3 establecido en el prefijo. Además, recibirá un `sub_type` y una respuesta con el título de la figura para el texto del título, y una indicación del tipo de figura que es.

```
"pages":[
   {
      "id":"page_id",
      "page_index":0,
      "detected_page_number":1,
      "representation":{
         "text":"document text",
         "html":"document title document content",
         "markdown":"# text"
      },
      "statistics":{
         "element_count":5,
         "table_count":1,
         "figure_count":1,
         "word_count":1000,
         "line_count":32
      },
      "asset_metadata":{
         "rectified_image":"s3://bucket/prefix.png",
         "rectified_image_width_pixels":1700,
         "rectified_image_height_pixels":2200
      }
   }
],
```

La última de las entidades que extraemos mediante la salida estándar son las páginas. Las páginas son iguales que las entidades de texto, pero además incluyen números de página, que indican el número detectado en cada una de ellas.

```
"text_lines":[
   {
      "id":"line_id",
      "text":"line text",
      "reading_order":1,
      "page_index":0,
      "locations":{
         "page_index":0,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      }
   }
],
```

```
"text_words":[
   {
      "id":"word_id",
      "text":"word text",
      "line_id":"line_id",
      "reading_order":1,
      "page_index":0,
      "locations":{
         "page_index":0,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      }
   }
]
```

Estos dos últimos elementos son para partes de texto individuales. La granularidad de nivel de palabra devuelve una respuesta para cada palabra, mientras que el resultado predeterminado solo muestra líneas de texto.

------
#### [ Sync ]

Esta sección se centra en los diferentes objetos de respuesta que se reciben al ejecutar la operación de la API InvokeDataAutomation en un archivo de documento. A continuación, desglosaremos cada sección del objeto de respuesta y, después, veremos una respuesta rellena completa para un documento de ejemplo. La primera sección que recibiremos es `metadata`.

```
            "metadata": {
                "logical_subdocument_id": "1",
                "semantic_modality": "DOCUMENT",
                "number_of_pages": X,
                "start_page_index": "1",
                "end_page_index": X,
                "file_type": "PDF"
            },
```

La primera sección anterior proporciona información general sobre los metadatos asociados al documento. Como la InvokeDataAutomation API sincrónica no admite actualmente la división de documentos, logical\$1subdocument\$1id siempre es igual a 1.

```
"document":{
   "representation":{
      "text":"document text",
      "html":"document title document content",
      "markdown":"# text"
   },
   "description":"document text",
   "summary":"summary text",
   "statistics":{
      "element_count":5,
      "table_count":1,
      "figure_count":1,
      "word_count":1000,
      "line_count":32
   }
},
```

La sección anterior proporciona información de granularidad de nivel de documento. Las secciones de descripción y resumen son los campos generados en función del documento. La sección de representación proporciona el contenido real del documento con varios estilos de formato. Por último, las estadísticas contienen información sobre el contenido real del documento, como cuántos elementos semánticos hay, cuántas figuras, palabras, líneas, etc.

Nota: A diferencia de la solicitud asíncrona, la InvokeDataAutomationAsync InvokeDataAutomation solicitud sincrónica no admite la devolución de información csv ni de imágenes recortadas de la tabla en depósitos de S3. 

```
{
"id":"entity_id",
   "type":"TEXT",
   "representation":{
"text":"document text",
      "html":"document title document content",
      "markdown":"# text"
   },
   "reading_order":2,
   "page_indices":[
      0
   ],
   "locations":[
      {
"page_index":0,
         "bounding_box":{
"left":0.0,
            "top":0.0,
            "width":0.05,
            "height":0.5
         }
      }
   ],
   "sub_type":"TITLE/SECTION_TITLE/HEADER/FOOTER/PARAGRAPH/LIST/PAGE_NUMBER"
},
```

 Esta es la entidad que se utiliza para el texto de un documento y se indica con la línea TYPE en la respuesta. Una vez más, la representación muestra el texto en diferentes formatos. reading\$1order muestra cuándo un lector vería el texto de forma lógica. Se trata de un orden semántico basado en las claves y valores asociados. Por ejemplo, asocia los títulos de los párrafos a sus párrafos respectivos en orden de lectura. page\$1indices indica en qué páginas se encuentra el texto. A continuación está la información de ubicación, con un cuadro delimitador de texto si se activó en la respuesta. Por último, tenemos el subtipo de entidad. Este subtipo proporciona información más detallada sobre el tipo de texto que se está detectando. Para ver una lista completa, consulte la Referencia de la API. 

```
{
    "id": "entity_id",
    "type": "TABLE",
    "representation": {
        "html": "table.../table",
        "markdown": "| header | ...",
        "text": "header \t header",
        "csv": "header, header, header\n..."
    },
    "headers": ["date", "amount", "description", "total"],
    "reading_order": 3,
    "title": "Title of the table",
    "footers": ["the footers of the table"],
    "page_indices": [0, 1],
    "locations": [{
        "page_index": 0,
        "bounding_box": {
            "left": 0,
            "top": 0,
            "width": 1,
            "height": 1
        }
    }, {
        "page_index": 1,
        "bounding_box": {
            "left": 0,
            "top": 0,
            "width": 1,
            "height": 1
        }
    }]
},
```

Esta es la información de una entidad de tabla. La información del CSV muestra los distintos encabezados, pies de página y títulos. 

```
{

    "id": "entity_id",
    "type": "FIGURE",
    "summary": "",
    "representation": {
        "text": "document text",
        "html": "document title document content",
        "markdown": "# text"
    },

    "locations": [

        {
            "page_index": 0,
            "bounding_box": {
                "left": 0,
                "top": 0,
                "width": 1,
                "height": 1
            }
        }
    ],

    "sub_type": "CHART",
    "title": "figure title",
    "reading_order": 1,
    "page_indices": [
        0
    ]
},
​
```

Esta es la entidad que se utiliza para las figuras, por ejemplo, en los gráficos y tablas de documentos. Recibirás una `sub_type` respuesta con un título figurativo para el texto del título y una indicación de qué tipo de figura se trata.

```
"pages":[
   "pages":[
   {
"id":"page_id",
      "page_index":0,
      "detected_page_number":1,
      "representation":{
"text":"document text",
         "html":"document title document content",
         "markdown":"# text"
      },
      "statistics":{
"element_count":5,
         "table_count":1,
         "figure_count":1,
         "word_count":1000,
         "line_count":32
      },
      "asset_metadata":{
"rectified_image":"s3://bucket/prefix.png",
         "rectified_image_width_pixels":1700,
         "rectified_image_height_pixels":2200
      }
   }
],
```

La última de las entidades que extraemos mediante la salida estándar son las páginas. Las páginas son iguales que las entidades de texto, pero además incluyen números de página, que indican el número detectado en cada una de ellas.

```
"text_lines":[
   {
      "id":"line_id",
      "text":"line text",
      "reading_order":1,
      "page_index":0,
      "locations":{
         "page_index":0,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      }
   }
],
```

```
"text_words":[
   {
      "id":"word_id",
      "text":"word text",
      "line_id":"line_id",
      "reading_order":1,
      "page_index":0,
      "locations":{
         "page_index":0,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      }
   }
]
```

Estos dos últimos elementos son para partes de texto individuales. La granularidad de nivel de palabra devuelve una respuesta para cada palabra, mientras que el resultado predeterminado solo muestra líneas de texto.

------

## JSON de metadatos de formato de archivos adicionales
<a name="output-json-plus"></a>

Cuando recibas los archivos adicionales de la marca de formatos de archivo adicionales, recibirás un archivo JSON para las imágenes rectificadas que se extraigan. BDA rectifica las imágenes giradas utilizando una homografía para rotar la imagen en un ángulo de 90 grados. A continuación se muestra un ejemplo del JSON:

```
        "asset_metadata": {
            "rectified_image": "s3://bucket/prefix.png",
            "rectified_image_width_pixels": 1700,
            "rectified_image_height_pixels": 2200,
            "corners": [
                [
                    0.006980135689736235,
                    -0.061692718505859376
                ],
                [
                    1.10847711439684,
                    0.00673927116394043
                ],
                [
                    0.994479346419327,
                    1.050548828125
                ],
                [
                    -0.11249661383904497,
                    0.9942819010416667
                ]
            ]
        }
```

Las esquinas representan las esquinas detectadas de una imagen y se utilizan para formar una homografía del documento. Esta homografía se utiliza para rotar la imagen manteniendo sus otras propiedades.

# Imágenes
<a name="bda-ouput-image"></a>

La característica de Automatización de Datos de Amazon Bedrock (BDA) ofrece un conjunto completo de resultados estándar para el procesamiento de imágenes a fin de generar información a partir de sus imágenes. Puede utilizar esta información para permitir una amplia variedad de aplicaciones y casos de uso, como la detección de contenido, la colocación de anuncios contextuales y la seguridad de la marca. Esta es una descripción general de cada tipo de operación disponible como parte de las salidas estándar para las imágenes:

## Resumen de la imagen
<a name="image-summarization"></a>

El resumen de la imagen genera un título descriptivo para una imagen. Esta característica está habilitada de forma predeterminada en la configuración de salida estándar.

## Taxonomía de IAB
<a name="iab-classification"></a>

La clasificación de Interactive Advertising Bureau (IAB) aplica una taxonomía publicitaria estándar para clasificar el contenido de las imágenes. En la versión preliminar, BDA admitirá 24 categorías de nivel superior (L1) y 85 categorías de segundo nivel (L2). Para descargar la lista de categorías de IAB compatibles con BDA, haga clic [aquí](samples/iab-taxonomy.zip).

## Detección de logotipos
<a name="image-logo-detection"></a>

Esta característica identifica los logotipos de una imagen y proporciona información sobre el cuadro delimitador, que indica las coordenadas de cada logotipo detectado en la imagen y las puntuaciones de confianza. Esta característica no está habilitada de forma predeterminada.

## Detección del texto de la imagen
<a name="image-text-detection"></a>

Esta característica detecta y extrae el texto que aparece visualmente en una imagen y proporciona información sobre el cuadro delimitador, que indica las coordenadas de cada elemento de texto detectado en la imagen y las puntuaciones de confianza. Esta característica está habilitada de forma predeterminada en la configuración de salida estándar.

## Moderación de contenido
<a name="content-moderation"></a>

La moderación de contenido detecta contenido inapropiado, no deseado u ofensivo en una imagen. En la versión preliminar, BDA admitirá siete categorías de moderación: desnudez explícita y no explícita de partes íntimas y besos, trajes de baño o ropa interior, violencia, drogas y tabaco, alcohol y señales de odio. El texto explícito de las imágenes no se marca.

 Los cuadros delimitadores y las puntuaciones de confianza asociadas se pueden activar o desactivar para las características pertinentes, como la detección de texto, a fin de proporcionar las coordenadas de ubicación en la imagen. De forma predeterminada, el resumen de la imagen y la detección del texto de la imagen están habilitados. 

## Salida estándar de imagen
<a name="image-standard-output-example"></a>

A continuación se muestra un ejemplo de una salida estándar para una imagen procesada a través de BDA. Cada sección se ha abreviado y separado con una explicación.

```
{
"metadata": {
    "id": "image_123",
    "semantic_modality": "IMAGE",
    "s3_bucket": "my-s3-bucket",
    "s3_prefix": "images/",
    "image_width_pixels": 1920,
    "image_height_pixels": 1080,
    "color_depth": 24,
    "image_encoding": "JPEG"
},
```

La primera parte de una respuesta son los metadatos de una imagen. Proporciona el nombre del archivo, el tipo de codificación, la ubicación del bucket de s3 y más información sobre el contenido.

```
"image": {
    "summary": "Lively party scene with decorations and supplies",
```

Al principio de la respuesta está el resumen generativo de la imagen.

```
    "iab_categories": [
        {
            "id": "iab_12345",
            "type": "IAB",
            "category": "Party Supplies",
            "confidence": 0.9,
            "parent_name": "Events & Attractions",
            "taxonomy_level": 2
        },
        {
            "id": "iab_67890",
            "type": "IAB",
            "category": "Decorations",
            "confidence": 0.8,
            "parent_name": "Events & Attractions",
            "taxonomy_level": 1
        }
    ],
```

A continuación, vemos las categorías de IAB adjuntas a una respuesta. Representan diferentes tipos de clasificaciones de publicidad, utilizando la taxonomía estándar de IAB. Cada una de ellas tiene una puntuación de confianza, un taxonomy\$1level y un parent\$1name para la categoría general de alto nivel.

```
    "content_moderation": [
        {
            "id": "mod_12345",
            "type": "MODERATION",
            "category": "Drugs & Tobacco Paraphernalia & Use",
            "confidence": 0.7,
            "parent_name": "Drugs & Tobacco",
            "taxonomy_level": 2
        }
    ], 
    ...
```

La moderación de contenido contiene información sobre el posible contenido explícito de una imagen. Cada una de ellas tiene una puntuación de confianza y una categoría, que se corresponden con las categorías de moderación de contenido analizadas anteriormente en esta sección.

```
    "text_words": [
        {
            "id": "word_1",
            "text": "lively",
            "confidence": 0.9,
            "line_id": "line_1",
            "locations": [
                {
                    "bounding_box": {
                        "left": 100,
                        "top": 200,
                        "width": 50,
                        "height": 20
                    },
                    "polygon": [
                        {"x": 100, "y": 200},
                        {"x": 150, "y": 200},
                        {"x": 150, "y": 220},
                        {"x": 100, "y": 220}
                    ]
                }
            ]
        },
        ...
```

En esta sección se desglosan las palabras detectadas en una imagen, incluidas la confianza y la ubicación en pantalla dentro de la imagen. También marca la línea en la que se encuentra la palabra, utilizando `line_id`.

```
    "text_lines": [
        {
            "id": "line_1",
            "text": "lively party",
            "confidence": 0.9,
            "locations": [
                {
                    "bounding_box": {
                        "left": 100,
                        "top": 200,
                        "width": 200,
                        "height": 20
                    },
                    "polygon": [
                        {"x": 100, "y": 200},
                        {"x": 300, "y": 200},
                        {"x": 300, "y": 220},
                        {"x": 100, "y": 220}
                    ]
                }
            ]
        }
    ]
},
```

Aquí, las palabras se detectan en sus líneas agrupadas, con una puntuación de confianza y un cuadro delimitador. 

```
"statistics": {
    "entity_count": 7,
    "object_count": 3,
    "line_count": 2,
    "word_count": 9
}
}
```

Por último, tenemos las estadísticas. Estas desglosan todo el contenido de una imagen, incluido el objeto

# Videos
<a name="bda-ouput-video"></a>

BDA ofrece un conjunto de salidas estándar para procesar y generar información para los vídeos. A continuación, se ofrece un análisis detallado de cada tipo de operación:

## Resumen completo del vídeo
<a name="video-summarization"></a>

El resumen completo del vídeo genera un resumen general de todo el vídeo. Extrae los temas, eventos e información clave presentados a lo largo del vídeo y los resume de forma concisa. El resumen completo de vídeo está optimizado para el contenido con diálogos descriptivos, como descripciones generales de los productos, cursos de formación, noticias, programas de entrevistas y documentales. En los resúmenes completos de vídeo y en los resúmenes de las escenas, BDA intentará dar un nombre único a cada interlocutor basándose en las señales de audio (por ejemplo, el interlocutor se presenta) o en las señales visuales (por ejemplo, una diapositiva de presentación muestra el nombre del interlocutor). Cuando el nombre de un interlocutor no se resuelva, se representará con un número único (por ejemplo, speaker\$10).

## Resúmenes de capítulos
<a name="video-scene-summarization"></a>

El resumen de los capítulos de vídeo proporciona resúmenes descriptivos de las escenas individuales de un vídeo. Un capítulo de vídeo es una secuencia de tomas que forman una unidad coherente de acción o narrativa dentro del vídeo. Esta característica divide el vídeo en segmentos significativos en función de señales visuales y audibles, proporciona marcas de tiempo para esos segmentos y resume cada uno de ellos. 

## Taxonomía de IAB
<a name="video-iab-classification"></a>

La clasificación de Interactive Advertising Bureau (IAB) aplica una taxonomía publicitaria estándar para clasificar las escenas de vídeo en función de los elementos visuales y sonoros. En la versión preliminar, BDA admitirá 24 categorías de nivel superior (L1) y 85 categorías de segundo nivel (L2). Para descargar la lista de categorías de IAB compatibles con BDA, haga clic [aquí](samples/iab-taxonomy.zip).

## Transcripción completa del audio
<a name="full-audio-transcript"></a>

La característica de transcripción completa del audio proporciona una representación textual completa de todo el discurso del archivo de audio. Utiliza tecnología avanzada de reconocimiento de voz para transcribir con precisión el diálogo, la narración y otros elementos de audio. La transcripción incluye la identificación del interlocutor, lo que facilita la navegación y la búsqueda en el contenido de audio en función del interlocutor.

## Texto en vídeo
<a name="text-in-video"></a>

Esta característica detecta y extrae el texto que aparece visualmente en el vídeo. Puede identificar tanto el texto estático (como los títulos o los subtítulos) como el texto dinámico (como el texto en movimiento de los gráficos). Al igual que la detección de texto en imágenes, proporciona información sobre los cuadros delimitadores para cada elemento de texto detectado, lo que permite una localización precisa dentro de los fotogramas de vídeo.

## Detección de logotipos
<a name="video-logo-detection"></a>

Esta característica identifica los logotipos de un vídeo y proporciona información sobre el cuadro delimitador, que indica las coordenadas de cada logotipo detectado en el fotograma de vídeo y las puntuaciones de confianza. Esta característica no está habilitada de forma predeterminada.

## Moderación de contenido
<a name="video-content-moderation"></a>

La moderación de contenido detecta contenido inapropiado, no deseado u ofensivo en un vídeo. BDA admite siete categorías de moderación: desnudez explícita y no explícita de partes íntimas y besos, trajes de baño o ropa interior, violencia, drogas y tabaco, alcohol y señales de odio. El texto explícito de los vídeos no se marca.

Los cuadros delimitadores y las puntuaciones de confianza asociadas se pueden activar o desactivar para las características pertinentes, como la detección de texto, a fin de proporcionar las coordenadas de ubicación y las marcas de tiempo en el archivo de vídeo. De forma predeterminada, el resumen de vídeo completo, el resumen de escenas y la detección de texto de vídeo están habilitadas.

**nota**  
 Solo se admite una pista de audio por vídeo. No se admiten los formatos de archivo de subtítulos (p. ej., SRT, VTT, etc.). 

## Salida estándar de vídeo
<a name="video-standard-output"></a>

A continuación, se muestra un ejemplo de una salida estándar para un vídeo procesado a través de BDA:

```
{
"metadata": {
    "asset_id": "0",
    "semantic_modality": "VIDEO",
    "s3_bucket": "bedrock-data-automation-gamma-assets-us-east-1",
    "s3_key": "demo-assets/Video/MakingTheCut.mp4",
    "format": "QuickTime / MOV",
    "frame_rate": 30,
    "codec": "h264",
    "duration_millis": 378233,
    "frame_width": 852,
    "frame_height": 480
  },
```

En esta sección inicial se analiza la información de metadatos relativa al vídeo. Esto incluye la ubicación del bucket, el formato, la velocidad de fotogramas y otros datos clave.

```
"shots": [ ...

    {
      "shot_index": 3,
      "start_timecode_smpte": "00:00:08:19",
      "end_timecode_smpte": "00:00:09:25",
      "start_timestamp_millis": 8633,
      "end_timestamp_millis": 9833,
      "start_frame_index": 259,
      "end_frame_index": 295,
      "duration_smpte": "00:00:01:06",
      "duration_millis": 1200,
      "duration_frames": 36,
      "confidence": 0.9956437242589935,
      "chapter_indices": [
        1
      ]
    },
```

Este es un ejemplo de un elemento de toma en una respuesta. Las tomas representan pequeñas partes de un vídeo y, por lo general, se asocian a una edición o un corte del vídeo. Las tomas contienen elementos iniciales y finales, así como un elemento chapter\$1indicies. Este elemento indica de qué sección más grande del vídeo, denominada capítulo, forma parte la toma.

```
"chapters": [
    {
      "start_timecode_smpte": "00:00:00:00",
      "end_timecode_smpte": "00:00:08:18",
      "start_timestamp_millis": 0,
      "end_timestamp_millis": 8600,
      "start_frame_index": 0,
      "end_frame_index": 258,
      "duration_millis": 8600,
      "shot_indices": [
        0,
        1,
        2
      ],
      "summary": "At an elegant outdoor venue, a man in a suit and a woman in a patterned dress stand on a raised platform overlooking a reflective pool. The setting is adorned with palm trees and lush greenery, creating a tropical atmosphere. The man initiates the event by asking if they should begin, to which the woman responds affirmatively. As the scene progresses, the focus shifts to a woman wearing a distinctive black and white patterned coat, her hair styled in a bun. She stands alone in a dimly lit room, facing away from the camera. The narrative then moves to a formal setting where a man in a dark suit stands before a curtain backdrop, suggesting he may be about to address an audience or perform. The scene concludes with a view of the entire venue, showcasing its tropical charm with a swimming pool surrounded by palm trees and decorative lighting, indicating it's prepared for a special occasion.",
```

Los capítulos son partes más grandes de un vídeo. A continuación, contiene información de inicio y final, como las tomas, y un elemento shot\$1indicies. Los shot\$1indicies indican qué tomas están dentro de un capítulo. Por último, el elemento de resumen proporciona un resumen generado del contenido del capítulo.

```
 "frames": [...
         {
          "timecode_smpte": "00:00:03:15",
          "timestamp_millis": 3500,
          "frame_index": 105,
          "content_moderation": [],
          "text_words": [
            {
              "id": "266db64a-a7dc-463c-b710-7a178a2cc4cc",
              "type": "TEXT_WORD",
              "confidence": 0.99844897,
              "text": "ANDREA",
              "locations": [
                {
                  "bounding_box": {
                    "left": 0.1056338,
                    "top": 0.7363281,
                    "width": 0.19806337,
                    "height": 0.068359375
                  },
                  "polygon": [
                    {
                      "x": 0.1056338,
                      "y": 0.7363281
                    },
                    {
                      "x": 0.30369717,
                      "y": 0.7363281
                    },
                    {
                      "x": 0.30369717,
                      "y": 0.8046875
                    },
                    {
                      "x": 0.1056338,
                      "y": 0.8046875
                    }
                  ]
                }
              ],
              "line_id": "57b760fc-c410-418e-aee3-7c7ba58a71c2"
            },
```

La granularidad más pequeña de un vídeo es un fotograma, que representa una sola imagen dentro de un vídeo. Los fotogramas tienen dos elementos de respuesta principales: content\$1moderation y text\$1words. El primero, content\$1moderation, proporciona información basada en las categorías de moderación de contenido sobre el contenido del fotograma, en caso de que se detecte alguna. El segundo, text\$1words, proporciona una ubicación e información sobre cualquier texto que aparezca en un vídeo, como los subtítulos opcionales.

```
    "statistics": {
    "shot_count": 148,
    "chapter_count": 11,
    "speaker_count": 11
  }
}
```

Por último, las estadísticas proporcionan un desglose de la información sobre la detección, como el número de tomas, interlocutores y capítulos que hay en un vídeo determinado.

# Audio
<a name="audio-processing"></a>

La característica Automatización de Datos de Amazon Bedrock (BDA) ofrece un conjunto de salidas estándar para procesar y generar información para los archivos de audio. A continuación, se ofrece un análisis detallado de cada tipo de operación:

## Resumen de audio completo
<a name="audio-audio-summarization"></a>

El resumen completo del vídeo genera un resumen general de todo el vídeo. Extrae los temas, eventos e información clave presentados a lo largo del vídeo y los resume de forma concisa.

## Transcripción completa del audio
<a name="audio-audio-transcript"></a>

La característica de transcripción completa de audio proporciona una representación textual completa de todo el contenido hablado del audio. Utiliza tecnología avanzada de reconocimiento de voz para transcribir con precisión el diálogo, la narración y otros elementos de audio. La transcripción incluye la marca de tiempo, lo que facilita la navegación y la búsqueda en el contenido de audio en función de las palabras habladas.

### Etiquetado de interlocutores y canales
<a name="w2aac28b8c11c13b5b3b7"></a>

Para la transcripción generada, puede habilitar el etiquetado de los and/or altavoces del canal. Esto asignará un número a cada canal o interlocutor y, a continuación, indicará en la transcripción cuándo se está utilizando un canal y cuándo está hablando un interlocutor en particular. Esta etiqueta aparece en la respuesta como “spk\$1” seguida de un número único para cada interlocutor (hasta 30 interlocutores). El primer interlocutor sería “spk\$10", «spk\$11", y así sucesivamente. Los canales de audio se indican de manera similar, con el primer canal etiquetado como “ch\$10", pero solo se pueden etiquetar dos canales.

## Resumen del tema
<a name="audio-topic-summary"></a>

El resumen del tema de audio separa el archivo de audio en secciones denominadas temas y las resume para proporcionar información clave. Estos temas reciben marcas de tiempo para ayudar a colocarlos en el archivo de audio en su conjunto. Esta característica no está habilitada de forma predeterminada.

## Moderación de contenido
<a name="audio-content-moderation"></a>

La moderación de contenido utiliza señales de audio y texto para identificar y clasificar el contenido tóxico generado por la voz en siete categorías diferentes: 
+ ****Blasfemia****: discurso que contiene palabras, frases o acrónimos que son de mala educación, vulgares u ofensivos.
+ ****Incitación al odio****: discurso que critica, insulta, denuncia o deshumaniza a una persona o grupo por su identidad, ya sea de raza, etnia, género, religión, orientación sexual, capacidad y origen nacional.
+  ****Sexual****: discurso que indica interés, actividad o excitación sexual mediante referencias directas o indirectas a partes del cuerpo o rasgos físicos o al sexo.
+ ****Insultos****: discurso que incluye lenguaje degradante, humillante, burlón, insultante o denigrante. Este tipo de lenguaje también se denomina intimidación.
+ ****Violencia o amenaza****: discurso que incluye amenazas que tienen por objeto infligir dolor, lesión u hostilidad a una persona o grupo.
+ ****Gráfico****: discurso que utiliza imágenes visualmente descriptivas, detalladas y desagradablemente vívidas. Este tipo de lenguaje suele ser intencionalmente detallado para aumentar la incomodidad del destinatario.
+ ****Acoso o abuso****: discurso destinado a afectar al bienestar psicológico del destinatario, incluidos términos degradantes y deshumanizantes. Este tipo de lenguaje también se denomina acoso.

## Salida de audio estándar
<a name="audio-standard-output-example"></a>

Esta sección se centra en los diferentes objetos de respuesta que se reciben al ejecutar la operación de la API InvokeDataAutomation en un archivo de audio. A continuación, desglosaremos cada sección del objeto de respuesta y, después, veremos una respuesta rellena completa para un documento de ejemplo. La primera sección que recibiremos es `metadata`.

```
 "metadata": {
    "asset_id": "0",
    "semantic_modality": "AUDIO",
    "s3_bucket": "bedrock-data-automation-gamma-assets-us-east-1",
    "s3_key": "demo-assets/Audio/AWS_TCA-Call-Recording-2.wav",
    "sample_rate": 8000,
    "bitrate": 256000,
    "number_of_channels": 2,
    "codec": "pcm_s16le",
    "duration_millis": 237560,
    "format": "wav",
    "dominant_asset_language": "EN",
    "generative_output_language": "DEFAULT/EN"
  }
```

En esta sección se desglosa la información sobre el archivo, como su ubicación en s3, la velocidad de bits, los canales de audio y el formato. A continuación, analizamos `audio_items`.

`dominant_asset_language`indica qué idioma está más presente en una pieza de audio en función de la duración en segundos. `generative_output_language`indica en qué idioma estará la salida de la respuesta. Si se establece en «DEFAULT», utilizará el idioma dominante.

```
"audio_items": [
    {
      "item_index": 0,
      "audio_segment_index": 0,
      "content": "Auto",
      "start_timestamp_millis": 9,
      "end_timestamp_millis": 119
    },
    ...
]
```

La sección de elementos incluye un desglose del archivo de audio por sonido. Por lo general, cada elemento tiene una longitud aproximada de una palabra. item\$1index indica el lugar que ocupa el elemento en los índices audio\$1items y audio\$1segment\$1index indica su ubicación en los índices de los segmentos, algo que veremos a continuación.

```
"audio_segments": [
    {
      "start_timestamp_millis": 0,
      "end_timestamp_millis": 1970,
      "segment_index": 0,
      "type": "TRANSCRIPT",
      "text": "Auto sales, Cherry speaking. How can I help you?",
      "speaker": {
        "speaker_label": "spk_0"
      },
      "channel": {
        "channel_label": "ch_0"
      },
      "audio_item_indices": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11
      ],
      "language": "EN"
    },
    ...
]
```

Aquí obtenemos un desglose del archivo en función de períodos de tiempo más largos, en los que cada segmento equivale aproximadamente a una oración. Nos indica qué elementos de audio están incluidos en el segmento y el texto del propio segmento. A continuación, veamos la moderación del contenido.

Con el etiquetado de interlocutores y canales activado, puede ver las secciones `speaker_label` y `channel_label`, que indican qué interlocutor y canal están presentes en este segmento.

```
"content_moderation": [
      {
        "id": "93068e72-290d-4aad-8717-a2cd0e02b0d0",
        "type": "AUDIO_MODERATION",
        "confidence": 0.0476,
        "start_timestamp_millis": 0,
        "end_timestamp_millis": 1970,
        "moderation_categories": [
          {
            "category": "profanity",
            "confidence": 0.1582
          },
          ...
        ]
      },
      ...
]
```

La sección de moderación de contenido recorre cada segmento individual y lo analiza en función de cualquiera de las siete categorías de moderación, proporcionando puntuaciones de confianza para cada sección. Nuestra siguiente sección son los temas.

```
"topics": [
    {
      "topic_index": 0,
      "start_timestamp_millis": 0,
      "end_timestamp_millis": 36790,
      "summary": "As follows:\n\nSuzanne, a customer, recently had her Hyundai serviced at the auto sales shop where Carrie works. Suzanne had a 3 p.m. appointment and got her car serviced, which included an oil change and filter changes. However, when Suzanne left the shop, her oil light was still on, which she found concerning. Carrie acknowledged that this sometimes happens, even after a service visit, and assured Suzanne that she would look into the issue further.",
      "transcript": {
        "representation": {
          "text": "Auto sales, Cherry speaking. How can I help you? Yeah, hi Carrie, um, my name is Suzanne. I literally just left your shop. Um, I just went in and got my Hyundai service. Um, it just was, it just needed like filter error changes oil change and all that kind of stuff, um, but. When I left and my oil light is still on and I don't know why. Got it. You just got it serviced here, but when you drove off the light was still on. Is that what happened? Yeah, yeah, yeah, like I literally like I had a 3 p.m. appointment and I just got it, you know, believe it or not, this, this happens."
        }
      },
      "audio_segment_indices": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10
      ]
    },
    ...
]
```

Las secciones de temas representan el siguiente nivel de granularidad de los segmentos. Son agrupaciones de segmentos que se desglosan de forma general por conceptos. Cada tema incluye un resumen generado del tema y la prueba exacta del tema. La parte final de la respuesta son las estadísticas.

```
 "statistics": {
    "word_count": 749,
    "topic_count": 4
  }
```

En esta sección se resume la información sobre el archivo de audio. Esto incluye el recuento de palabras y el total de temas.

# Salida personalizada y esquemas
<a name="bda-custom-output-idp"></a>

Al utilizar Automatización de Datos de Amazon Bedrock (BDA), puede refinar aún más sus extracciones mediante una configuración de salida personalizada. Las salidas personalizadas se configuran con artefactos denominados esquemas. Los esquemas son una lista de instrucciones sobre cómo extraer información del archivo, lo que permite transformar y ajustar la salida. Para obtener más información y un tutorial detallado de un esquema, consulte [Proyectos](bda-blueprint-info.md).

La configuración de salida personalizada también funciona junto con los proyectos. Al pasar un archivo a BDA y hacer referencia a un proyecto con esquemas configurados, BDA procesará el archivo con el esquema correspondiente. Esto funciona para un máximo de 40 planos de documentos, un plano de imagen, un plano de audio y un plano de vídeo. and/or Al trabajar con varios esquemas, BDA intenta enviar los documentos al esquema que mejor se adapte al diseño esperado. Para obtener más información sobre los proyectos y la salida personalizada, consulte [Proyectos de Automatización de Datos de Bedrock](bda-projects.md).

**nota**  
Todos los archivos procesados mediante una salida personalizada deben seguir las restricciones de archivos de BDA. Para obtener más información sobre las restricciones de archivos, consulte los requisitos previos de BDA.

# Proyectos
<a name="bda-blueprint-info"></a>

Los esquemas son artefactos que puede utilizar para configurar la lógica empresarial de procesamiento de archivos. Cada esquema consta de una lista de nombres de campo que puede extraer, el formato de datos en el que desea que se extraiga la respuesta del campo, como una cadena, un número o un valor booleano, así como el contexto en lenguaje natural de cada campo, que puede usar para especificar las reglas de normalización y validación de datos. Puede crear un esquema para cada clase de archivo que desee procesar, como un W2, un comprobante de pago o una tarjeta de identificación. Los esquemas se pueden crear en la consola o con la API. Cada plano que cree es un AWS recurso con su propio identificador de plano y ARN.

Al utilizar un esquema para la extracción, puede utilizar un esquema del catálogo o un esquema creado de forma personalizada. Si ya sabe el tipo de archivo del que desea extraer información, los esquemas del catálogo proporcionan un punto de partida predefinido. Puede crear esquemas personalizados para los archivos que no están en el catálogo. Al crear un esquema, puede utilizar varios métodos, como generar un esquema mediante un petición de esquema, crearlo manualmente añadiendo campos individuales o creando el JSON de un esquema mediante el editor de JSON. Puede guardar estos esquemas en su cuenta y compartirlos.

**nota**  
Los esquemas de audio no se pueden crear mediante peticiones de esquema.

El tamaño máximo de un esquema es de 100 000 caracteres, con formato JSON. En el caso de los planos que se vayan a utilizar con la [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html)API, el número máximo de campos por plano es de 100. En el caso de los blueprints que se vayan a utilizar con la [InvokeDataAutomation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomation.html)API, el número máximo de campos por blueprint es de 15.

**nota**  
Al usar esquemas, es posible que utilice peticiones, ya sea en los campos o para la creación de esquemas. Permita que solo fuentes confiables controlen la entrada rápida. Amazon Bedrock no es responsable de validar la intención del plano.

## Tutorial de esquema
<a name="bda-blueprint-walkthrough"></a>

Tomemos un ejemplo de un documento de identidad, como un pasaporte, y veamos un esquema para este documento.

![\[Ejemplo de pasaporte con campos estándar, que muestra el diseño y los campos de datos que se extraerán.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/passport2.png)


Este es un ejemplo de esquema para este documento de identidad que creamos en la consola.

![\[Diseño de tabla de las definiciones de los campos del pasaporte, con varias categorías, que muestra un ejemplo de esquema.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bdapassport.png)


Básicamente, un esquema es una estructura de datos que contiene campos que, a su vez, contienen la información extraída por la salida personalizada de BDA. Hay dos tipos de campos, explícitos e implícitos, ubicados en la tabla de extracción. Las extracciones explícitas se utilizan para la información claramente indicada que se puede ver en el documento. Las extracciones implícitas se utilizan para la información que debe transformarse con respecto a la forma en que aparece en el documento. Por ejemplo, puede eliminar los guiones de un número de seguridad social convirtiéndolos de 111-22-3333 a 111223333. Los campos contienen ciertos componentes básicos:
+ Nombre de campo: es un nombre que puede proporcionar para cada campo que desee extraer del documento. Puede usar el nombre que usa para el campo en su sistema posterior, como `Place_Birth` o `Place_of_birth`.
+ Descripción: se trata de una entrada que proporciona un contexto en lenguaje natural para cada campo del esquema a fin de describir las reglas de normalización o validación de datos que se deben seguir. Por ejemplo, `Date of birth in YYYY-MM-DD format` o `Is the year of birth before 1992?`. También puede utilizar la petición como una forma de iterar sobre el esquema y mejorar la precisión de la respuesta de BDA. Proporcionar una petición detallada que describa el campo que necesita ayuda a los modelos subyacentes a mejorar su precisión. Las peticiones pueden tener una longitud de hasta 300 caracteres.
+ Resultados: la información extraída por BDA en función de la petición y el nombre del campo.
+ Tipo: el formato de datos que desea que utilice la respuesta del campo. Se admiten cadenas, números, valores booleanos, matrices de cadena y matrices de números.
+ Puntuación de confianza: el porcentaje de certeza que tiene BDA de que la extracción es precisa. Los planos de audio e imagen no devuelven una puntuación de confianza.
+ Tipos de extracción: el tipo de extracción, explícita o inferida.
+ Número de página: página del documento en la que se encontró el resultado. Los esquemas de audio y vídeo no devuelven un número de página.

Además de los campos simples, la salida personalizada de BDA ofrece varias opciones para los casos de uso que puede encontrar en la extracción de documentos: campos de tablas, grupos y tipos personalizados. 

**Campos de tabla**  
Al crear un campo, puede elegir crear un campo de tabla en lugar de un campo básico. Puede asignar un nombre al campo y proporcionar una petición, como con los otros campos. También puede proporcionar campos de columna. Estos campos tienen un nombre de columna, una descripción de columna y un tipo de columna. Cuando se muestran en la tabla de extracción, un campo de tabla tiene los resultados de la columna agrupados bajo el nombre de la tabla. Los campos de tabla solo pueden tener un máximo de 15 subcampos.

**Groups**  
Un grupo es una estructura que se utiliza para organizar varios resultados en una sola ubicación dentro de la extracción. Al crear un grupo, se le asigna un nombre, y se pueden crear y colocar campos en ese grupo. Este grupo está marcado en la tabla de extracciones y, debajo de él, se muestran los campos que están dentro del grupo. 

**Tipos personalizados**  
Puede crear un tipo personalizado mientras edita un esquema en el sitio de pruebas de esquemas. Cualquier campo puede ser de tipo personalizado. Este tipo tiene un nombre único y solicita la creación de los campos que componen la detección. Un ejemplo sería crear un tipo personalizado denominado Dirección e incluir en él los campos “zip\$1code”, “city\$1name”, “street\$1name” y “state”. Luego, al procesar un documento, podría usar el tipo personalizado en el campo “company\$1address”. A continuación, ese campo devuelve toda la información, agrupada en filas debajo del tipo personalizado. Puede tener hasta 30 campos de texto personalizados por esquema.

# Creación de esquemas
<a name="bda-idp"></a>

## Cómo crear esquemas para salidas personalizadas
<a name="how-to-create-blueprints"></a>

Amazon Bedrock La automatización de datos (BDA) le permite crear planos personalizados para cualquier tipo de archivo que BDA pueda extraer. Puede usar esquemas para definir el formato de salida y la lógica de extracción deseados para los archivos de entrada. Al crear esquemas personalizados, puede personalizar la salida de BDA de acuerdo con sus requisitos específicos.

Dentro de un proyecto, puede aplicar:
+ Varios esquemas de documentos, hasta 40. Esto le permite procesar diferentes tipos de documentos dentro del mismo proyecto, cada uno con su propia lógica de extracción personalizada.
+ Un esquema de imagen. Esto garantiza la coherencia en el procesamiento de imágenes dentro de un proyecto.
+ Un esquema de audio.
+ Un esquema de vídeo.

### Creación de esquemas
<a name="creating-blueprints-methods"></a>

 Existen dos métodos para crear esquemas en BDA: 
+ Uso de la petición de esquema
+ Creación manual del esquema

#### Uso de la petición de esquema
<a name="creating-blueprints-methods-assistant"></a>

 La petición de esquema proporciona una interfaz guiada y basada en lenguaje natural para crear esquemas. Para crear un esquema mediante la petición: 

1.  Desplácese hasta la sección **Esquemas** en la consola de BDA.

1.  Haga clic en **Crear esquema y** seleccione **Usar petición de esquema**.

1.  Elija el tipo de datos (documento, imagen, audio o vídeo) para su esquema.

1.  Describa los campos y los datos que desea extraer en lenguaje natural. Por ejemplo: “Extraer el número de factura, el importe total y el nombre del proveedor de las facturas”.

1.  La petición generará un esquema basado en su descripción.

1.  Revise el esquema generado y haga los ajustes necesarios. Las peticiones de esquema se basan en un solo turno, lo que significa que tendrá que volver a introducir toda la información para modificar la petición, no solo la información nueva.

1.  Guarde el esquema y asígnele un nombre.

##### Ejemplo de petición de esquema
<a name="w2aac28b8c14c11b3b9b7b7"></a>

En la siguiente sección se ofrece un ejemplo de una petición de esquema para un esquema de audio. Para este caso de uso, queremos crear un esquema para extraer información de una conversación entre un cliente y un representante del servicio de atención al cliente. En la siguiente captura de pantalla se muestra la ventana de petición en la consola.

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/audio-bpa-prompt.png)


En la parte inferior de la captura de pantalla puede ver la petición generada por IA en función de la información introducida en el cuadro. Podemos ver cómo se procesan los campos que mencionamos. A continuación, podemos ver el esquema creado a partir de la petición.

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/audio-bpa-example.png)


Aquí podemos ver la información que esperamos procesar de la conversación. Si los campos ya tienen la precisión que desea, puede empezar a procesar un archivo de audio inmediatamente. Si quiere editar el esquema, tendrá que crear un duplicado en lugar de editarlo directamente. También puede ajustar la petición para obtener otros resultados.

#### Creación manual de esquemas
<a name="creating-blueprints-methods-id"></a>

 Los usuarios más avanzados o aquellos que requieren un control detallado pueden crear los esquemas manualmente: 

1.  Desplácese hasta la sección **Esquemas** en la consola de BDA.

1.  Haga clic en **Crear esquema** y seleccione **Crear manualmente**.

1.  Elija el tipo de datos (documento, imagen, audio o vídeo) para su esquema.

1.  Defina los campos que desee extraer, especificando los tipos de datos, los formatos y las reglas de validación.

1.  Realice ajustes adicionales, como la división del documento o el tratamiento del diseño.

1.  Guarde el esquema y asígnele un nombre.

También puede usar el editor JSON de esquemas para crear o modificar un esquema. Esto le permite ajustar el JSON del esquema directamente a través del editor de texto.

### Adición de esquemas a los proyectos
<a name="adding-blueprints-projects"></a>

Los proyectos actúan como contenedores para los flujos de trabajo de procesamiento de contenido multimodales, mientras que los esquemas definen la lógica de extracción de esos flujos de trabajo. Los esquemas se agregan a los proyectos para aplicarlos a los archivos que se procesan con ese proyecto.

 Cómo añadir un esquema a un proyecto: 

1.  Desplácese hasta la sección **Proyectos** en la consola de BDA.

1.  Seleccione el proyecto al que desea agregar el esquema.

1.  Haga clic en **Agregar esquema** o **Administrar esquemas**.

1.  Elija el esquema que desee añadir de la lista de esquemas disponibles.

1.  Realice los ajustes específicos del proyecto para el esquema.

1.  Guarde los cambios en el proyecto.

### Definición de campos
<a name="bda-images-defining-fields"></a>

Para empezar, puede crear un campo para identificar la información que desea extraer o generar, como product\$1type. Para cada campo, debe proporcionar una descripción, un tipo de datos y un tipo de inferencia.

Para definir un campo, debe especificar los siguientes parámetros:
+ *Descripción:* proporciona una explicación en lenguaje natural de lo que representa el campo. Esta descripción ayuda a comprender el contexto y el propósito del campo, lo que contribuye a la extracción precisa de los datos.
+ *Tipo*: especifica el tipo de datos del valor del campo. BDA admite los siguientes tipos:
  + cadena: para valores basados en texto
  + número: para valores numéricos
  + booleano: para valores verdadero o falso
  + matriz: para campos que pueden tener varios valores del mismo tipo (por ejemplo, una matriz de cadenas o una matriz de números)
+ *Tipo de inferencia:* indica a BDA cómo gestionar la generación de respuestas del valor del campo. En el caso de las imágenes, BDA solo admite el tipo de inferencia inferido. Esto significa que BDA deduce el valor del campo en función de la información presente en la imagen.

En el caso de los vídeos, los campos también incluyen la granularidad como opción. Para obtener más información sobre esta característica, consulte Creación de esquemas para vídeos.

La siguiente imagen muestra el módulo «Añadir campos» de la Amazon Bedrock consola con los siguientes campos y valores de ejemplo:
+ Nombre del campo: product\$1type
+ Tipo: cadena
+ Instrucción: ¿cuál es el producto o servicio principal que se va a anunciar, por ejemplo, ropa, productos electrónicos, alimentos y bebidas, etc.? 
+ Tipo de extracción: inferida.

![\[Amazon Bedrock La interfaz de usuario muestra los menús desplegables y un campo de texto para especificar los campos de imagen.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bda-console-add-fields-new.png)


Este es un ejemplo del aspecto que tiene la misma definición de campo en un esquema JSON, para la API:

```
"product_type":{
"type": "string",
"inferenceType": "inferred",
"description": "What is the primary product or service being advertised, e.g., Clothing, Electronics, Food & Beverage, etc.?"
}
```

En este ejemplo:
+  El tipo se establece en cadena, lo que indica que el valor del campo product\$1type debe estar basado en texto.
+ inferenceType está configurado como inferido, lo que indica a BDA que deduzca el valor en función de la información presente en la imagen.
+ La descripción proporciona un contexto adicional al indicar que el campo debe identificar el tipo de producto de la imagen. Los valores de ejemplo del campo product\$1type son: ropa, productos electrónicos y alimentos o bebidas.

Al especificar estos parámetros para cada campo, proporciona a BDA la información necesaria para extraer y generar información de forma precisa a partir de sus imágenes.

### Creación de versiones del proyecto
<a name="blueprints-project-verions"></a>

Al trabajar con proyectos, puede crear una versión de un esquema. Una versión es una instantánea inmutable de un esquema que conserva sus configuraciones y lógica de extracción actuales. Esta versión del esquema se puede enviar como una solicitud para empezar a procesar los datos, lo que garantiza que BDA procese los documentos de acuerdo con la lógica especificada en el esquema en el momento de crear la versión. 

Puede crear una versión mediante la operación `CreateBlueprintVersion`.

La consola de Amazon Bedrock también le permite crear y guardar esquemas. Al guardar un esquema, se le asigna un ID. A continuación, puede publicar el esquema, lo que crea una instantánea de ese esquema que no se puede editar. Por ejemplo, si el plano asociado a su proyecto es «DocBlueprint», la versión del proyecto creada será «DocBlueprint\$11». No podrá realizar más cambios en «DocBlueprint\$11», pero sí podrá editar el esquema base. Si realiza cambios en el esquema y vuelve a publicarlo, se creará una nueva versión, como «DocBlueprint\$12». Las versiones de los esquemas se pueden duplicar y utilizar como base para un nuevo esquema.

# Uso de esquemas para realizar diferentes tareas de IDP
<a name="idp-cases"></a>

Los esquemas son una herramienta extremadamente versátil para el procesamiento de documentos. En las siguientes secciones se analiza la creación de esquemas teniendo en cuenta varios objetivos relacionados con IDP. Además, en esta sección se proporciona información más detallada sobre las particularidades de la creación de esquemas para documentos en general.

# Creación de esquemas para la clasificación
<a name="idp-cases-classification"></a>

Con BDA, puede clasificar los documentos asignando una clase de documento y proporcionando una descripción al crear un esquema. La clase de documento sirve como una clasificación general del tipo de documento, mientras que la descripción proporciona detalles sobre el contenido y los elementos esperados dentro de esa clase de documentos. Le recomendamos que la descripción especifique el tipo de datos típico que se encuentra en los documentos junto con otra información relevante, como el propósito del documento y las entidades esperadas. 

Algunos ejemplos de clases de documentos y sus descripciones son las siguientes:


| Clase de documento | Descripción | 
| --- | --- | 
|  Factura  |  Una factura es un documento que contiene la lista de los servicios prestados o los artículos comprados a una empresa por una persona u otra empresa. Contiene detalles como cuándo vence el pago y cuánto se debe.  | 
|  Recibo de pago  |  Este documento emitido por un empleador a un empleado contiene el salario recibido por un empleado durante un período determinado. Por lo general, contiene el desglose de cada una de las partidas de ingresos y deducciones fiscales.  | 
|  Recibos  |  Documento en el que se reconoce que una persona ha recibido dinero o bienes como pago tras una venta u otra transferencia de bienes o prestación de un servicio. Todos los recibos deben llevar la fecha de compra.  | 
|  W2  |  Este es un formulario de impuestos para declarar los ingresos personales recibidos de un empleador en un año fiscal  | 

Después de crear los campos del esquema, siga estos pasos:

1. En la página Crear esquema, seleccione **Guardar y salir de la petición del esquema**.

1. En Nombre del esquema, introduzca un nombre para el esquema.

1. En Clase de documento, introduzca un nombre de clase que represente el tipo de documento que desea clasificar.

1. En el campo Descripción, proporcione una descripción detallada del tipo de documento. Incluya información sobre el tipo de datos y los elementos que suelen encontrarse en estos documentos, como la persona, la empresa, las direcciones, los detalles del producto o cualquier otra información relevante.

1. Seleccione Publicar esquema.

Después de crear el esquema, puede usarlo para clasificar los documentos durante la inferencia proporcionando uno o más identificadores de esquema en la solicitud de la API InvokeDataAutomationAsync.

BDA utiliza la clase y la descripción del documento que se proporcionan en cada uno de los esquemas para clasificar y procesar los documentos con precisión. Al enviar un documento para su procesamiento, BDA analiza su contenido y lo compara con la lista de esquemas proporcionada. A continuación, el documento se clasifica y procesa según las instrucciones de los campos del esquema para producir la salida en la estructura deseada.

# Creación de esquemas para extracción
<a name="idp-cases-extraction"></a>

BDA le permite definir los campos de datos específicos que desea extraer de sus documentos mediante la creación de un esquema. Actúa como un conjunto de instrucciones que guían a BDA sobre qué información buscar y cómo interpretarla.

**Definición de campos**  
Para empezar, puede crear una propiedad para cada campo que deba extraerse, como employee\$1id o product\$1name. Para cada campo, debe proporcionar una descripción, un tipo de datos y un tipo de inferencia.

Para definir un campo para su extracción, debe especificar los siguientes parámetros:
+ Nombre del campo: proporciona una explicación legible para los humanos de lo que representa el campo. Esta descripción ayuda a comprender el contexto y el propósito del campo, lo que contribuye a la extracción precisa de los datos.
+ Instrucción: proporciona una explicación en lenguaje natural de lo que representa el campo. Esta descripción ayuda a comprender el contexto y el propósito del campo, lo que contribuye a la extracción precisa de los datos.
+ Tipo: especifica el tipo de datos del valor del campo. BDA admite los siguientes tipos de datos:
  + cadena: para valores basados en texto
  + número: para valores numéricos
  + boolean: Para valores true/false 
  + matriz: para campos que pueden tener varios valores del mismo tipo (por ejemplo, una matriz de cadenas o una matriz de números)
+ Tipo de inferencia: indica a BDA cómo tratar la extracción del valor del campo. Los tipos de inferencia admitidos son:
  + Explícita: BDA debe extraer el valor directamente del documento.
  + Inferida: BDA debe deducir el valor en función de la información presente en el documento.

A continuación se incluye un ejemplo de definición de campos con todos los parámetros:

------
#### [ Console ]

![\[Consola que muestra cómo añadir “Nombre de campo” e “Instrucción”. El “Tipo” se establece en “Cadena” y el “Tipo de extracción” se establece en “Explícita”.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bdaadd.png)


------
#### [ API ]

```
"product_name":{
   "type":"string",
   "inferenceType":"Explicit",
   "description":"The short name of the product without any extra details"
}
```

------

En este ejemplo:
+ El tipo se establece en una cadena, lo que indica que el valor del campo product\$1type debe estar basado en texto.
+ inferenceType está establecido en Explícito, lo que indica a BDA que extraiga el valor directamente del documento sin ninguna transformación ni validación.
+ La instrucción proporciona un contexto adicional y aclara que el campo debe contener el nombre abreviado del producto sin ningún detalle adicional.

Al especificar estos parámetros para cada campo, proporciona a BDA la información necesaria para extraer e interpretar los datos deseados de forma precisa de sus documentos.


| Campo | Instrucciones | Tipo de extracción | Tipo | 
| --- | --- | --- | --- | 
|  ApplicantsName  |  Nombre completo del solicitante  |  Explícita  |  cadena  | 
|  DateOfBirth  |  Fecha de nacimiento del empleado  |  Explícita  |  cadena  | 
|  Ventas  |  Ingresos o ventas brutos  |  Explícita  |  número  | 
|  Statement\$1starting\$1balance  |  Saldo al inicio del período  |  Explícita  |  número  | 

**Campos de varios valores**  
En los casos en que un campo pueda contener varios valores, puede definir matrices o tablas.

**Lista de campos**  
Para los campos que contienen una lista de valores, puede definir un tipo de datos de matriz. 

En este ejemplo, «OtherExpenses» se define como una matriz de cadenas que permite a BDA extraer varias partidas de gastos para ese campo.

------
#### [ Console ]

![\[Consola que muestra cómo añadir “Nombre de campo” e “Instrucción”. El “Tipo” se establece en “Matriz de cadenas” y el “Tipo de extracción” se establece en “Explícita”.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bdaarray.png)


------
#### [ API ]

```
"OtherExpenses":{
   "type":"array",
   "inferenceType":"Explicit",
   "description":"Other business expenses not included in fields 8-26 or field 30",
   "items":{
      "type":"string"
   }
}
```

------

**Tablas**  
Si el documento contiene datos tabulares, puede definir una estructura de tabla dentro del esquema.

En este ejemplo, “SERVICES\$1TABLE” se define como un tipo de tabla, con campos de columnas como el nombre del producto, la descripción, la cantidad, el precio unitario y el importe.

------
#### [ Console ]

![\[Consola que muestra cómo añadir “Nombre de campo” e “Instrucción”. El “Tipo” se establece en “Tabla” y el “Tipo de extracción” se establece en “Explícita”, y muestra los campos específicos de la columna que se añaden.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bdatable.png)


------
#### [ API ]

```
"definitions":{
   "LINEITEM":{
      "properties":{
         "quantity":{
            "type":"number",
            "inferenceType":"Explicit"
         },
         "unit price":{
            "type":"number",
            "inferenceType":"Explicit"
         },
         "amount":{
            "type":"number",
            "inferenceType":"Explicit",
            "description":"Unit Price * Quantity"
         },
         "product name":{
            "type":"string",
            "inferenceType":"Explicit",
            "description":"The short name of the product without any extra details"
         },
         "product description":{
            "type":"string",
            "inferenceType":"Explicit",
            "description":"The full item list description text"
         }
      }
   }
},
"properties":{
   "SERVICES_TABLE":{
      "type":"array",
      "description":"Line items table listing all the items / services charged in the invoice including quantity, price, amount, product / service name and description.",
      "items":{
         "$ref":"#/definitions/LINEITEM"
      }
   },
   "...
        ..."
]
```

------

Al definir esquemas completos con las descripciones de campo, los tipos de datos y los tipos de inferencia adecuados, puede asegurarse de que BDA extraiga con precisión la información deseada de sus documentos, independientemente de las variaciones en el formato o la representación.

# Creación de esquemas para normalización
<a name="idp-cases-normalization"></a>

BDA proporciona capacidades de normalización que le permiten convertir y estandarizar los datos extraídos de acuerdo con sus requisitos específicos. Estas tareas de normalización se pueden clasificar en normalización de claves y normalización de valores.

**Normalización de claves**  
En muchos casos, los campos del documento pueden tener variaciones en la forma en que se representan o etiquetan. Por ejemplo, el campo “Número de la seguridad social” puede aparecer como “SSN”, “Número de identificación fiscal”, “NSS” u otras variantes similares. Para abordar este desafío, BDA ofrece la normalización de claves, que le permite proporcionar instrucciones sobre las variaciones en las definiciones de sus campos.

Con la normalización de claves, puede guiar a BDA para que reconozca y asigne diferentes representaciones del mismo campo a una clave estandarizada. Esta característica garantiza que los datos se extraigan y organicen de forma coherente, independientemente de las variaciones presentes en los documentos de origen.


| Campo | Instrucciones | Tipo de extracción | Tipo | 
| --- | --- | --- | --- | 
|  LastName  |  Apellidos de una persona  |  Explícita  |  Cadena  | 
|  BirthNum  |  Número de documento o número de expediente del certificado de nacimiento  |  Explícita  |  Cadena  | 
|  OtherIncome  |  Otros ingresos, incluidos los créditos o reembolsos fiscales federales y estatales sobre la gasolina o el combustible  |  Explícita  |  Número  | 
|  BusinessName  |  Nombre de la empresa, contratista o entidad que rellena el formulario W9  |  Explícita  |  Cadena  | 
|  factor de potencia  |  Factor de potencia o multiplicador utilizado para este elemento de línea de uso  |  Explícita  |  Cadena  | 
|  BirthPlace  |  Nombre del hospital o institución donde nació el niño  |  Explícita  |  Cadena  | 
|  Causa de la lesión  |  Causa de la lesión o enfermedad ocupacional, incluida la forma en que está relacionada con el trabajo  |  Explícita  |  Cadena  | 

En el caso de los campos con conjuntos de valores o enumeraciones predefinidos, puede proporcionar los valores o intervalos esperados en la instrucción del campo. Se recomienda incluir las variaciones entre comillas, tal y como se muestra en los ejemplos.


| Campo | Instrucciones | Tipo de extracción | Tipo | 
| --- | --- | --- | --- | 
|  LICENSE\$1CLASS  |  El código de clase de una sola letra: “A”, “B” o “C”  |  Explícita  |  Cadena  | 
|  sex  |  El sexo: “M” o “F”  |  Explícita  |  Cadena  | 
|  InformantType  |  El tipo de información: “Principal” u “Otro”  |  Explícita  |  Cadena  | 
|  CANAL DE RECOPILACIÓN DE INFORMACIÓN  |  UNO DE LOS SIGUIENTES: “ENTREVISTA CARA A CARA”, “ENTREVISTA TELEFÓNICA”, “FAX O CORREO”, “CORREO ELECTRÓNICO O INTERNET”  |  Explícita  |  Cadena  | 

**Normalización de valores**  
La normalización de valores es una tarea clave en las canalizaciones de procesamiento de datos, donde los datos extraídos deben transformarse en un formato uniforme y estandarizado. Este proceso garantiza que los sistemas posteriores puedan consumir y procesar los datos de manera fluida, sin problemas de compatibilidad ni ambigüedades.

Al utilizar las funciones de normalización de BDA, puede estandarizar formatos, convertir unidades de medida y convertir valores en tipos de datos específicos.

Para las tareas de normalización de valores, se debe utilizar el tipo de extracción inferida, ya que es posible que el valor no coincida exactamente con el texto sin procesar o con el OCR del documento una vez normalizado. Por ejemplo, un valor de fecha como “06/25/2022” que deba tener el formato “AAAA-MM-DD” se extraerá como “2022-06-25” tras la normalización, por lo que no coincidirá con el resultado de OCR del documento.

Estandarizar los formatos: puede convertir valores a formatos predefinidos, como códigos abreviados, esquemas de numeración o formatos de fecha específicos. Esto le permite garantizar la coherencia en la representación de los datos al cumplir los estándares del sector o las convenciones de la organización.


| Campo | Instrucciones | Tipo de extracción | Tipo | 
| --- | --- | --- | --- | 
|  ssn  |  El SSN, formateado como XXX-XX-XXX  |  Inferida  |  Cadena  | 
|  STATE  |  El código de dos letras del estado  |  Inferida  |  Cadena  | 
|  EXPIRATION\$1DATE  |  La fecha de caducidad en formato YYYY-MM-DD  |  Inferida  |  Cadena  | 
|  DATE\$1OF\$1BIRTH  |  La fecha de nacimiento del conductor en formato YYYY-MM-DD  |  Inferida  |  Cadena  | 
|  CHECK\$1DATE  |  La fecha en que se firmó el cheque. Reformatear a YYYY-MM-DD  |  Inferida  |  Cadena  | 
|  PurchaseDate  |  Fecha de compra del vehículo en formato mm/dd/yy  |  Inferida  |  Cadena  | 

También puede convertir valores en una unidad de medida estándar o en un tipo de datos específico gestionando escenarios como No aplicable.


| Campo | Instrucciones | Tipo de extracción | Tipo | 
| --- | --- | --- | --- | 
|  WEIGHT  |  Peso convertido a libras  |  Inferida  |  Número  | 
|  HEIGHT  |  Altura convertida a pulgadas  |  Inferida  |  Número  | 
|  nonqualified\$1plans\$1income  |  El valor del campo 11. 0 si es N/A.  |  Inferida  |  Número  | 

# Creación de esquemas para transformación
<a name="idp-cases-transformation"></a>

BDA le permite dividir y reestructurar los campos de datos según sus necesidades específicas. Esta capacidad le permite transformar los datos extraídos en un formato que se adapte mejor a sus necesidades de análisis o de sistemas posteriores. 

En muchos casos, los documentos pueden contener campos que combinan varios datos en un solo campo. BDA le permite dividir estos campos en campos separados distintos para facilitar la manipulación y el análisis de los datos. Por ejemplo, si un documento contiene el nombre de una persona como un solo campo, puede dividirlo en campos separados para el nombre, el segundo nombre, el apellido y el sufijo.

Para las tareas de transformación, el tipo de extracción se puede definir como Explícita o Inferida, en función de si es necesario normalizar el valor. 


| Campo | Instrucciones | Tipo de extracción | Tipo | 
| --- | --- | --- | --- | 
|  FIRST\$1NAME  |  El nombre  |  Explícita  |  Cadena  | 
|  MIDDLE\$1NAME  |  El segundo nombre o la inicial  |  Explícita  |  Cadena  | 
|  LAST\$1NAME  |  El apellido del conductor  |  Explícita  |  Cadena  | 
|  SUFFIX  |  El sufijo, como PhD, MSc, etc.  |  Explícita  |  Cadena  | 

Otro ejemplo son los bloques de direcciones que pueden aparecer como un solo campo


| Campo | Instrucciones | Tipo de extracción | Tipo | 
| --- | --- | --- | --- | 
|  Calle  |  ¿Cuál es la dirección?  |  Explícita  |  Cadena  | 
|  Ciudad  |  ¿Cuál es la ciudad?  |  Explícita  |  Cadena  | 
|  Estado  |  ¿Cuál es el estado?  |  Explícita  |  Cadena  | 
|  ZipCode  |  ¿Cuál es el código postal de la dirección?  |  Explícita  |  Cadena  | 

Puede definir estos campos como campos completamente individuales o crear un tipo personalizado. Los tipos personalizados son aquellos que puede reutilizar para diferentes campos. En el siguiente ejemplo, creamos un tipo personalizado “NameInfo” que utilizamos para “EmployeeName” y “ManagerName”.

![\[Consola que muestra cómo añadir detalles de tipo personalizado. También muestra las subpropiedades añadidas al tipo personalizado.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bdacustomtype.png)


# Creación de esquemas para validación
<a name="idp-cases-validation"></a>

BDA le permite definir reglas de validación para garantizar la precisión de los datos extraídos. Estas reglas de validación se pueden incorporar a sus esquemas, lo que permite a la BDA realizar diversas comprobaciones de los datos extraídos. BDA le permite crear validaciones personalizadas adaptadas a los requisitos específicos de su empresa o sector. A continuación se muestran algunos ejemplos de validaciones para ilustrar el alcance de esta capacidad.

**Validaciones numéricas**  
Las validaciones numéricas se utilizan para comprobar si los datos numéricos extraídos se encuentran dentro de un intervalo de valores específico o si cumplen ciertos criterios. Estas validaciones se pueden aplicar a campos como importes, cantidades o cualquier otro dato numérico.


| Campo | Instrucciones | Tipo de extracción | Tipo | 
| --- | --- | --- | --- | 
|  BalanceGreaterCheck  |  ¿El saldo anterior es superior a 1000 USD?  |  Inferida  |  Booleano  | 
|  ¿El beneficio bruto es igual a la diferencia entre ventas y COGS?  |  Pregunta de validación  |  Inferida  |  Booleano  | 
|  is\$1gross\$1pay\$1valid  |  ¿Es el salario bruto hasta la fecha el valor más alto en dólares del recibo de pago?  |  Inferida  |  Booleano  | 

**Validaciones de fecha y hora**  
Las validaciones de fecha y hora se utilizan para comprobar si los datos de fecha y hora extraídos se encuentran dentro de un intervalo específico o si cumplen ciertos criterios. Estas validaciones se pueden aplicar a campos como las fechas de vencimiento, las fechas de caducidad o cualquier otro dato relacionado con la fecha y la hora.


| Campo | Instrucciones | Tipo de extracción | Tipo | 
| --- | --- | --- | --- | 
|  was\$1injury\$1reported\$1after\$11\$1month  |  ¿Se informó al empleador de la lesión más de un mes después de la fecha de la lesión?  |  Inferida  |  Booleano  | 
|  is\$1overdue  |  ¿El extracto está retrasado? ¿Ha vencido la fecha de pago del saldo?  |  Inferida  |  Booleano  | 
|  is\$1delivery\$1date\$1valid  |  ¿La fecha de entrega es en los próximos 30 días?  |  Inferida  |  Booleano  | 

**Validaciones de cadenas o formatos**  
Las validaciones de cadenas o formatos se utilizan para comprobar si los datos extraídos se adhieren a un formato específico o si coinciden con patrones predefinidos. Estas validaciones se pueden aplicar a campos como nombres, direcciones o cualquier otro dato textual que requiera la validación del formato.


| Campo | Instrucciones | Tipo de extracción | Tipo | 
| --- | --- | --- | --- | 
|  routing\$1number\$1valid  |  True si el número de ruta bancaria tiene nueve dígitos  |  Inferida  |  Booleano  | 
|  Is\$1NumMeterIDsListed  |  ¿Hay más de cinco identificadores de medición en la factura?  |  Inferida  |  Booleano  | 

Con las capacidades de validación personalizadas de BDA, puede crear reglas de validación complejas que combinen varias condiciones, cálculos u operaciones lógicas para garantizar que los datos extraídos cumplan los criterios deseados. Estas validaciones pueden incluir comprobaciones cruzadas, cálculos o cualquier otra lógica personalizada específica para sus procesos empresariales o requisitos normativos.

Al incorporar estas reglas de validación en sus esquemas, BDA puede validar automáticamente los datos extraídos, garantizando su precisión y el cumplimiento de sus requisitos específicos. Esta capacidad le permite activar revisiones humanas cuando las validaciones han fallado.

# Creación de esquemas para imágenes
<a name="bda-idp-images"></a>

Automatización de Datos de Amazon Bedrock (BDA) le permite crear esquemas personalizados para las modalidades de imagen. Puede usar esquemas para definir el formato de salida y la lógica de extracción deseados para los archivos de entrada. Al crear esquemas personalizados, puede personalizar la salida de BDA de acuerdo con sus requisitos específicos. Dentro de un proyecto, puede aplicar un esquema de una sola imagen.

## Definición de campos de datos para imágenes
<a name="bda-images-defining-data-fields"></a>

BDA le permite definir los campos específicos que desea identificar en sus imágenes mediante la creación de un esquema. Actúa como un conjunto de instrucciones que guían a BDA sobre la información que debe extraer y generar a partir de sus imágenes.

### Ejemplos de campos de esquemas para imágenes publicitarias
<a name="w2aac28b8c14c11b9b5b5"></a>

A continuación, se ofrecen algunos ejemplos de campos de esquemas para analizar imágenes publicitarias.




|  |  |  |  | 
| --- |--- |--- |--- |
| Campo | Instrucción | Tipo de extracción | Tipo | 
| product\$1type | ¿Cuál es el producto o servicio principal que se anuncia? Por ejemplo: ropa, electrónica, alimentos y bebidas | inferido | cadena | 
| colocación\$1del producto | ¿Cómo se coloca el producto en la imagen del anuncio, por ejemplo, centrado, en segundo plano, sostenido por una persona, etc.? | inferido | cadena | 
| tamaño\$1producto | El tamaño del producto es pequeño si el tamaño es inferior al 30% de la imagen, mediano si está entre el 30 y el 60% y grande si ocupa más del 60% de la imagen | inferido | cadena | 
| estilo\$1imagen | Clasifica el estilo de imagen del anuncio. Por ejemplo, imagen del producto, estilo de vida, retrato, retro, infografía, ninguno de los anteriores. | inferido | cadena | 
| imagen\$1fondo | El fondo puede ser de «color sólido, paisaje natural, interior, exterior o abstracto.  | inferido | cadena | 
| oferta\$1promocional | ¿El anuncio incluye descuentos, ofertas o mensajes promocionales? | inferido | booleano | 

### Ejemplos de campos de esquemas para la búsqueda de contenido multimedia
<a name="w2aac28b8c14c11b9b5b7"></a>

Estos son algunos ejemplos de campos de esquemas para generar metadatos a partir de imágenes para la búsqueda de contenido multimedia.




|  |  |  |  | 
| --- |--- |--- |--- |
| Campo | Instrucción | Tipo de extracción | Tipo | 
| conteo de personas | ¿Cuántas personas aparecen en la imagen? | inferido | número | 
| clasificación interior\$1exterior\$1 | ¿La imagen está en interiores o exteriores? | inferido | cadena | 
| clasificación\$1de escenas | Clasifique la configuración o el entorno de la imagen. Por ejemplo: espacios urbanos, rurales, naturales, históricos, residenciales, comerciales, recreativos o públicos | inferido | cadena | 
| identificación\$1animal | ¿La imagen contiene algún animal? | inferido | booleano | 
| tipo\$1animal | ¿Qué tipo de animales aparecen en la imagen? | inferido | cadena | 
| identificación\$1color | ¿La imagen está en color o en blanco y negro? | inferido | cadena | 
| identificación\$1del\$1vehículo | ¿Hay algún vehículo visible en la imagen? | inferido | cadena | 
| tipo\$1vehículo | ¿Qué tipo de vehículo aparece en la imagen? | inferido | cadena | 
| identificación\$1marca de agua | ¿Hay alguna marca de agua visible en la imagen? | inferido | booleano | 

# Creación de esquemas para audio
<a name="creating-blueprint-audio"></a>

Al igual que los esquemas de imagen, solo puede tener un esquema de audio por proyecto.

A continuación, se muestran algunos campos de ejemplo para el procesamiento de audio.

## Ejemplos de campos de esquema para archivos de audio
<a name="example-audio-fields"></a>


|  |  |  |  | 
| --- |--- |--- |--- |
| Campo | Instrucciones | Tipo de extracción | Tipo | 
| transcript\$1summary | Generate a concise abstractive summary of the conversation, focusing on the main topics and key themes. Ensure accuracy by summarizing only what is explicitly discussed, without adding specific details not present in the conversation. Keeping the response within 100 words. | inferred | string | 
| topics | The main topics of the audio transcript, listed as single words. | inferred | [string] (Array of strings) | 
| category | The category of the audio (not the topic). Choose from General conversation, Media, Hospitality, Speeches, Meetings, Education, Financial, Public sector, Healthcare, Sales, Audiobooks, Podcasts, 911 calls, Other. | inferred | string | 
| spoken\$1named\$1entities | Any named entities (typically proper nouns) explicitly mentioned in the audio transcript including locations, brand names, company names, product names, services, events, organizations, etc. Do not include names of people, email addresses or common nouns.  | extractive | [string] (Array of strings) | 

## Ejemplos de campos de esquema para el análisis conversacional
<a name="example-audio-analytics"></a>


|  |  |  |  | 
| --- |--- |--- |--- |
| Campo | Instrucciones | Tipo de extracción | Tipo | 
| call\$1summary | Summarize the caller-agent conversation in under 100 words. Start with the caller's request, then the agent's response and actions, ending with outcomes or follow-ups. Include key details like emails, links, or callbacks. For multiple issues, summarize each with its outcome and next steps. | inferred | string | 
| call\$1categories | The category (or categories) of the call. Choose one or more from Billing, Tech support, Customer service, Account support, Sales, Complaints, Product issues, Service issues, General inquiries, Other. | inferred | [string] (Array of strings) | 
| spoken\$1locations | Locations explicitly mentioned in the conversation, including cities, states, and countries. | extractive | [string] | 
| call\$1opening | Did the agent greet the caller and introduce themselves at the beginning of the call?  | extractive | boolean | 

# Creación de esquemas para vídeo
<a name="creating-blueprint-video"></a>

Los esquemas de archivos de vídeo tienen algunas cualidades únicas en comparación con otros esquemas, especialmente en la creación sobre el terreno. Los esquemas de vídeo tienen un parámetro denominado granularidad, que permite establecer un campo como Vídeo o Capítulo. Si el campo está configurado como vídeo, se detectará en todo el vídeo. Por ejemplo, si desea obtener un resumen de todo el clip, debería establecer la granularidad de ese campo en vídeo. 

Por el contrario, un campo con la granularidad establecida en Capítulo devolverá una respuesta para cada capítulo del vídeo. El campo devolverá un valor para cada capítulo de vídeo. Siguiendo con el ejemplo anterior, si quiere obtener un resumen de cada parte de un vídeo, debe establecer la granularidad en capítulo.

Al crear un campo de granularidad de capítulo, puede establecer un tipo de datos único, una matriz de entidades. Por ejemplo, si desea detectar los objetos visualmente destacados en el vídeo, puede crear un campo llamado `key-visual-objects` y configurar el tipo como una matriz de entidades. A continuación, este campo devolvería los nombres de las entidades en un objeto de matriz.

A continuación, se muestran algunos campos de ejemplo para el procesamiento de vídeo. Todos los campos de los esquemas de vídeo se consideran inferidos, excepto las entidades y las matrices de entidades.

## Ejemplos de campos de esquemas para la búsqueda de contenido multimedia
<a name="example-video-fields-search"></a>


|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| Campo | Instrucciones | Tipo de extracción | Tipo | Granularity (Grado de detalle) | 
| key-visual-objects | Please detect all the visually prominent objects in the video | extractive | Array of entities | [ "chapter" ] | 
| keywords | Searchable terms that capture key themes, cast, plot elements, and notable aspects of TV shows and movies to enhance content discovery. | inferred | Array of strings | ["video"] | 
| genre | The genre of the content. | inferred | string | ["video"] | 
| video-type | Identify the type of video content | inferred | enums: ["Movie", "TV series", "News", "Others"] | [ "video" ] | 

## Ejemplos de campos de esquemas para los aspectos destacados de las presentaciones principales
<a name="example-video-fields-keynote"></a>


|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| Campo | Instrucciones | Tipo de extracción | Tipo | Granularity (Grado de detalle) | 
| broadcast-setting | The physical setting or environment where the broadcast or training session is taking place. | inferred | enums["conference hall", "classroom", "outdoor venue", "Others", "Not applicable to the video"] | [ "video" ] | 
| broadcast-audience-engagement | The level of engagement or interaction between the speakers and the audience. | inferred | enums["interactive", "passive", "Not applicable to the video"] | ["video"] | 
| broadcast-visual-aids | A list of notable visual aids or materials used during the presentation, such as slides, diagrams, or demonstrations. | inferred | Array of strings | ["video"] | 
| broadcast-audience-size | The size of the audience present at the event. | inferred | enums["large crowd", "medium crowd", "small group", "Not applicable to this video"] | [ "chapter" ] | 
| broadcast-presentation-topics | A list of key topics, subjects, or themes covered in the presentation or training session. | inferred | enums: ["Movie", "TV series", "News", "Others"] | [ "video" ] | 

## Ejemplos de campos de esquemas para análisis de anuncios
<a name="example-video-fields-ad"></a>


|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| Campo | Instrucciones | Tipo de extracción | Tipo | Granularity (Grado de detalle) | 
| ads-video-ad-categories | The ad categories for the video | inferred | enums["Health and Beauty", "Weight Loss", "Food and Beverage", "Restaurants", "Political", "Cryptocurrencies and NFT", "Money Lending and Finance", "Tobacco", "Other", "Video is not an advertisement"] | [ "video" ] | 
| ads-video-language | The primary language of the advertisement | inferred | string | ["video"] | 
| ads-video-primary-brand | The main brand or company being advertised in the video. | inferred | string | ["video"] | 
| ads-video-main-message | The primary message or tagline conveyed in the advertisement | inferred | string | [ "video" ] | 
| ads-video-message-clarity | How clear and understandable the main message of the advertisement is | inferred | enums: ["clear", "ambiguous", "Not applicable to the video"] | [ "video" ] | 
| ads-video-target-audience-interests | Specific interests or hobbies that the target audience is likely to have | inferred | Array of strings | [ "video" ] | 
| ads-video-product-type | The category or type of product being advertised | inferred | enums: ["electronics", "apparel", "food\$1and\$1beverage", "automotive", "home\$1appliances", "other", "Not applicable to the video"] | [ "video" ] | 
| ads-video-product-placement | The way the product is positioned or showcased in the advertisement | inferred | enums: ["front\$1and\$1center", "background", "held\$1by\$1person", "other", "Not applicable to the video"] | [ "video" ] | 
| ads-video-product-features | The key features or specifications of the advertised product highlighted in the video | inferred | Array of strings | [ "video" ] | 
| ads-video-number-of-products | The number of distinct products or variations featured in the advertisement | inferred | number | [ "video" ] | 

El vídeo también admite una variedad de tipos de entidades, lo que ayuda a identificar y localizar entidades específicas dentro del contenido de vídeo. Esta característica devuelve una matriz de entidades detectadas. A continuación, se muestra un ejemplo de un conjunto de entidades en el esquema de un cliente:

```
  "field_name": {
        "items": {
            "$ref": "bedrock-data-automation#/definitions/Entity"
        },
        "type": "array",
        "instruction": "Please detect all the visually prominent objects in the video",
        "granularity": [
            "chapter"
        ]
    }
```

**nota**  
`bedrock-data-automation#/definitions/Entity` es un tipo de servicio propiedad de BDA. Para analizar los resultados, puede utilizar el siguiente esquema.

```
       {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "$id": "bedrock-data-automation",
        "type": "object",
        "definitions": {
            "BoundingBox": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "left": {
                        "type": "number"
                    },
                    "top": {
                        "type": "number"
                    },
                    "width": {
                        "type": "number"
                    },
                    "height": {
                        "type": "number"
                    }
                }
            },
            "Entity": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "label": {
                        "type": "string"
                    },
                    "bounding_box": {
                        "$ref": "bedrock-data-automation#/definitions/BoundingBox"
                    },
                    "confidence": {
                        "type": "number"
                    }
                }
            }
        },
        "properties": {}
    }
```

# Optimice sus planos con la verdad fundamental
<a name="bda-optimize-blueprint-info"></a>

Puede mejorar la precisión de los planos proporcionando activos de contenido de ejemplo con los resultados esperados correctos. **La optimización de las instrucciones del plan utiliza los ejemplos para refinar las instrucciones en lenguaje natural de los campos del plan, lo que mejora la precisión de los resultados de la inferencia.**

La optimización de las instrucciones de los planos funciona mejor cuando se necesitan extraer valores específicos que aparecen directamente en los documentos, como los números de facturas, los importes de los contratos o los campos de los formularios de impuestos. Te recomendamos proporcionar de 3 a 10 ejemplos de activos que representen los documentos que procesas durante la producción, especialmente aquellos en los que hayas tenido problemas de precisión.

**Cómo funciona la optimización de las instrucciones básicas**  
La optimización de las instrucciones de Blueprint analiza las diferencias entre los resultados esperados y los resultados de la inferencia inicial. El servicio refina de forma iterativa las instrucciones en lenguaje natural para cada campo del plano hasta que las instrucciones produzcan resultados más precisos en todos los activos de ejemplo. Este proceso se completa en cuestión de minutos sin requerir ningún tipo de entrenamiento o ajuste del modelo.

Al iniciar el proceso de optimización, proporciona los activos de ejemplo y los datos reales correspondientes, es decir, los valores correctos que espera extraer para cada campo. La optimización de las instrucciones del plan compara estos valores con los resultados de las inferencias y ajusta las descripciones de los campos para mejorar la precisión. Una vez finalizada la optimización, recibirá métricas de precisión que muestran la mejora en la precisión, incluidas las tasas de coincidencia exactas y las puntuaciones de F1 comparadas con su realidad básica.

**Lo que necesita antes de empezar a optimizar sus planos**  
**Un plano con campos definidos**. Cree un plano mediante la consola o la API. El plano debe incluir los nombres de los campos y las descripciones iniciales de los datos que desee extraer.

**Ejemplos de activos de contenido.** Reúna de 3 a 10 activos de documentos que representen su carga de trabajo de producción en documentos. Elija ejemplos que contengan todos los campos del plano.

**Resultados esperados para sus ejemplos**. Prepare los valores correctos que desee extraer de cada activo de ejemplo. Puede introducir estos valores manualmente durante la optimización o cargarlos mediante un archivo de manifiesto.

**Una ubicación de depósito de S3**. Especifique un depósito de S3 en el que desee almacenar los activos de ejemplo y los datos reales sobre el terreno. Puede proporcionar su propio depósito o permitir que el servicio cree uno por usted.

**Step-by-step proceso para optimizar su plan**  
Para optimizar su plan, comience desde la página de detalles del plan en la consola de Amazon Bedrock Data Automation. Tenga en cuenta que esto solo está disponible para su modalidad de documento.

Paso 1. Seleccione **Optimizar el esquema para iniciar** el flujo de trabajo de optimización.

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bda-blueprint-optimize-button.png)


Paso 2. **Cargue sus activos de ejemplo.** Elige hasta 10 activos de contenido desde tu dispositivo local o desde una ubicación S3. El servicio carga sus activos y muestra miniaturas de cada archivo. Si previamente optimizó este esquema, puede añadir nuevos ejemplos o eliminar los existentes.

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bda-optimize-files-selector.png)


Paso 3. **Proporcione información básica sobre cada activo**. Selecciona un activo para abrir el editor de información básica. El editor muestra la vista previa del documento a la izquierda y una tabla simplificada con los campos del plano a la derecha. Para cada campo, introduce el valor correcto que esperas extraer en la columna Ground Truth.

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bda-optimize-files-ground-truth.png)


Paso 4. **Para acelerar la introducción de la verdad fundamental, seleccione **Rellenar automáticamente** para realizar una inferencia inicial sobre sus activos y rellenar automáticamente la columna **Ground Truth a partir de los valores de la** columna Resultados.** Edita los valores incorrectos antes de continuar.

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bda-optimize-ground-truth-edit.png)


Paso 5. **Inicie la optimización**. Una vez que hayas introducido la información básica sobre todos los activos seleccionados, selecciona **Iniciar la optimización**. La automatización de datos analiza sus ejemplos y perfecciona las instrucciones en lenguaje natural para cada campo. Un indicador de progreso muestra el estado de la optimización con mensajes como «Lectura de los activos» e «Iteración siguiendo instrucciones en lenguaje natural predefinidas».

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bda-start-optimization-button.png)


Paso 6. **Revise las métricas de evaluación**. Cuando se complete la optimización, la sección **Métricas** mostrará las métricas de precisión de su plan. Las métricas comparan el rendimiento antes y después de la optimización. Revise la puntuación general de F1, la puntuación de confianza y la tasa de coincidencia exacta para evaluar si el modelo cumple con sus requisitos de precisión.

La pestaña **Métricas por archivo de muestra muestra** la precisión a nivel de campo para cada activo de ejemplo. Utilice estas métricas para identificar qué campos han mejorado y qué campos pueden necesitar ejemplos adicionales o ajustes manuales.

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/bda-optimize-metrics.png)


Paso 7. **Optimización completa**. Si las métricas de evaluación cumplen con sus requisitos, seleccione **Guardar plano optimizado** para llevar el modelo optimizado a la producción. Su plan ahora utiliza las refinadas instrucciones en lenguaje natural para todas las solicitudes de inferencia futuras.

**Vuelva a optimizar su plano**  
Puede volver a optimizar un plano en cualquier momento para mejorar aún más la precisión. **Vuelva a la página de detalles del plano y seleccione Optimizar el plano.** El servicio muestra los activos que utilizó anteriormente para la optimización junto con sus valores reales básicos.

Para volver a optimizarlos, puede añadir nuevos ejemplos de activos, editar los valores reales de los activos existentes o eliminar los activos que ya no representan su carga de trabajo. Al seleccionar **Iniciar la optimización**, la optimización de las instrucciones del plan calcula en relación con las instrucciones del plan actual y las nuevas.

**Edite un plano después de la optimización**  
Si añade o elimina campos de un esquema optimizado, el servicio elimina el historial de optimización y los activos de ejemplo asociados. Antes de editarlos, descargue el archivo de manifiesto que contiene las ubicaciones de sus activos y las etiquetas de veracidad del terreno. El archivo de manifiesto utiliza el formato JSON e incluye todos los campos y valores reales de la optimización anterior. Para preservar su trabajo de optimización, cargue el archivo de manifiesto cuando vuelva a optimizar el esquema editado. La automatización de datos aplica automáticamente los valores de verdad fundamentales a los campos coincidentes. Los campos que ya no existen en el esquema se eliminan del manifiesto. Los campos nuevos no tienen valores de verdad fundamentales hasta que los proporciones.

**Gestione los costes de optimización**  
La optimización de las instrucciones de Blueprint implica los costes de inferencia, como lo haría si editara manualmente las instrucciones en lenguaje natural y las probara iterativamente con cada documento de muestra. A modo de cálculo aproximado, el número de páginas que suministre como ejemplo será el número de páginas que se cobrarán a medida que optimice el plano. Cada ejecución de optimización procesa los activos de ejemplo varias veces para refinar las instrucciones. Para minimizar los costes, comience con 3 o 5 ejemplos para la optimización inicial. Añada más ejemplos cuando inspeccione las métricas de evaluación y considere que necesita mejoras adicionales de precisión.

Además, las instrucciones optimizadas en lenguaje natural suelen ser más largas y detalladas que las instrucciones originales, lo que puede aumentar los costes de inferencia en tiempo de ejecución.

# Uso de la consola de Automatización de Datos de Bedrock
<a name="bda-blueprints-console"></a>

En Automatización de Datos de Amazon Bedrock (BDA), se utilizan dos artefactos principales al procesar la información. Los proyectos, que almacenan las configuraciones de salida, y los esquemas, que permiten personalizar el formato de salida y la lógica de extracción del contenido no estructurado. 

En esta sección se explicará la creación de proyectos y esquemas en la consola de BDA. Para obtener más información sobre el funcionamiento de los proyectos en BDA, consulte [Proyectos de Automatización de Datos de Bedrock](bda-projects.md). Para obtener más información sobre los esquemas de BDA, consulte [Cómo crear esquemas para salidas personalizadas](bda-idp.md#how-to-create-blueprints).

## Proyectos en la consola de BDA
<a name="projects-in-bda-console"></a>

En la consola de BDA, puede crear y administrar proyectos. Los proyectos le permiten controlar qué salidas estándar se recuperan al ejecutar una operación de inferencia y controlar cómo se gestionan las salidas personalizadas durante la inferencia.

Siga este procedimiento para crear un proyecto:

1. Acceda al servicio de Amazon Bedrock. Desde allí, seleccione “Automatización de datos” en el menú de la barra lateral.

1. Seleccione “Crear proyecto”.

1. Asigne un nombre al proyecto y, a continuación, vuelva a seleccionar “Crear proyecto”.

1. Esto lo llevará a la página Detalles del proyecto, donde podrá ver qué salidas estándar están habilitadas para su proyecto. A continuación, puede controlar las salidas personalizadas seleccionando la pestaña “Salida personalizada” y seleccionando la opción “Crear esquema”. Además, puede añadir un esquema existente al proyecto.

## Creación de esquemas en la consola de BDA
<a name="accessing-bda-console"></a>

También puede seleccionar “Automatización de datos” en el menú de la barra lateral y acceder directamente a la configuración de salida personalizada. En el panel de BDA, localice la pestaña “Configuración de salida personalizada” y haga clic en ella. El enlace le dirigirá a la página Administración de esquemas.

## Inicio de la creación de esquemas
<a name="initiating-blueprint-creation"></a>

1. Haga clic en el botón “Crear esquema” para iniciar el proceso de creación de un nuevo esquema.

1. Seleccione “Cargar desde la computadora” o “Importar desde S3” y proporcione un archivo que sea representativo de los archivos que desea procesar.

1. Escriba una petición de esquema para la generación del esquema. Al escribir una petición, puede especificar cualquier campo que espere encontrar en el documento cargado. También puede especificar normalizaciones o validaciones de datos.

1. Seleccione “Generar esquema”.

1. Asigne un nombre al esquema y elija “Crear esquema”.

1. En la sección Esquemas personalizados, puede seleccionar el botón “Crear esquema”.

1. Se creará su esquema y podrá ver las extracciones que se hayan identificado en función de la petición que haya proporcionado.

## Vista previa del esquema
<a name="previewing-the-blueprint"></a>

Utilice la característica de vista previa para probar el esquema con datos de ejemplo. Esto le permite comprobar que la extracción y la aplicación de formato funcionen según lo previsto.

Seleccione “guardar y salir de la petición de esquema” para guardar el esquema como un recurso.

## Administración de esquemas
<a name="managing-blueprints"></a>

Tras su creación, puede administrar sus esquemas desde el panel de control de esquemas. Las opciones son:
+ Edición de esquemas existentes
+ Duplicación de esquemas
+ Creación de esquemas
+ Consulta del historial de versiones de esquemas

También puede añadir un esquema a un proyecto seleccionando el menú desplegable “Agregar al proyecto” y seleccionando un proyecto que haya creado.

## Uso del esquema
<a name="using-your-blueprint"></a>

Una vez creado, puede usar su esquema en proyectos de BDA o directamente en las llamadas a la API para procesar su contenido no estructurado. Cómo usar un esquema:
+ Cuando realice llamadas a la API, incluya el ARN del esquema en los parámetros de la solicitud. Para obtener más información, consulte la sección sobre cómo llamar a la API.
+ Al realizar una llamada a la API, incluya el ARN del proyecto que contiene el esquema. Para obtener más información, consulte la sección sobre cómo llamar a la API.

## Procesamiento de documentos con la consola
<a name="processing-documents-with-console"></a>

La consola de BDA también le permite probar y previsualizar fácilmente la información que BDA puede extraer de su contenido no estructurado. Estas pruebas solo pueden realizarse con un documento cada vez. Para procesar varios documentos, consulte Uso de la API. Puede cargar ejemplos de documentos, imágenes, vídeos o archivos de audio, y la consola mostrará la información predeterminada que BDA puede generar, además de la opción de aplicar cualquier esquema personalizado que haya creado.

Para probar un esquema que haya creado y aplicado a un proyecto, vaya a la sección Proyectos de Automatización de Datos y, a continuación, seleccione un proyecto.

Cuando esté en la página de detalles del proyecto, seleccione “Probar”. En la página Prueba, podrá seleccionar un archivo y elegir procesarlo con una salida estándar o con un esquema que haya creado.

# Uso de la API de Automatización de Datos de Bedrock
<a name="bda-using-api"></a>

La función Amazon Bedrock de automatización de datos (BDA) proporciona un flujo de trabajo de API simplificado para procesar sus datos. Para todas las modalidades, este flujo de trabajo consta de tres pasos principales: crear un proyecto, invocar el análisis y recuperar los resultados. Para recuperar una salida personalizada de los datos procesados, debe proporcionar el ARN del esquema al invocar la operación de análisis.

## Creación de un proyecto de automatización de datos
<a name="create-data-automation-project"></a>

Para empezar a procesar archivos con BDA, primero debe crear un proyecto de automatización de datos. Esto se puede hacer de dos formas, con la CreateDataAutomationProject operación o con la Amazon Amazon Bedrock Console.

### Uso de la API
<a name="using-the-api"></a>

Cuando se utiliza la API para crear un proyecto, se invoca la CreateDataAutomationProject. Al crear un proyecto, debe definir los ajustes de configuración para el tipo de archivo que va a procesar (la modalidad que pretende utilizar). A continuación, se muestra un ejemplo de cómo se puede configurar la salida estándar para las imágenes:

```
{
    "standardOutputConfiguration": {
        "image": {
            "state": "ENABLED",
            "extraction": {
                "category": {
                    "state": "ENABLED",
                    "types": [
                        "CONTENT_MODERATION",
                        "TEXT_DETECTION"
                    ]
                },
                "boundingBox": {
                    "state": "ENABLED"
                }
            },
            "generativeField": {
                "state": "ENABLED",
                "types": [
                    "IMAGE_SUMMARY",
                    "IAB"
                ]
            }
        }
    }
}
```

La API valida la configuración de entrada. Crea un nuevo proyecto con un ARN único. La configuración del proyecto se guarda para usarla más adelante. Si se crea un proyecto sin parámetros, se aplicará la configuración predeterminada. Por ejemplo, al procesar imágenes, el resumen de imágenes y la detección de texto estarán habilitadas de forma predeterminada.

Hay un límite en la cantidad de proyectos que se pueden crear por AWS cuenta. Es posible que no se permitan determinadas combinaciones de ajustes o que se requieran permisos adicionales.

------
#### [ Async ]

**Invoca Data Automation Async**

Tiene un proyecto configurado, puede empezar a procesar imágenes mediante la operación. [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html) Si utiliza una salida personalizada, solo puede enviar un único ARN de esquema por solicitud.

Esta llamada a la API inicia el procesamiento asíncrono de los archivos en un bucket de S3 específico. La API acepta el ARN del proyecto y el archivo que se va a procesar y, a continuación, inicia el trabajo de procesamiento asíncrono. Se devuelve un ID de trabajo para realizar un seguimiento del proceso. Se generarán errores si el proyecto no existe, si el iniciador de la llamada no tiene los permisos necesarios o si los archivos de entrada no están en un formato compatible.

A continuación, se muestra la estructura de la solicitud JSON:

```
{
   {
   "blueprints": [ 
      { 
         "blueprintArn": "string",
         "stage": "string",
         "version": "string"
      }
   ],
   "clientToken": "string",
   "dataAutomationConfiguration": { 
      "dataAutomationProjectArn": "string",
      "stage": "string"
   },
   "dataAutomationProfileArn": "string",
   "encryptionConfiguration": { 
      "kmsEncryptionContext": { 
         "string" : "string" 
      },
      "kmsKeyId": "string"
   },
   "inputConfiguration": { 
      "assetProcessingConfiguration": { 
         "video": { 
            "segmentConfiguration": { ... }
         }
      "s3Uri": "string"
   },
   "notificationConfiguration": { 
      "eventBridgeConfiguration": { 
         "eventBridgeEnabled": boolean
      }
   },
   "outputConfiguration": { 
      "s3Uri": "string"
   },
   "tags": [ 
      { 
         "key": "sstring",
         "value": "string"
      }
   ]
}
}
```

Cuando ejecuta `InvokeDataAutomationAsync` en un archivo de vídeo, puede configurar una sección de cinco minutos o más de un vídeo que se considerará un vídeo completo para la extracción de datos. Este tiempo se establece con una marca de tiempo del milisegundo inicial y del milisegundo final. Esta información se añade en el elemento `assetProcessingConfiguration`.

------
#### [ Sync ]

**Invoque la automatización de datos**

Como alternativa, puede utilizar la [InvokeDataAutomation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomation.html)operación. La `InvokeDataAutomation` operación solo admite el procesamiento de imágenes.

Esta llamada a la API inicia el procesamiento sincrónico de lo proporcionado a través de una referencia de S3 o en la carga útil. La API acepta el ARN del proyecto y el archivo que se va a procesar, y devuelve la información estructurada de la respuesta. Se generarán errores si el proyecto no existe, si el iniciador de la llamada no tiene los permisos necesarios o si los archivos de entrada no están en un formato compatible. Si la imagen analizada se clasifica semánticamente como un documento, también se generará como un error, ya que InvokeDataAutomation solo admite imágenes. Para evitar este error, puede utilizar el enrutamiento por modalidad en su proyecto para forzar el enrutamiento de todos los tipos de archivos de imagen como imágenes (consulte[Desactivación de modalidades y enrutamiento de tipos de archivos](bda-routing-enablement.md)).

Esta es la estructura de la solicitud de JSON tanto para la imagen como para el documento. La solicitud de la API de sincronización admite tanto los bytes de imagen como el bucket de S3. Para usar bytes de imagen, simplemente sustitúyalos `“s3Uri”: “string”` en la sección «Configuración de entrada» por si `“bytes“: “base64-encoded string“` `outputConfiguration` es opcional; el valor predeterminado es la salida en línea. Si se proporciona el URI de S3 como OutputConfiguration, la salida cifrada se colocará en el depósito de S3 especificado.

```
{
   {
    "blueprints": [ 
       { 
          "blueprintArn": "string",  //use for image
          "stage": "string",
          "version": "string"
       }
    ],
    "dataAutomationConfiguration": { 
       "dataAutomationProjectArn": "string",
       "stage": "string"
    },
    "dataAutomationProfileArn": "string",
    "inputConfiguration": { 
          "s3Uri": "string"
    },
    "outputConfiguration": { 
       "s3Uri": "string"
    }  
 }
}
```

La salida incluye estructuras únicas que dependen del archivo, las operaciones y la configuración de salida personalizada especificadas en la llamada a. InvokeDataAutomation Tenga en cuenta que esta respuesta incluye las respuestas de salida estándar y personalizadas.

------

Esta es la estructura de la respuesta JSON con una configuración de salida estándar y personalizada:

```
{
  "semanticModality": "IMAGE",
  "outputSegments": [
    {
      "customOutputStatus": "MATCH",
      "standardOutput": {
        "image": {
          "summary": "This image shows a white Nike running shoe with a black Nike swoosh logo on the side. The shoe has a modern design with a thick, cushioned sole and a sleek upper part. The word \"ROUKEA\" is visible on the sole of the shoe, repeated twice. The shoe appears to be designed for comfort and performance, suitable for running or athletic activities. The background is plain and dark, highlighting the shoe.",
          "iab_categories": [
            {
              "category": "Style and Fashion",
              "confidence": 0.9890000000000001,
              "taxonomy_level": 1,
              "parent_name": "",
              "id": "0ebe86c8-e9af-43f6-a7bb-182a61d2e1fd",
              "type": "IAB"
            },
            {
              "category": "Men's Fashion",
              "confidence": 0.9890000000000001,
              "taxonomy_level": 2,
              "parent_name": "Style and Fashion",
              "id": "13bd456a-3e1b-4681-b0dd-f42a8d5e5ad5",
              "type": "IAB"
            },
            {
              "category": "Style and Fashion",
              "confidence": 0.853,
              "taxonomy_level": 1,
              "parent_name": "",
              "id": "177b29a1-0e40-45c1-8540-5f49a3d7ded3",
              "type": "IAB"
            },
            {
              "category": "Women's Fashion",
              "confidence": 0.853,
              "taxonomy_level": 2,
              "parent_name": "Style and Fashion",
              "id": "f0197ede-3ba6-498b-8f7b-43fecc5735ef",
              "type": "IAB"
            }
          ],
          "content_moderation": [],
          "logos": [
            {
              "id": "2e109eb6-39f5-4782-826f-911b62d277fb",
              "type": "LOGOS",
              "confidence": 0.9170872209665809,
              "name": "nike",
              "locations": [
                {
                  "bounding_box": {
                    "left": 0.3977411523719743,
                    "top": 0.4922481227565456,
                    "width": 0.2574246356942061,
                    "height": 0.15461772197001689
                  }
                }
              ]
            }
          ],
          "text_words": [
            {
              "id": "f70301df-5725-405e-b50c-612e352467bf",
              "type": "TEXT_WORD",
              "confidence": 0.10091366487951722,
              "text": "ROUKEA",
              "locations": [
                {
                  "bounding_box": {
                    "left": 0.6486002310163024,
                    "top": 0.6783271480251003,
                    "width": 0.13219473954570082,
                    "height": 0.05802226710963898
                  },
                  "polygon": [
                    {
                      "x": 0.6486002310163024,
                      "y": 0.7025876947351404
                    },
                    {
                      "x": 0.7760931467045249,
                      "y": 0.6783271480251003
                    },
                    {
                      "x": 0.7807949705620032,
                      "y": 0.7120888684246991
                    },
                    {
                      "x": 0.6533020989743271,
                      "y": 0.7363494151347393
                    }
                  ]
                }
              ],
              "line_id": "9147fec0-d869-4d58-933e-93eb7164c404"
            }
          ],
          "text_lines": [
            {
              "id": "9147fec0-d869-4d58-933e-93eb7164c404",
              "type": "TEXT_LINE",
              "confidence": 0.10091366487951722,
              "text": "ROUKEA",
              "locations": [
                {
                  "bounding_box": {
                    "left": 0.6486002310163024,
                    "top": 0.6783271480251003,
                    "width": 0.13219473954570082,
                    "height": 0.05802226710963898
                  },
                  "polygon": [
                    {
                      "x": 0.6486002310163024,
                      "y": 0.7025876947351404
                    },
                    {
                      "x": 0.7760931467045249,
                      "y": 0.6783271480251003
                    },
                    {
                      "x": 0.7807949705620032,
                      "y": 0.7120888684246991
                    },
                    {
                      "x": 0.6533020989743271,
                      "y": 0.7363494151347393
                    }
                  ]
                }
              ]
            }
          ]
        },
        "statistics": {
          "iab_category_count": 4,
          "content_moderation_count": 0,
          "logo_count": 1,
          "line_count": 1,
          "word_count": 1
        },
        "metadata": {
          "semantic_modality": "IMAGE",
          "image_width_pixels": 173,
          "image_height_pixels": 148,
          "image_encoding": "jpeg",
          "s3_bucket": "test-bucket",
          "s3_key": "uploads/test-image.jpeg"
        }
      },
      "customOutput": {
        "matched_blueprint": {
          "arn": "arn:aws:bedrock:us-east-1:123456789012:blueprint/test",
          "version": "1",
          "name": "test-blueprint",
          "confidence": 1.0
        },
        "inference_result": {
          "product_details": {
            "product_category": "footwear"
          },
          "image_sentiment": "Positive",
          "image_background": "Solid color",
          "image_style": "Product image",
          "image_humor": false
        }
      }
    }
  ]
}
```

## Obtención del estado de la automatización de datos
<a name="get-data-automation-status"></a>

Para comprobar el estado de su trabajo de procesamiento y recuperar los resultados, utilice GetDataAutomationStatus.

La GetDataAutomationStatus API le permite supervisar el progreso de su trabajo y acceder a los resultados una vez finalizado el procesamiento. La API acepta el ARN de invocación devuelto por. InvokeDataAutomationAsync Comprueba el estado actual del trabajo y devuelve la información pertinente. Una vez finalizado el trabajo, proporciona la ubicación de los resultados en S3.

Si el trabajo aún está en curso, devuelve el estado actual (por ejemplo, "InProgress«). Si el trabajo está completo, devuelve “Success” junto con la ubicación en S3 de los resultados. Si se ha producido un error, devuelve "ServiceError" o ClientError "con los detalles del error.

Este es el formato de la solicitud JSON:

```
{
   "InvocationArn": "string" // Arn
}
```

## Respuesta de salida asíncrona
<a name="async-output-response"></a>

Los resultados del procesamiento de archivos se almacenan en el bucket de S3 configurado para las imágenes de entrada. La salida incluye estructuras únicas que dependen tanto de la modalidad del archivo como de los tipos de operación especificados en la llamada a InvokeDataAutomationAsync. 

Para obtener información sobre las salidas estándar de una modalidad determinada, consulte [Salida estándar en Automatización de Datos de Bedrock](bda-standard-output.md).

Por ejemplo, en el caso de las imágenes, puede incluir información sobre lo siguiente:
+ Resumen de imágenes: resumen descriptivo o título de la imagen.
+ Clasificación de IAB: clasificación basada en la taxonomía de IAB.
+ Detección de texto de imagen: texto extraído con información sobre el cuadro delimitador.
+ Moderación de contenido: detecta contenido inapropiado, no deseado u ofensivo en una imagen.

A continuación, se muestra un fragmento de código de ejemplo de la salida del procesamiento de imágenes:

```
{
    "metadata": {
        "id": "image_123",
        "semantic_modality": "IMAGE",
        "s3_bucket": "my-s3-bucket",
        "s3_prefix": "images/",
        "image_width_pixels": 1920,
        "image_height_pixels": 1080
    },
    "image": {
        "summary": "A lively party scene with colorful decorations and supplies",
        "iab_categories": [
            {
                "category": "Party Supplies",
                "confidence": 0.9,
                "parent_name": "Events & Attractions"
            }
        ],
        "content_moderation": [
            {
                "category": "Drugs & Tobacco Paraphernalia & Use",
                "confidence": 0.7
            }
        ],
        "text_words": [
            {
                "id": "word_1",
                "text": "lively",
                "confidence": 0.9,
                "line_id": "line_1",
                "locations": [
                    {
                        "bounding_box": {
                            "left": 100,
                            "top": 200,
                            "width": 50,
                            "height": 20
                        },
                        "polygon": [
                            {
                                "x": 100,
                                "y": 200
                            },
                            {
                                "x": 150,
                                "y": 200
                            },
                            {
                                "x": 150,
                                "y": 220
                            },
                            {
                                "x": 100,
                                "y": 220
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
```

Esta salida estructurada permite una fácil integración con las aplicaciones posteriores y un análisis posterior.

## Optimización del plano APIs
<a name="blueprint-optimization-apis"></a>

### InvokeBlueprintOptimizationAsync
<a name="invoke-blueprint-optimization-async"></a>

Puede mejorar la precisión de los planos proporcionando activos de contenido de ejemplo con los resultados esperados correctos. *La optimización de las instrucciones del plan utiliza los ejemplos para refinar las instrucciones en lenguaje natural de los campos del plan, lo que mejora la precisión de los resultados de la inferencia.*

En el caso de un plano, puedes utilizar la InvokeBlueprintOptimizationAsync API, que inicia el trabajo de optimización asíncrona para mejorar las instrucciones de campo del Blueprint en función de datos reales.

**Cuerpo de la solicitud**  


```
{
    "blueprint": {
        "blueprintArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint/my-document-processor",
        "stage": "DEVELOPMENT"
    },
    "samples": [
        {
            "assetS3Object": {
                "s3Uri": "s3://my-optimization-bucket/samples/document1.pdf"
            },
            "groundTruthS3Object": {
                "s3Uri": "s3://my-optimization-bucket/ground-truth/document1-expected.json"
            }
        }
    ],
    "outputConfiguration": {
        "s3Object": {
            "s3Uri": "s3://my-optimization-bucket/results/optimization-output"
        }
    },
    "dataAutomationProfileArn": "arn:aws:bedrock:us-east-1:123456789012:data-automation-profile/my-profile"
}
```

**Respuesta**  


```
{
    "invocationArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint-optimization-invocation/opt-12345abcdef"
}
```

**importante**  
Guarde el ARN de invocación para supervisar el estado del trabajo de optimización.

### GetBlueprintOptimizationStatus
<a name="get-blueprint-optimization-status"></a>

Recupera el estado actual y los resultados de un trabajo de optimización de planos generado mediante una llamada a la API asíncrona. InvokeBlueprintOptimizationAsync GetBlueprintOptimizationStatus acepta el ARN de invocación devuelto por. InvokeBlueprintOptimizationAsync

**Respuesta**  


```
{
    "status": "Success",
    "outputConfiguration": {
        "s3Object": {
            "s3Uri": "s3://my-optimization-bucket/results/optimization-output"
        }
    }
}
```

**Valores de los estados:**  

+ Creado: se ha creado el trabajo
+ InProgress - La optimización se está ejecutando
+ Éxito: la optimización se completó correctamente
+ ServiceError - Se ha producido un error de servicio interno
+ ClientError - Parámetros de solicitud no válidos

### CopyBlueprintStage
<a name="copy-blueprint-stage"></a>

Copia el plano de la etapa de origen a la etapa de destino (p. ej. De la etapa de DESARROLLO a la etapa EN VIVO). Esto se usará para sincronizar toda la configuración, incluido el campo OptimizationSamples, entre las etapas.

**Cuerpo de la solicitud**  


```
{
    "blueprintArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint/my-document-processor",
    "sourceStage": "DEVELOPMENT",
    "targetStage": "LIVE"
}
```

**Valores de la etapa:**  

+ DESARROLLO: Development/testing etapa
+ EN DIRECTO - Etapa de producción

**Respuesta**  


```
{}
```

**aviso**  
Esta operación sobrescribe la configuración de la etapa de destino y no se puede deshacer fácilmente. Asegúrese de realizar pruebas exhaustivas antes de copiar al escenario LIVE.

# Etiquetado de inferencias y recursos de Automatización de Datos de Bedrock
<a name="bda-tagging"></a>

Para ayudarle a administrar sus recursos e inferencias de BDA, puede asignar sus propios metadatos a cualquiera de ellos como etiquetas. Una etiqueta es una marca que se asigna a un recurso de AWS, como un proyecto o esquema. Cada etiqueta consta de una clave y un valor.

Las etiquetas le permiten clasificar los recursos de AWS de diversas maneras, por ejemplo, según su finalidad, propietario o aplicación. El etiquetado de las inferencias funciona de forma ligeramente diferente. Este tipo de etiquetado permite clasificar no solo proyectos o esquemas, sino también llamadas específicas a la API de BDA. Para obtener más información, consulte Etiquetado de los recursos de AWS.

Además de la clasificación, puede usar etiquetas de inferencia para ver las asignaciones de costos cada mes. Para obtener más información, consulte Uso de etiquetas de asignación de costos en la Guía del usuario de Administración de facturación y costos de AWS.

Las etiquetas le ayudan a hacer lo siguiente:
+ Identificar y organizar sus recursos de AWS. Muchos recursos de AWS admiten el etiquetado, por lo que puede asignar la misma etiqueta a los recursos de distintos servicios para indicar que los recursos son iguales.
+ Controle el acceso a los recursos. Puede usar etiquetas con Amazon Bedrock que le permiten crear políticas para controlar el acceso a los recursos de Amazon Bedrock. Estas políticas se pueden asociar a un rol o usuario de IAM para habilitar el control de acceso basado en etiquetas.
+ Asignar costes. Las etiquetas se activan en el panel de Administración de facturación y costos de AWS. AWS usa las etiquetas para clasificar los costes y enviar un informe mensual de asignación de costos. Se puede utilizar únicamente con el etiquetado de inferencias.

Para obtener más información sobre el etiquetado de recursos e inferencias, por ejemplo, sobre cómo utilizar las operaciones de etiquetado de la API, consulte [Etiquetado de los recursos de Amazon Bedrock](tagging.md).

# Requisitos previos para utilizar Automatización de Datos de Bedrock
<a name="bda-limits"></a>

Los archivos de BDA deben cumplir ciertos requisitos para que se puedan procesar. En las tablas siguientes se muestran cuáles son esos requisitos para los distintos tipos de archivos.

------
#### [ Async ]

**Requisitos de archivos de documentos asíncronos**

En las siguientes tablas se muestran los requisitos de los archivos procesados con la API Async de Invoke Data Automation.


**Requisitos de archivo de documento**  

|  Descripción del requisito  |  Detalles del requisito  | 
| --- | --- | 
|  (Consola) Número máximo de páginas por archivo de documento  |  20  | 
|  Número máximo de páginas por documento con el divisor activado  |  3 000  | 
|  (Consola) Tamaño máximo de archivo (MB)  |  200  | 
|  Tamaño máximo de archivo (MB)  |  500  | 
|  Formatos de archivo compatibles  |  PDF, TIFF, JPEG, PNG, DOCX  | 
|  Límites específicos de la API  |  La altura y el ancho máximos son 40 pulgadas y 9000 puntos. PDFs no se puede proteger con contraseña. PDFs puede contener imágenes con formato JPEG 2000.  | 
|  Rotación del documento y tamaño de la imagen  |  BDA admite todas las rotaciones de documentos en el plano, por ejemplo, la rotación en el plano de 45 grados. BDA admite imágenes con una resolución inferior o igual a 10 000 píxeles en todos los lados.  | 
|  Alineación de texto  |   El texto puede ser texto alineado horizontalmente dentro del documento. El texto dispuesto horizontalmente se puede leer independientemente del grado de rotación del documento. BDA no admite la alineación vertical del texto (texto escrito verticalmente, como es habitual en idiomas como el japonés y el chino) dentro del documento.  | 
|  Tamaño de caracteres  |  La altura mínima para detectar el texto es de 15 píxeles. Un valor de PPP de 150 sería lo mismo que una fuente de 8 puntos.  | 
|  Tipos de caracteres  |  BDA admite el reconocimiento de caracteres manuscritos e impresos.   | 

**nota**  
Para procesar los archivos DOCX, se convierten a. PDFs Esto significa que la asignación de números de página no funcionará para los archivos DOCX. Si selecciona la opción JSON\$1 y la granularidad de la página, las imágenes convertidas PDFs se cargarán en el depósito de salida.

La optimización de las instrucciones de Blueprint admite todos los límites anteriores para los documentos, con las siguientes diferencias:
+ Un total de 10 ejemplos de activos documentales
+ Ejemplo de activo de 20 páginas por documento en la consola y la API
+ 200 MB para el ejemplo total del recurso documental
+ Solo los formatos de archivo de documentos PDF, DOCX y TIFF

------
#### [ Sync ]

**Requisitos de sincronización de archivos de documentos**

En las siguientes tablas se muestran los requisitos de los archivos procesados con la API Invoke Data Automation.


**Requisitos de archivo de documento**  

|  Descripción del requisito  |  Detalles del requisito  | 
| --- | --- | 
|  (Consola) Número máximo de páginas por archivo de documento  |  10  | 
|  Número máximo de páginas por archivo de documento (el separador no está disponible)  |  10  | 
|  (Consola) Tamaño máximo de archivo (MB)  |  50  | 
|  Tamaño máximo de archivo (MB)  |  50  | 
|  Formatos de archivo compatibles  |  PDF, TIFF, JPEG, PNG  | 
|  Límites específicos de la API  |  La altura y el ancho máximos son 40 pulgadas y 9000 puntos. PDFs no se puede proteger con contraseña. PDFs puede contener imágenes con formato JPEG 2000.  | 
|  Rotación del documento y tamaño de la imagen  |  BDA admite todas las rotaciones de documentos en el plano, por ejemplo, la rotación en el plano de 45 grados. BDA admite imágenes con una resolución inferior o igual a 10 000 píxeles en todos los lados.  | 
|  Alineación de texto  |   El texto puede ser texto alineado horizontalmente dentro del documento. El texto dispuesto horizontalmente se puede leer independientemente del grado de rotación del documento. BDA no admite la alineación vertical del texto (texto escrito verticalmente, como es habitual en idiomas como el japonés y el chino) dentro del documento.  | 
|  Tamaño de caracteres  |  La altura mínima para detectar el texto es de 15 píxeles. Un valor de PPP de 150 sería lo mismo que una fuente de 8 puntos.  | 
|  Tipos de caracteres  |  BDA admite el reconocimiento de caracteres manuscritos e impresos.   | 

**nota**  
Los subtítulos de figuras funcionan con 20 imágenes por documento de 10 páginas (sincronizadas) y 20 imágenes por página (asíncronas).

**sugerencia**  
Consejos para acelerar el procesamiento de la API de sincronización:  
Desactive los campos generativos a menos que sea absolutamente necesario.
Seleccione solo la granularidad y el formato de texto de salida que necesite (en lugar de seleccionar varios).
Simplifique su plan para reducir la cantidad de campos extraídos en la medida de lo posible.
Reduzca la cantidad de campos de tablas y listas en su plano siempre que sea posible.

------


**Requisitos del plano**  

|  Descripción del requisito  |  Detalles del requisito  | 
| --- | --- | 
|  Número máximo de planos por proyecto  |  40  | 
|  Número máximo de proyectos por cuenta  |  100  | 
|  Número máximo de planos por cuenta  |  1 000  | 
|  Número máximo de versiones del blueprint  |  100  | 
|  Número máximo de campos de hojas de planos  |  100  | 
|  Número máximo de campos de hoja de lista de planos  |  30  | 
|  Longitud máxima del nombre del blueprint  |  60 caracteres  | 
|  Longitud máxima de la descripción del campo del esquema  |  600 caracteres (documento), 500 caracteres () image/video/audio  | 
|  Longitud máxima del nombre del campo del esquema  |  60 caracteres  | 
|  Tamaño máximo del plano  |  100.000 caracteres (con formato JSON)  | 


**Requisitos de archivos de imágenes**  

|  Descripción del requisito  |  Detalles del requisito  | 
| --- | --- | 
|  Tamaño máximo de archivo (MB)  |  5  | 
|  Resolución máxima  |  8000  | 
|  Formatos de archivo compatibles  |  JPEG, PNG  | 


**Requisitos de archivos de vídeo**  

|  Descripción del requisito  |  Detalles del requisito  | 
| --- | --- | 
|  Tamaño máximo de archivo (MB)  |  10240  | 
|  Duración máxima del vídeo (minutos)  |  240  | 
|  Formatos de archivo compatibles  |  MP4, formatos de contenedor MOV, AVI, MKV o WEBM con códecs de vídeo visual H.264, H.265/HEVC,, VP8 o MPEG-4 VP9 AV1  | 
|  Número máximo de esquemas de vídeo por proyecto  |  1  | 
|  Número máximo de esquemas de vídeo por solicitud de inicio de inferencia  |  1  | 
|  Resolución mínima  |  224  | 
|  Resolución máxima  |  7680  | 
|  Velocidad de fotogramas mínima (fotogramas por segundo)  |  1  | 
|  Velocidad de fotogramas máxima (fotogramas por segundo)  |  60  | 


**Requisitos de los archivos de audio**  

|  Descripción del requisito  |  Detalles del requisito  | 
| --- | --- | 
|  Idiomas de entrada compatibles  |  Inglés, Alemania, español, francés, italiano, portugués, japonés, coreano, chino, taiwanés y cantonés. *\$1Todas las configuraciones regionales son compatibles con los idiomas anteriores.*  | 
|  Idiomas de salida compatibles  |  Inglés o el idioma dominante del audio.  | 
|  Frecuencia mínima de muestreo de audio (Hz)  |  8000  | 
|  Frecuencia mínima de muestreo de audio (Hz)  |  48000  | 
|  Tamaño máximo de archivo (MB)  |  2048  | 
|  Duración máxima de audio (minutos)  |  240  | 
|  Duración mínima de audio (milisegundos)  |  500  | 
|  Formatos de archivo compatibles  |  AMR, FLAC, M4A, Ogg, WAV MP3  | 
|  Número máximo de esquemas de audio por proyecto  |  1  | 
|  Número máximo de esquemas de audio por solicitud de inicio de inferencia  |  1  | 
|  Número máximo de canales de audio para los archivos de audio  |  2  | 

# Uso de la CLI de automatización de Amazon Bedrock datos
<a name="bda-cli-guide"></a>

La función Amazon Bedrock de automatización de datos (BDA) proporciona un flujo de trabajo de CLI optimizado para procesar los datos. Para todas las modalidades, este flujo de trabajo consta de tres pasos principales: crear un proyecto, crear esquemas para una salida personalizada y procesar documentos. En esta guía se explican los comandos principales de la CLI para trabajar con BDA. 

## Creación de su primer proyecto de Automatización de Datos
<a name="create-data-automation-project-cli"></a>

Para empezar a trabajar con BDA, cree primero un proyecto con el comando `create-data-automation-project`.

Considere este ejemplo de pasaporte que procesaremos:

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/passport2.png)


Al crear un proyecto, debe definir los ajustes de configuración para el tipo de archivo que va a procesar. El siguiente comando representa un ejemplo funcional mínimo para crear un proyecto de procesamiento de imágenes:

```
aws bedrock-data-automation create-data-automation-project \
    --project-name "ImageProcessingProject" \
    --standard-output-configuration '{
        "image": {
            "extraction": {
                "category": {
                    "state": "ENABLED",
                    "types": ["TEXT_DETECTION"]
                },
                "boundingBox": {
                    "state": "ENABLED"
                }
            },
            "generativeField": {
                "state": "ENABLED"
            }
        }
    }'
```

El comando valida la configuración de entrada y crea un nuevo proyecto con un ARN único. Una respuesta incluiría el ARN y la etapa del proyecto:

```
{
    "projectArn": "Amazon Resource Name (ARN)",
    "projectStage": "DEVELOPMENT",
    "status": "IN_PROGRESS"
}
```

Si se crea un proyecto sin parámetros, se aplicará la configuración predeterminada. Por ejemplo, al procesar imágenes, el resumen de imágenes y la detección de texto estarán habilitadas de forma predeterminada.

## Referencia de parámetros completa
<a name="create-project-parameters"></a>

El ejemplo de código siguiente muestra todos los parámetros disponibles para el comando `create-data-automation-project`:


**Parámetros para create-data-automation-project**  

| Parámetro | Obligatorio | Predeterminado | Description (Descripción) | 
| --- | --- | --- | --- | 
| --project-name | Sí | N/A | Nombre del proyecto de Automatización de Datos | 
| --project-type | No | El tipo de proyecto define con qué API de procesamiento en tiempo de ejecución se puede usar. ASYNClos proyectos solo se pueden usar con la invoke-bedrock-data-automation-async API, mientras que SYNC los proyectos solo se pueden usar con la invoke-bedrock-data-automation API. | 
| --project-stage | No | ACTIVA | Etapa del proyecto (EN DESARROLLO o EN DIRECTO) | 
| --standard-output-configuration | Sí | N/A | Configuración JSON para el procesamiento de salida estándar | 
| --custom-output-configuration | No | N/A | Configuración JSON para el procesamiento de salida personalizada | 
| --encryption-configuration | No | N/A | Configuración de cifrado para el proyecto | 
| --client-token | No | Generado automáticamente | Identificador único para la idempotencia de la solicitud | 

## Creación de un esquema
<a name="create-blueprint-cli"></a>

Tras crear un proyecto, puede crear un esquema para definir la estructura del procesamiento de datos mediante el comando `create-blueprint`.

Este es un ejemplo funcional mínimo para crear un esquema adaptado al procesamiento de pasaportes:

```
aws bedrock-data-automation create-blueprint \
    --blueprint-name "passport-blueprint" \
    --type "IMAGE" \
    --blueprint-stage "DEVELOPMENT" \
    --schema '{
        "class": "Passport",
        "description": "Blueprint for processing passport images",
        "properties": {
            "passport_number": {
                "type": "string",
                "inferenceType": "explicit",
                "instruction": "The passport identification number"
            },
            "full_name": {
                "type": "string",
                "inferenceType": "explicit",
                "instruction": "The full name of the passport holder"
            }
        }
    }'
```

El comando crea un nuevo esquema con la estructura especificada. A continuación, puede utilizar este esquema al procesar documentos para extraer datos estructurados de acuerdo con la estructura que haya definido.

## Uso del esquema
<a name="using-blueprint-cli"></a>

### Adición de un esquema a un proyecto
<a name="adding-blueprint-to-project"></a>

Para añadir un esquema a su proyecto, utilice el comando `update-data-automation-project`:

```
aws bedrock-data-automation update-data-automation-project \
    --project-arn "Amazon Resource Name (ARN)" \
    --standard-output-configuration '{
        "image": {
            "extraction": {
                "category": {
                    "state": "ENABLED",
                    "types": ["TEXT_DETECTION"]
                },
                "boundingBox": {
                    "state": "ENABLED"
                }
            },
            "generativeField": {
                "state": "ENABLED",
                "types": ["IMAGE_SUMMARY"]
            }
        }
    }' \
    --custom-output-configuration '{
        "blueprints": [
            {
                "blueprintArn": "Amazon Resource Name (ARN)",
                "blueprintVersion": "1",
                "blueprintStage": "LIVE"
            }
        ]
    }'
```

### Verificación de la integración del esquema
<a name="verifying-blueprint-integration"></a>

Puede verificar la integración del esquema mediante el comando `get-data-automation-project`:

```
aws bedrock-data-automation get-data-automation-project \
    --project-arn "Amazon Resource Name (ARN)"
```

### Administración de varios esquemas
<a name="managing-multiple-blueprints"></a>

Use el comando `list-blueprints` para ver todos tus esquemas:

```
aws bedrock-data-automation list-blueprints
```

## Procesa documentos de forma asíncrona
<a name="invoke-data-automation-cli"></a>

Antes de procesar documentos con BDA, primero debe cargarlos en un depósito de S3. Una vez que haya configurado un proyecto, podrá procesar los documentos mediante el comando: `invoke-data-automation-async`

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
    --input-configuration '{
        "s3Uri": "s3://my-bda-documents/invoices/invoice-123.pdf"
    }' \
    --output-configuration '{
        "s3Uri": "s3://my-bda-documents/output/"
    }' \
    --data-automation-configuration '{
        "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
        "stage": "LIVE"
    }' \
    --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

El comando devuelve un ARN de invocación que puede utilizar para comprobar el estado del procesamiento:

```
{
    "invocationArn": "Amazon Resource Name (ARN)"
}
```

## Comprobación de estado de procesamiento
<a name="get-data-automation-status-cli"></a>

Para comprobar el estado del trabajo de procesamiento, utilice el comando `get-data-automation-status`:

```
aws bedrock-data-automation-runtime get-data-automation-status \
    --invocation-arn "Amazon Resource Name (ARN)"
```

El comando devuelve el estado actual del trabajo de procesamiento:

```
{
    "status": "COMPLETED",
    "creationTime": "2025-07-09T12:34:56.789Z",
    "lastModifiedTime": "2025-07-09T12:45:12.345Z",
    "outputLocation": "s3://my-bda-documents/output/efgh5678/"
}
```

Los valores de estado posibles son:
+ `IN_PROGRESS`: el trabajo de procesamiento se está ejecutando actualmente.
+ `COMPLETED`: el trabajo de procesamiento se ha completado correctamente.
+ `FAILED`: el trabajo de procesamiento ha fallado. Compruebe la respuesta para ver los detalles del error.
+ `STOPPED`: el trabajo de procesamiento se ha detenido manualmente.

## Recuperación de los resultados
<a name="retrieve-results-cli"></a>

Una vez finalizado el procesamiento, puede mostrar los archivos de salida en su bucket de S3:

```
aws s3 ls s3://my-bda-documents/output/efgh5678/
```

Cómo descargar los resultados en el equipo local:

```
aws s3 cp s3://my-bda-documents/output/efgh5678/ ~/Downloads/bda-results/ --recursive
```

La salida incluye datos estructurados basados en la configuración del proyecto y en los esquemas que haya aplicado.

## Procese los documentos de forma sincrónica
<a name="process-docs-sync"></a>

Antes de procesar documentos con BDA, primero debe cargarlos en un bucket de S3. La API de sincronización admite tanto la entrada mediante un depósito de S3 como la de bytes de imagen (es decir, el procesamiento de documentos sin S3). El comando devuelve datos estructurados en función de la configuración del proyecto y de los planos que haya aplicado:

```
aws bedrock-data-automation-runtime invoke-data-automation \
    --input-configuration '{
        "s3Uri": "s3://my-bda-documents/invoices/invoice-123.pdf"
    }' \
    --data-automation-configuration '{
        "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
        "stage": "LIVE"
    }' \
    --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

## Procesa imágenes de forma sincrónica
<a name="process-images-sync"></a>

El comando devuelve datos estructurados en función de la configuración del proyecto y de los planos que haya aplicado:

```
aws bedrock-data-automation-runtime invoke-data-automation \
    --input-configuration '{
        "s3Uri": "s3://my-bda-documents/invoices/advertisement_latest.jpeg"
    }' \
    --data-automation-configuration '{
        "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
        "stage": "LIVE"
    }' \
    --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

# CLI de operaciones con esquemas
<a name="bda-blueprint-operations"></a>

En esta guía se describen las operaciones de blueprint disponibles a través de la interfaz de línea de comandos (CLI) de AWS para la automatización de Amazon Bedrock datos (BDA).

## Creación de esquemas
<a name="create-blueprints-cli"></a>

Los esquemas definen la estructura y las propiedades de los datos que desea extraer de sus documentos, imágenes, archivos de audio o vídeo. Utilice el comando create-blueprint para definir un nuevo esquema.

El siguiente comando crea un nuevo esquema adaptado para extraer datos de la imagen de un pasaporte.

**Sintaxis**

```
aws bedrock-data-automation create-blueprint \
      --blueprint-name "passport-blueprint" \
      --type "IMAGE" \
      --blueprint-stage "DEVELOPMENT" \
      --schema '{
        "class": "Passport",
        "description": "Blueprint for processing passport images",
        "properties": {
          "passport_number": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The passport identification number"
          },
          "full_name": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The full name of the passport holder"
          },
          "expiration_date": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The passport expiration date"
          }
        }
      }'
```

## Referencia de parámetros completa
<a name="create-blueprint-parameters"></a>

El ejemplo de código siguiente muestra todos los parámetros disponibles para el comando `create-blueprint`:


**Parámetros de create-blueprint**  

| Parámetro | Obligatorio | Predeterminado | Description (Descripción) | 
| --- | --- | --- | --- | 
| --blueprint-name | Sí | N/A | Nombre del esquema | 
| --type | Sí | N/A | Tipo de contenido (IMAGEN, DOCUMENTO, AUDIO, VÍDEO) | 
| --blueprint-stage | No | ACTIVA | Etapa del esquema (EN DESARROLLO o EN DIRECTO) | 
| --schema | Sí | N/A | Esquema JSON que define la estructura del esquema | 
| --client-token | No | Generado automáticamente | Identificador único para la idempotencia de la solicitud | 

## Consulta de las configuraciones de esquemas
<a name="view-blueprint-cli"></a>

**Enumeración de todos los esquemas**

Utilice el comando list-blueprints para recuperar una lista de todos los esquemas asociados a su cuenta.

**Sintaxis**

```
aws bedrock-data-automation list-blueprints
```

**Consulta de los detalles del esquema**

Para ver información detallada sobre un esquema específico, incluidos su estructura y configuración, utilice el comando get-blueprint.

**Sintaxis**

```
aws bedrock-data-automation get-blueprint \
      --blueprint-arn "Amazon Resource Name (ARN)"
```

**Inspección de una versión específica**

Cuando trabaje con esquemas con control de versiones, utilice el comando get-blueprint con la opción --blueprint-version para ver una versión concreta.

**Sintaxis**

```
      aws bedrock-data-automation get-blueprint \
      --blueprint-arn "Amazon Resource Name (ARN)" \
      --blueprint-version "version-number"
```

**Inspección de una etapa específica**

Para ver los esquemas en la etapa EN DESARROLLO o EN DIRECTO, utilice:

```
      aws bedrock-data-automation get-blueprint \
      --blueprint-arn "Amazon Resource Name (ARN)" \
      --blueprint-stage "LIVE"
```

## Edición de especificaciones del esquema
<a name="edit-blueprint-cli"></a>

**Actualización de la configuración del esquema**

Para modificar la estructura o las propiedades de un esquema existente, utilice el comando update-blueprint.

**Sintaxis**

```
aws bedrock-data-automation update-blueprint \
      --blueprint-arn "Amazon Resource Name (ARN)" \
      --schema '{
        "class": "Passport",
        "description": "Updated blueprint for processing passport images",
        "properties": {
          "passport_number": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The passport identification number"
          },
          "full_name": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The full name of the passport holder"
          },
          "expiration_date": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The passport expiration date"
          }
        }
      }'
```

**Nota:** Al actualizar un esquema, debe proporcionar la estructura completa, incluso para los campos que no vaya a cambiar.

**Promoción a EN DIRECTO**

Para pasar un esquema de la etapa EN DESARROLLO a EN DIRECTO, utilice el comando update-blueprint con la opción --blueprint-stage.

**Sintaxis**

```
aws bedrock-data-automation update-blueprint \
      --blueprint-arn "Amazon Resource Name (ARN)" \
      --blueprint-stage "LIVE"
```

**Control de versiones del esquema**

Cree una nueva versión de su Blueprint para conservar su estado actual antes de realizar cambios importantes mediante el create-blueprint-version comando.

**Sintaxis**

```
aws bedrock-data-automation create-blueprint-version \
      --blueprint-arn "Amazon Resource Name (ARN)"
```

## Administración de etiquetas de esquemas
<a name="tag-management-cli"></a>

Las etiquetas ayudan a los usuarios a organizar y clasificar los esquemas para simplificar la administración.

**Añada etiquetas**

Aplique metadatos a su esquema añadiendo etiquetas.

**Sintaxis**

```
aws bedrock-data-automation tag-resource \
      --resource-arn "Amazon Resource Name (ARN)" \
      --tags '{"Department":"Finance","Project":"PassportProcessing"}'
```

**Eliminar etiquetas**

Elimine etiquetas específicas de su esquema con el comando untag-resource.

**Sintaxis**

```
aws bedrock-data-automation untag-resource \
      --resource-arn "Amazon Resource Name (ARN)" \
      --tag-keys '["Department","Project"]'
```

**Consulta de etiquetas**

Haz una lista de todas las etiquetas asociadas a tu Blueprint mediante el list-tags-for-resource comando.

**Sintaxis**

```
aws bedrock-data-automation list-tags-for-resource \
      --resource-arn "Amazon Resource Name (ARN)"
```

## Creación de esquemas
<a name="delete-blueprint-cli"></a>

**Eliminación de un esquema completo**

Utilice el comando delete-blueprint para eliminar permanentemente un esquema y todas sus versiones.

**Sintaxis**

```
aws bedrock-data-automation delete-blueprint \
          --blueprint-arn "Amazon Resource Name (ARN)"
```

**Precaución:** Este comando elimina un esquema de forma permanente y no lo puede recuperar.

**Importante:** No puede eliminar un esquema que esté siendo utilizado actualmente en algún proyecto. Antes de eliminarlo, asegúrese de que no se haga referencia al esquema en la configuración de salida personalizada de ningún proyecto.

## Optimización del plano
<a name="blueprint-optimization-cli"></a>

### Invocando la optimización de planos
<a name="invoking-blueprint-optimization"></a>

Inicie un trabajo de optimización asíncrona del plan para mejorar las instrucciones del plano para cada uno de los campos del plan y la precisión de los resultados.

**Sintaxis**

```
aws bedrock-data-automation invoke-blueprint-optimization-async \
    --blueprint blueprintArn="arn:aws:bedrock:<region>:<account_id>:blueprint/<blueprint_id>",stage="DEVELOPMENT" \
    --samples '[
        {
            "assetS3Object": {
                "s3Uri": "s3://my-optimization-bucket/samples/document1.pdf"
            },
            "groundTruthS3Object": {
                "s3Uri": "s3://my-optimization-bucket/ground-truth/document1-expected.json"
            }
        }
    ]' \
    --output-configuration s3Object='{s3Uri="s3://my-optimization-bucket/results/optimization-output"}' \
    --data-automation-profile-arn "Amazon Resource Name (ARN):data-automation-profile/default"
```

### Comprobación del estado de la optimización del plano
<a name="checking-blueprint-optimization-status"></a>

Supervise el progreso y los resultados de un trabajo de optimización de planos.

**Sintaxis**

```
aws bedrock-data-automation get-blueprint-optimization-status \
    --invocation-arn "arn:aws:bedrock:<region>:<account_id>:blueprint-optimization-invocation/opt-12345abcdef"
```

Utilice este comando para realizar un seguimiento del estado del trabajo de optimización. La respuesta incluye el estado actual (Creado InProgress ServiceError, Éxito o ClientError) y los detalles de la configuración de salida una vez completada.

### Copiar las etapas del plano
<a name="copying-blueprint-stages"></a>

Copie un plano de una etapa a otra

**Sintaxis**

```
aws bedrock-data-automation copy-blueprint-stage \
    --blueprint-arn "arn:aws:bedrock:<region>:<account_id>:blueprint/<blueprint_id>" \
    --source-stage "DEVELOPMENT" \
    --target-stage "LIVE"
```

**Precaución:** Este comando copia toda la configuración del blueprint desde la etapa de origen a la etapa de destino y sobrescribe cualquier configuración existente en la etapa de destino.

**Importante:** Asegúrese de que el blueprint se haya probado exhaustivamente en la fase de origen antes de copiarlo a la fase de producción (LIVE). Esta operación no se puede deshacer fácilmente.

# Procesamiento mediante la CLI
<a name="bda-document-processing-cli"></a>

Antes de procesar documentos con BDA, primero debe cargar los documentos en un bucket de S3:

**Sintaxis**

```
aws s3 cp <source> <target> [--options]
```

Ejemplo:

```
aws s3 cp /local/path/document.pdf s3://my-bda-bucket/input/document.pdf
```

------
#### [ Async ]

**Estructura básica de comandos de procesamiento**

Utilice el comando `invoke-data-automation-async` para procesar archivos:

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://amzn-s3-demo-bucket/sample-images/sample-image.jpg"
        }' \
        --output-configuration '{
            "s3Uri": "s3://amzn-s3-demo-bucket/output/"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

**Estructura de comandos de procesamiento avanzada**

**Procesamiento de vídeo con segmentos de tiempo**

Para los archivos de vídeo, puede especificar los segmentos de tiempo que se van a procesar:

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://my-bucket/video.mp4",
            "assetProcessingConfiguration": {
                "video": {
                    "segmentConfiguration": {
                        "timestampSegment": {
                            "startTimeMillis": 0,
                            "endTimeMillis": 300000
                        }
                    }
                }
            }
        }' \
        --output-configuration '{
            "s3Uri": "s3://my-bucket/output/"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

**Uso de esquemas personalizados**

Puede especificar esquemas personalizados directamente en el comando:

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://my-bucket/document.pdf"
        }' \
        --output-configuration '{
            "s3Uri": "s3://my-bucket/output/"
        }' \
        --blueprints '[
            {
                "blueprintArn": "Amazon Resource Name (ARN)",
                "version": "1",
                "stage": "LIVE"
            }
        ]' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

**Adición de configuración de cifrado**

Para mejorar la seguridad, puede añadir una configuración de cifrado:

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://my-bucket/document.pdf"
        }' \
        --output-configuration '{
            "s3Uri": "s3://my-bucket/output/"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --encryption-configuration '{
            "kmsKeyId": "Amazon Resource Name (ARN)",
            "kmsEncryptionContext": {
                "Department": "Finance",
                "Project": "DocumentProcessing"
            }
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

**Notificaciones de eventos**

Habilite EventBridge las notificaciones para completar el procesamiento:

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://my-bucket/document.pdf"
        }' \
        --output-configuration '{
            "s3Uri": "s3://my-bucket/output/"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --notification-configuration '{
            "eventBridgeConfiguration": {
                "eventBridgeEnabled": true
            }
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

**Comprobar el estado del procesamiento**

Para comprobar el estado del trabajo de procesamiento, utilice el comando `get-data-automation-status`:

```
aws bedrock-data-automation-runtime get-data-automation-status \
        --invocation-arn "Amazon Resource Name (ARN)"
```

La respuesta incluirá el estado actual:

```
{
        "status": "COMPLETED",
        "creationTime": "2025-07-24T12:34:56.789Z",
        "lastModifiedTime": "2025-07-24T12:45:12.345Z",
        "outputLocation": "s3://my-bucket/output/abcd1234/"
        }
```

**Recupera los resultados del procesamiento**

**Localización de los archivos de salida en S3**

Muestre los archivos de salida en su bucket de S3:

```
aws s3 ls s3://amzn-s3-demo-bucket/output/
```

Descargue los resultados en el equipo local:

```
aws s3 cp s3://amzn-s3-demo-bucket/output/ ~/Downloads/bda-results/ --recursive
```

**Descripción de la estructura de salida**

La salida suele incluir lo siguiente:
+ `standard-output.json`: contiene los resultados de extracción estándar
+ `custom-output.json`: contiene los resultados de esquemas personalizados
+ `metadata.json`: contiene los metadatos de procesamiento y las puntuaciones de confianza

**Campos de respuesta comunes**

La salida estándar suele incluir lo siguiente:
+ `extractedData`: la información principal extraída
+ `confidence`: puntuaciones de confianza para cada campo extraído
+ `metadata`: información de procesamiento, incluidas las marcas de tiempo y los detalles del modelo
+ `boundingBoxes`: información de ubicación de los elementos detectados (si se ha activado)

**Manejo de errores y solución de problemas**

Escenarios y soluciones de error comunes:
+ **Invalid S3 URI**: asegúrese de que su bucket de S3 existe y de que tiene los permisos adecuados
+ **Falta data-automation-profile-arn**: este parámetro es obligatorio para todas las solicitudes de procesamiento
+ **Project not found**: compruebe que el ARN de su proyecto sea correcto y que el proyecto exista
+ **Unsupported file format**: compruebe que el formato de archivo sea compatible con BDA

**Añadir etiquetas a los trabajos de procesamiento**

Puede añadir etiquetas para facilitar la organización y el seguimiento de los trabajos de procesamiento:

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://my-bucket/document.pdf"
        }' \
        --output-configuration '{
            "s3Uri": "s3://my-bucket/output/"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --tags '[
            {
                "key": "Department",
                "value": "Finance"
            },
            {
                "key": "Project",
                "value": "InvoiceProcessing"
            }
        ]' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

------
#### [ Sync ]

**Estructura básica de comandos de procesamiento**

Utilice el comando `invoke-data-automation` para procesar archivos:

```
        aws bedrock-data-automation-runtime invoke-data-automation \
        --input-configuration '{
            "s3Uri": "s3://amzn-s3-demo-bucket/sample-images/sample-image.jpg"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
        --region "aws-region"
```

**Estructura de comandos de procesamiento avanzada**

Salida a un bucket S3

```
        aws bedrock-data-automation-runtime invoke-data-automation \
        --input-configuration '{
            "s3Uri": "s3://amzn-s3-demo-bucket/sample-images/sample-image.jpg"
        }' \
        --output-configuration '{"s3Uri": "s3://amzn-s3-demo-bucket/output/" }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
        --region "aws-region"   //document only
```

Utilice la entrada de bytes

```
        aws bedrock-data-automation-runtime invoke-data-automation \
        --input-configuration '{
            "bytes": #blob input
        }' \
        --output-configuration '{"s3Uri": "s3://amzn-s3-demo-bucket/output/" }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
        --region "aws-region"
```

**nota**  
**Bytes**  
Un bloque de bytes de documento codificados en base64. El tamaño máximo de un documento que se proporciona en un bloque de bytes es de 50 MB. El tipo debe ser un objeto de datos binarios codificado en Base64.

**Utilice planos personalizados (solo para imágenes)**

```
        aws bedrock-data-automation-runtime invoke-data-automation \
        --input-configuration '{
            "s3Uri": "s3://amzn-s3-demo-bucket/sample-images/sample-image.jpg"
        }' \
        --blueprints '[{"blueprintArn": "Amazon Resource Name (ARN)", "version": "1", "stage": "LIVE" } ]' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
        --region "aws-region"
```

------

# Casos de uso de procesamiento
<a name="bda-document-processing-examples"></a>

Automatización de Datos de Amazon Bedrock le permite procesar documentos, imágenes, audio y vídeo a través de la interfaz de la línea de comandos (CLI). Para todas las modalidades, este flujo de trabajo consta de los siguientes pasos: crear un proyecto, invocar el análisis y recuperar el resultado.

Elija la pestaña del método que prefiera y siga estos pasos:

------
#### [ Documents ]

**Extracción de datos de un formulario W2**

![\[Ejemplo de formulario W2 con campos estándar, que muestra el diseño y los campos de datos que se extraerán.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/W2.png)


Al procesar un formulario W2, un ejemplo de esquema sería el siguiente:

```
{
  "class": "W2TaxForm",
  "description": "Simple schema for extracting key information from W2 tax forms",
  "properties": {
    "employerName": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The employer's company name"
    },
    "employeeSSN": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The employee's Social Security Number (SSN)"
    },
    "employeeName": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The employee's full name"
    },
    "wagesAndTips": {
      "type": "number",
      "inferenceType": "explicit",
      "instruction": "Wages, tips, other compensation (Box 1)"
    },
    "federalIncomeTaxWithheld": {
      "type": "number",
      "inferenceType": "explicit",
      "instruction": "Federal income tax withheld (Box 2)"
    },
    "taxYear": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The tax year for this W2 form"
    }
  }
}
```

El comando para invocar el procesamiento del formulario W2 debería ser similar al siguiente:

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
  --input-configuration '{
    "s3Uri": "s3://w2-processing-bucket-301678011486/input/W2.png"
  }' \
  --output-configuration '{
    "s3Uri": "s3://w2-processing-bucket-301678011486/output/"
  }' \
  --data-automation-configuration '{
    "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
    "stage": "LIVE"
  }' \
  --data-automation-profile-arn "Amazon Resource Name (ARN):data-automation-profile/default"
```

Un ejemplo de la salida esperada es:

```
{
  "documentType": "W2TaxForm",
  "extractedData": {
    "employerName": "The Big Company",
    "employeeSSN": "123-45-6789",
    "employeeName": "Jane Doe",
    "wagesAndTips": 48500.00,
    "federalIncomeTaxWithheld": 6835.00,
    "taxYear": "2014"
  },
  "confidence": {
    "employerName": 0.99,
    "employeeSSN": 0.97,
    "employeeName": 0.99,
    "wagesAndTips": 0.98,
    "federalIncomeTaxWithheld": 0.97,
    "taxYear": 0.99
  },
  "metadata": {
    "processingTimestamp": "2025-07-23T23:15:30Z",
    "documentId": "w2-12345",
    "modelId": "amazon.titan-document-v1",
    "pageCount": 1
  }
}
```

------
#### [ Images ]

**Ejemplo de anuncio de viajes**

![\[Imagen de ejemplo que muestra cómo los usuarios pueden extraer información de los anuncios.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/bda/TravelAdvertisement.jpg)


Un ejemplo de esquema para anuncios de viajes sería el siguiente:

```
{
  "class": "TravelAdvertisement",
  "description": "Schema for extracting information from travel advertisement images",
  "properties": {
    "destination": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The name of the travel destination being advertised"
    },
    "tagline": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The main promotional text or tagline in the advertisement"
    },
    "landscapeType": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The type of landscape shown (e.g., mountains, beach, forest, etc.)"
    },
    "waterFeatures": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Description of any water features visible in the image (ocean, lake, river, etc.)"
    },
    "dominantColors": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The dominant colors present in the image"
    },
    "advertisementType": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The type of travel advertisement (e.g., destination promotion, tour package, etc.)"
    }
  }
}
```

El comando para invocar el procesamiento del anuncio de viajes debería ser similar al siguiente:

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
  --input-configuration '{
    "s3Uri": "s3://travel-ads-bucket-301678011486/input/TravelAdvertisement.jpg"
  }' \
  --output-configuration '{
    "s3Uri": "s3://travel-ads-bucket-301678011486/output/"
  }' \
  --data-automation-configuration '{
    "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
    "stage": "LIVE"
  }' \
  --data-automation-profile-arn "Amazon Resource Name (ARN):data-automation-profile/default"
```

Un ejemplo de la salida esperada es:

```
{
  "documentType": "TravelAdvertisement",
  "extractedData": {
    "destination": "Kauai",
    "tagline": "Travel to KAUAI",
    "landscapeType": "Coastal mountains with steep cliffs and valleys",
    "waterFeatures": "Turquoise ocean with white surf along the coastline",
    "dominantColors": "Green, blue, turquoise, brown, white",
    "advertisementType": "Destination promotion"
  },
  "confidence": {
    "destination": 0.98,
    "tagline": 0.99,
    "landscapeType": 0.95,
    "waterFeatures": 0.97,
    "dominantColors": 0.96,
    "advertisementType": 0.92
  },
  "metadata": {
    "processingTimestamp": "2025-07-23T23:45:30Z",
    "documentId": "travel-ad-12345",
    "modelId": "amazon.titan-image-v1",
    "imageWidth": 1920,
    "imageHeight": 1080
  }
}
```

------
#### [ Audio ]

**Transcripción de una llamada telefónica**

Un ejemplo de esquema para una llamada telefónica sería el siguiente:

```
{
  "class": "AudioRecording",
  "description": "Schema for extracting information from AWS customer call recordings",
  "properties": {
    "callType": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The type of call (e.g., technical support, account management, consultation)"
    },
    "participants": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The number and roles of participants in the call"
    },
    "mainTopics": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The main topics or AWS services discussed during the call"
    },
    "customerIssues": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Any customer issues or pain points mentioned during the call"
    },
    "actionItems": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Action items or next steps agreed upon during the call"
    },
    "callDuration": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The duration of the call"
    },
    "callSummary": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "A brief summary of the entire call"
    }
  }
}
```

El comando para invocar el procesamiento de una llamada telefónica debería ser similar al siguiente:

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
  --input-configuration '{
    "s3Uri": "s3://audio-analysis-bucket-301678011486/input/AWS_TCA-Call-Recording-2.wav"
  }' \
  --output-configuration '{
    "s3Uri": "s3://audio-analysis-bucket-301678011486/output/"
  }' \
  --data-automation-configuration '{
    "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
    "stage": "LIVE"
  }' \
  --data-automation-profile-arn "Amazon Resource Name (ARN):data-automation-profile/default"
```

Un ejemplo de la salida esperada es:

```
{
  "documentType": "AudioRecording",
  "extractedData": {
    "callType": "Technical consultation",
    "participants": "3 participants: AWS Solutions Architect, AWS Technical Account Manager, and Customer IT Director",
    "mainTopics": "AWS Bedrock implementation, data processing pipelines, model fine-tuning, and cost optimization",
    "customerIssues": "Integration challenges with existing ML infrastructure, concerns about latency for real-time processing, questions about data security compliance",
    "actionItems": [
      "AWS team to provide documentation on Bedrock data processing best practices",
      "Customer to share their current ML architecture diagrams",
      "Schedule follow-up meeting to review implementation plan",
      "AWS to provide cost estimation for proposed solution"
    ],
    "callDuration": "45 minutes and 23 seconds",
    "callSummary": "Technical consultation call between AWS team and customer regarding implementation of AWS Bedrock for their machine learning workloads. Discussion covered integration approaches, performance optimization, security considerations, and next steps for implementation planning."
  },
  "confidence": {
    "callType": 0.94,
    "participants": 0.89,
    "mainTopics": 0.92,
    "customerIssues": 0.87,
    "actionItems": 0.85,
    "callDuration": 0.99,
    "callSummary": 0.93
  },
  "metadata": {
    "processingTimestamp": "2025-07-24T00:30:45Z",
    "documentId": "audio-12345",
    "modelId": "amazon.titan-audio-v1",
    "audioDuration": "00:45:23",
    "audioFormat": "WAV",
    "sampleRate": "44.1 kHz"
  },
  "transcript": {
    "segments": [
      {
        "startTime": "00:00:03",
        "endTime": "00:00:10",
        "speaker": "Speaker 1",
        "text": "Hello everyone, thank you for joining today's call about implementing AWS Bedrock for your machine learning workloads."
      },
      {
        "startTime": "00:00:12",
        "endTime": "00:00:20",
        "speaker": "Speaker 2",
        "text": "Thanks for having us. We're really interested in understanding how Bedrock can help us streamline our document processing pipeline."
      },
      {
        "startTime": "00:00:22",
        "endTime": "00:00:35",
        "speaker": "Speaker 3",
        "text": "Yes, and specifically we'd like to discuss integration with our existing systems and any potential latency concerns for real-time processing requirements."
      }
      // Additional transcript segments would continue here
    ]
  }
}
```

------
#### [ Video ]

**Procesamiento de un vídeo**

Un ejemplo de esquema para vídeos sería el siguiente:

```
{
  "class": "VideoContent",
  "description": "Schema for extracting information from video content",
  "properties": {
    "title": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The title or name of the video content"
    },
    "contentType": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The type of content (e.g., tutorial, competition, documentary, advertisement)"
    },
    "mainSubject": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The main subject or focus of the video"
    },
    "keyPersons": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Key people appearing in the video (hosts, participants, etc.)"
    },
    "keyScenes": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Description of important scenes or segments in the video"
    },
    "audioElements": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Description of notable audio elements (music, narration, dialogue)"
    },
    "summary": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "A brief summary of the video content"
    }
  }
}
```

El comando para invocar el procesamiento del vídeo debería ser similar al siguiente:

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
  --input-configuration '{
    "s3Uri": "s3://video-analysis-bucket-301678011486/input/MakingTheCut.mp4",
    "assetProcessingConfiguration": {
      "video": {
        "segmentConfiguration": {
          "timestampSegment": {
            "startTimeMillis": 0,
            "endTimeMillis": 300000
          }
        }
      }
    }
  }' \
  --output-configuration '{
    "s3Uri": "s3://video-analysis-bucket-301678011486/output/"
  }' \
  --data-automation-configuration '{
    "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
    "stage": "LIVE"
  }' \
  --data-automation-profile-arn "Amazon Resource Name (ARN):data-automation-profile/default"
```

Un ejemplo de la salida esperada es:

```
{
  "documentType": "VideoContent",
  "extractedData": {
    "title": "Making the Cut",
    "contentType": "Fashion design competition",
    "mainSubject": "Fashion designers competing to create the best clothing designs",
    "keyPersons": "Heidi Klum, Tim Gunn, and various fashion designer contestants",
    "keyScenes": [
      "Introduction of the competition and contestants",
      "Design challenge announcement",
      "Designers working in their studios",
      "Runway presentation of designs",
      "Judges' critique and elimination decision"
    ],
    "audioElements": "Background music, host narration, contestant interviews, and design feedback discussions",
    "summary": "An episode of 'Making the Cut' fashion competition where designers compete in a challenge to create innovative designs. The episode includes the challenge announcement, design process, runway presentation, and judging."
  },
  "confidence": {
    "title": 0.99,
    "contentType": 0.95,
    "mainSubject": 0.92,
    "keyPersons": 0.88,
    "keyScenes": 0.90,
    "audioElements": 0.87,
    "summary": 0.94
  },
  "metadata": {
    "processingTimestamp": "2025-07-24T00:15:30Z",
    "documentId": "video-12345",
    "modelId": "amazon.titan-video-v1",
    "videoDuration": "00:45:23",
    "analyzedSegment": "00:00:00 - 00:05:00",
    "resolution": "1920x1080"
  },
  "transcript": {
    "segments": [
      {
        "startTime": "00:00:05",
        "endTime": "00:00:12",
        "speaker": "Heidi Klum",
        "text": "Welcome to Making the Cut, where we're searching for the next great global fashion brand."
      },
      {
        "startTime": "00:00:15",
        "endTime": "00:00:25",
        "speaker": "Tim Gunn",
        "text": "Designers, for your first challenge, you'll need to create a look that represents your brand and can be sold worldwide."
      }
      // Additional transcript segments would continue here
    ]
  }
}
```

------