

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.

# Implemente Multi-Agent la plataforma de inteligencia para reuniones con el SDK de Strands Agents y AWS Fargate
<a name="deploy-meeting-intelligence-strands-agents-fargate"></a>

*Aishita Batra y Muskan., Amazon Web Services*

## Resumen
<a name="deploy-meeting-intelligence-strands-agents-fargate-summary"></a>

Este patrón implementa una plataforma de inteligencia de reuniones multiagente AWS Fargate que genera automáticamente actas estructuradas, resúmenes ejecutivos, narraciones de audio e informes en PDF formateados a partir de las transcripciones de las reuniones. La solución utiliza el SDK de Strands Agents para organizar cuatro agentes de IA especializados: Amazon Bedrock para la inferencia de modelos de lenguaje y Amazon Polly para la conversión de texto a voz.

Los usuarios suben las transcripciones de las reuniones a través de una interfaz web de Streamlit y el sistema las procesa de forma asíncrona a través de una canalización de agentes coordinada. La infraestructura se implementa automáticamente mediante GitHub Actions with AWS AWS Cloud Development Kit (AWS CDK) e incluye monitoreo integrado, autoscalamiento y alta disponibilidad.

## Requisitos previos y limitaciones
<a name="deploy-meeting-intelligence-strands-agents-fargate-prereqs"></a>

*Requisitos previos *
+ Un activo Cuenta de AWS con permisos administrativos
+ AWS CDK instalada la versión 2.114.1 o posterior
+ AWS CLI instalado y configurado con los permisos AWS Identity and Access Management (IAM) adecuados
+ Node.js 18 o posterior
+ Python 3.12 o posterior
+ Git instalado
+ Docker instalado (opcional, para pruebas locales)
+ Una GitHub cuenta con los secretos del repositorio configurados: `AWS_ACCESS_KEY_ID` y `AWS_SECRET_ACCESS_KEY`
+ Amazon Bedrock con acceso al modelo Anthropic Claude 3 Sonnet habilitado en su región
+ Acceso a Amazon Polly activado (activado de forma predeterminada en la mayoría de las regiones)
+ Permisos de IAM para Amazon Simple Storage Service (Amazon S3), Amazon Elastic Container Service (Amazon ECS), Fargate, Elastic Load Balancing y Amazon Virtual Private Cloud (Amazon VPC)
+ Amazon VPC, IAM, Amazon CloudWatch y Amazon Simple Notification Service (Amazon SNS)

*Limitaciones*
+ El tiempo de procesamiento es de 2 a 7 minutos por reunión, según la complejidad de la transcripción.
+ La longitud máxima de la transcripción es de 50 000 caracteres por solicitud.
+ Los resúmenes de audio se condensan automáticamente a 3000 caracteres (límite de caracteres de Amazon Polly).
+ La disponibilidad de Amazon Bedrock Claude 3 Sonnet varía según. Región de AWS
+ El estado del trabajo se almacena en la memoria y no es persistente durante los reinicios del contenedor, a menos que configure S3-based la persistencia.
+ La carga directa solo admite `.txt` archivos.
+ El Application Load Balancer impone un tiempo de espera de 15 minutos para procesar las solicitudes.
+ Algunos AWS servicios no están disponibles en todos. Regiones de AWS Para conocer la disponibilidad regional, consulta [AWS los servicios por región](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para ver los puntos de conexión específicos, consulte la página [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) y elija el enlace del servicio.

## Arquitectura
<a name="deploy-meeting-intelligence-strands-agents-fargate-architecture"></a>

**Arquitectura de destino**

La solución implementa un sistema de IA multiagente utilizando el SDK de Strands Agents y AWS Fargate con la siguiente arquitectura:

![](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/dfd870ca-7a7d-48cc-a62a-b14c8c3c7bb6/images/8f9c0497-153f-4361-80cd-791dc0fec8c5.png)


1. Los usuarios cargan las transcripciones de las reuniones a través de una aplicación web Streamlit alojada localmente o en un servidor remoto. 

1. Un Application Load Balancer en las subredes públicas distribuye el tráfico al servicio Fargate entre dos zonas de disponibilidad. 

1. Las tareas de Fargate se ejecutan en subredes privadas con acceso a NAT Gateway y alojan el backend de FastAPI y la lógica de orquestación de agentes de Strands. 

1. El sistema multiagente Strands procesa las transcripciones mediante cuatro agentes secuenciales: generación de actas estructuradas, generación de resúmenes concisos, narración de audio y creación de informes en PDF. 

1. Amazon Bedrock proporciona inferencia de modelos de lenguaje (Claude 3 Sonnet) para los agentes de generación de actas y resúmenes. 

1. Amazon Polly convierte el resumen conciso en una narración de audio MP3. 

1. Amazon S3 almacena las transcripciones cargadas, los archivos de salida generados y el estado de los trabajos con políticas de administración del ciclo de vida. 

1. Amazon CloudWatch proporciona registros centralizados, alarmas de CPU y memoria y supervisión del estado del servicio con notificaciones de Amazon SNS. 

1. GitHub Actions proporciona un CI/CD despliegue automatizado mediante pruebas AWS CDK de validación del estado.

*Automatización y escala*
+ **Fargate de ECS**: escalado **automático** de contenedores de 1 a 3 instancias en función de los umbrales de uso de memoria y CPU del 70%.
+ CloudWatch**supervisión**: alarmas de estado de la CPU (65%), memoria (80%) y servicio integradas con las notificaciones de Amazon SNS.
+ **Application Load Balancer**: distribución del tráfico con controles de estado cada 60 segundos y 15 minutos de inactividad para tareas de procesamiento de IA de larga duración.
+ **Procesamiento de tareas en segundo plano**: análisis asíncrono de reuniones mediante FastAPI para la ejecución simultánea de tareas. BackgroundTasks 
+ **S3-based persistencia de tareas**: almacenamiento persistente del estado de las tareas en Amazon S3 que garantiza la continuidad de las tareas durante los reinicios de contenedores y los eventos de escalado.
+ **GitHub Acciones CI/CD**: proceso de implementación automatizado con aprovisionamiento de la infraestructura de CDK y pruebas de validación del estado.

## Tools (Herramientas)
<a name="deploy-meeting-intelligence-strands-agents-fargate-tools"></a>

*Servicios de AWS*
+ Amazon Bedrock: proporciona inferencia de modelos de lenguaje (Claude 3 Sonnet) para los agentes de análisis y resumen de reuniones. Consulte la [documentación de Amazon Bedrock](https://docs.aws.amazon.com/bedrock/).
+ Amazon CloudWatch : supervisa el rendimiento de los contenedores, captura los registros de las aplicaciones y activa alarmas para los umbrales de estado de la CPU, la memoria y el servicio. Consulta la [ CloudWatch CloudWatch documentación de Amazon](https://docs.aws.amazon.com/cloudwatch/).
+ Amazon Elastic Container Service (Amazon ECS): organiza las tareas relacionadas con los contenedores de Fargate mediante comprobaciones de estado y detección de servicios. Consulte la [documentación de Amazon ECS](https://docs.aws.amazon.com/ecs/).
+ Amazon Polly: convierte resúmenes concisos de reuniones en narraciones de audio MP3. Consulte la documentación de [Amazon Polly.](https://docs.aws.amazon.com/polly/)
+ Amazon Simple Notification Service (Amazon SNS): envía notificaciones de alarma desde la supervisión. CloudWatch Consulte la [documentación de Amazon SNS.](https://docs.aws.amazon.com/sns/)
+ Amazon Simple Storage Service (Amazon S3): almacena las transcripciones cargadas, los archivos de salida generados y el estado de los trabajos con administración del ciclo de vida. Consulte la [documentación de Amazon S3](https://docs.aws.amazon.com/s3/).
+ AWS CDK — Define e implementa toda la infraestructura como código. Consulte la [AWS CDK documentación.](https://docs.aws.amazon.com/cdk/)
+ AWS Fargate — Ejecuta cargas de trabajo de aplicaciones en contenedores sin administrar servidores, con un autoscalamiento de 1 a 3 instancias. [AWS Fargate Consulte](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) la documentación.
+ Elastic Load Balancing: distribuye el tráfico entrante a las tareas de Fargate entre las zonas de disponibilidad. Consulte la [documentación de Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/).

*Otras herramientas*
+ **Docker**: crea imágenes de contenedores para realizar pruebas locales. Consulte la documentación de [Docker](https://docs.docker.com/).
+ **FastAPI**: proporciona el backend de la API REST para el envío de trabajos, la verificación del estado y las operaciones con archivos. Consulte la documentación de [FastAPI](https://fastapi.tiangolo.com/).
+ **GitHub Acciones**: automatiza el proceso de CI/CD implementación. Consulte la [documentación de GitHub acciones.](https://docs.github.com/en/actions)
+ **ReportLab**— Genera informes en formato PDF a partir de actas de reuniones estructuradas. Consulte la [ReportLab documentación.](https://docs.reportlab.com/)
+ **SDK de Strands Agents**: organiza flujos de trabajo de varios agentes con un mínimo de código mediante el patrón `@tool` decorador. Consulte la documentación del SDK de [Strands.](https://strandsagents.com/)
+ **Streamlit**: proporciona la interfaz de usuario basada en la web para cargar las transcripciones y descargar los resultados. Consulte la documentación de [Streamlit](https://docs.streamlit.io/).

*Repositorio de código*

El código de este patrón está disponible en el repositorio GitHub [sample-ai-meeting-minutes-generator](https://github.com/aws-samples/sample-ai-meeting-minutes-generator).

## Prácticas recomendadas
<a name="deploy-meeting-intelligence-strands-agents-fargate-best-practices"></a>
+ Utilice instrucciones del sistema claras y específicas para cada agente a fin de garantizar un formato de salida uniforme y una documentación profesional para las reuniones.
+ Implemente la gestión del ciclo de vida de Amazon S3 con una retención de 90 días para la optimización de costes y la limpieza automática de archivos.
+ Utilice el seguimiento de S3-based trabajos de Amazon para mantener el estado de los eventos de reinicios y escalado de contenedores para un procesamiento confiable.
+ Configure CloudWatch alarmas para el estado de la CPU, la memoria y el servicio con las notificaciones de Amazon SNS para una supervisión proactiva.
+ Valide y limpie las cargas de archivos y el formato del contenido antes de procesarlos para evitar errores del sistema y problemas de seguridad.
+ Siga el principio de privilegio mínimo y conceda los permisos mínimos necesarios para llevar a cabo una tarea. Para obtener más información, consulte [Otorgar privilegio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) y [Prácticas recomendadas de seguridad](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la documentación de IAM.
+ Considere AWS AgentCore la posibilidad de realizar despliegues de producción que requieran una organización gestionada y una sobrecarga operativa simplificada. Se prefiere el SDK de Strands cuando se necesita una mayor personalización de las interacciones de los agentes y un control especializado del flujo de trabajo.
+ Implemente una evaluación sistemática de los resultados de los agentes comparándolos con las actas de las reuniones generadas por personas para mejorar continuamente las solicitudes del sistema y el rendimiento de los agentes.

## Epics
<a name="deploy-meeting-intelligence-strands-agents-fargate-epics"></a>

### Implementación de la infraestructura
<a name="deploy-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Clone el repositorio | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>git clone https://github.com/aws-samples/sample-ai-meeting-minutes-generator.git<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>cd meeting-minutes-app<br /></pre> | AWS DevOps | 
| Crea tu propio repositorio de Git | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>git remote set-url origin https://<your-git-platform>.com/<your-username>/<your-repo-name>.git<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>git push -u origin main<br /></pre> | Desarrollador de aplicaciones | 
| Configura los secretos del repositorio para CI/CD. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | DevOps ingeniero | 
| Implemente la infraestructura mediante el CI/CD flujo de trabajo. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>git add .<br />git commit -m "Deploy multi-agent meeting intelligence platform"<br />git push origin main<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | DevOps ingeniero | 
| Verifique la implementación de la infraestructura. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | DevOps ingeniero, administrador de la nube | 

### Configure e inicie la aplicación
<a name="configure-and-launch-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el entorno de desarrollo local | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>cd meeting_minutes_agent/app<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>python -m venv venv<br />source venv/bin/activate  # Linux/Mac<br /># Or on Windows: venv\Scripts\activate<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>pip install -r requirements.txt<br />pip install streamlit<br /></pre> | Desarrollador de aplicaciones | 
| Recupera la URL del servicio de backend. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | Administrador de la nube | 
| Inicie la aplicación y verifique la conectividad. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html)<pre>BACKEND_URL="http://<your-service-url>.us-east-1.elb.amazonaws.com" streamlit run meeting_minutes_agent/app/streamlit_app.py<br /></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | Desarrollador de aplicaciones | 

### Verifique la solución
<a name="verify-the-solution"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Procese la transcripción de una reunión y verifique los resultados. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) | Desarrollador de aplicaciones | 

## Resolución de problemas
<a name="deploy-meeting-intelligence-strands-agents-fargate-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Error de acceso al modelo Amazon Bedrock | Compruebe que el modelo Anthropic Claude 3 Sonnet esté activado en su región. Abra la consola Amazon Bedrock, elija **Model access** y confirme que Claude 3 Sonnet muestre **Acceso** concedido. | 
| El bootstrap de CDK falla |  Ejecute `cdk bootstrap aws://<account-id>/<region>` manualmente antes del despliegue. Compruebe que sus AWS CLI credenciales tienen permisos para CloudFormation Amazon S3 e IAM. | 
| [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-meeting-intelligence-strands-agents-fargate.html) |  Consulte los detalles de las tareas detenidas en la consola Amazon ECS. Las causas más comunes incluyen permisos de rol de IAM incorrectos, falta de acceso a Amazon Bedrock o problemas de configuración de VPC. Revise CloudWatch los registros de la tarea. | 
| Se agota el tiempo de espera del procesamiento (tiempo de espera de ALB de 15 minutos) | El Application Load Balancer tiene un tiempo de espera de inactividad de 15 minutos. Para transcripciones muy largas, reduzca el tamaño de entrada a menos de 50 000 caracteres o aumente el tiempo de espera de ALB en la configuración de CDK. | 
| La generación de audio falla | Amazon Polly tiene un límite de 3000 caracteres. El agente de resúmenes concisos condensa el contenido automáticamente por debajo de este límite. Si la generación de audio sigue fallando, compruebe que el acceso a Amazon Polly esté habilitado en su región. | 
| GitHub El despliegue de las acciones falla | Compruebe que `AWS_ACCESS_KEY_ID` los secretos `AWS_SECRET_ACCESS_KEY` del repositorio estén configurados correctamente. Compruebe que el usuario de IAM tiene permisos para la implementación de CDK (CloudFormation Amazon ECS, Amazon S3, IAM). | 
| El backend no está conectado (Streamlit muestra que está desconectado) | Compruebe que la variable de `BACKEND_URL` entorno coincide con la ServiceURL de la pestaña CloudFormation Salidas. Confirme que el servicio Fargate esté funcionando y en buen estado en la consola de Amazon ECS. | 
| Se perdió el estado del trabajo tras reiniciar el contenedor | Habilite la persistencia de los S3-based trabajos de Amazon configurando la variable de `S3_JOB_TRACKING` entorno. Sin esto, el estado del trabajo solo se almacena en la memoria y se pierde al reiniciarse el contenedor. | 

## Recursos relacionados
<a name="deploy-meeting-intelligence-strands-agents-fargate-resources"></a>

*Referencias*
+ [Guía del usuario de Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/)
+ [Guía para desarrolladores de Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/)
+ [Guía para desarrolladores de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/)
+ [AWS Fargate Guía del usuario](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html)
+ [AWS CDK Guía para desarrolladores de CDK](https://docs.aws.amazon.com/cdk/v2/guide/)
+ [Guía del usuario de Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/)

*Herramientas*
+ [Documentación sobre el SDK de Strands Agents](https://strandsagents.com/)
+ [Documentación de FastAPI](https://fastapi.tiangolo.com/)
+ [Documentación de Streamlit](https://docs.streamlit.io/)
+ [GitHub Documentación de acciones](https://docs.github.com/en/actions)

## Información adicional
<a name="deploy-meeting-intelligence-strands-agents-fargate-additional-information"></a>

*Multi-agent flujo de trabajo de procesamiento*

La solución organiza el procesamiento de las reuniones a través de cuatro agentes especializados que se ejecutan secuencialmente dentro de las tareas de Fargate. A cada trabajo se le asigna un identificador de trabajo único y se ejecuta de forma asíncrona para garantizar la escalabilidad y el aislamiento de errores.

1. **Generador de actas estructuradas** (`generate_structured_minutes`): toma como entrada la transcripción y el título de la reunión sin procesar. Utiliza Amazon Bedrock Claude 3 Sonnet para producir minutas de reuniones completas, que incluyen información sobre la reunión, los puntos de la agenda, el resumen del debate, las acciones con las personas asignadas y los plazos, y los próximos pasos. Guarda el resultado como un archivo de texto sin formato.

1. **Generador de resúmenes concisos** (`concise_minutes_agent`): toma como entrada todos los minutos estructurados del Agente 1. Utiliza Amazon Bedrock Claude 3 Sonnet para crear un resumen ejecutivo de menos de 3000 caracteres para la generación de audio y la lectura rápida.

1. **Generador de audio** (`audio_generator_agent`): toma como entrada los breves minutos del Agente 2. Utiliza la `speak` herramienta Strands de Amazon Polly para generar un archivo de audio MP3 que narra el resumen conciso.

1. **Generador de informes en PDF** (`create_comprehensive_pdf`): toma como entrada todos los minutos estructurados del Agente 1. Utiliza la ReportLab biblioteca para producir un informe PDF profesional con estilos de título personalizados, encabezados de sección, diseño de texto legible y metadatos.

*Flujo de datos*

1. **Carga por parte del usuario**: la transcripción de la reunión se carga a través de la interfaz de usuario de Streamlit o mediante una llamada directa a la API.

1. **Inicialización del trabajo**: FastAPI crea un ID de trabajo único y lo devuelve inmediatamente para su procesamiento asíncrono.

1. **Procesamiento en segundo plano: el flujo de** trabajo del agente Strands de cuatro pasos se ejecuta secuencialmente.

1. **Administración de archivos**: los archivos generados se cargan en Amazon S3 con direcciones URL de descarga prefirmadas.

1. **Finalización del trabajo**: el estado se actualiza con enlaces de descarga para todos los resultados generados.

*Consideraciones sobre mejoras futuras*
+ Seguimiento persistente de los trabajos con Amazon DynamoDB para garantizar la fiabilidad entre contenedores
+ Multi-format soporte de entrada (`.docx`, archivos de transcripción `.pdf` de audio)
+ Real-time WebSocket actualizaciones de progreso

**End-to-End Flujo de procesamiento**
+ La solución organiza el procesamiento de las reuniones mediante una secuencia coordinada de agentes especializados que se ocupan de las tareas de Fargate. 
+ A cada trabajo se le asigna un **identificador de trabajo único** y se ejecuta de forma asíncrona para garantizar la escalabilidad y el aislamiento de fallas. 
+ **El flujo de trabajo incluye la recopilación de **transcripciones → la generación de actas estructuradas → el resumen ejecutivo → la narración de audio → la creación de informes en PDF**, con cada paso validado y registrado en tiempo real.**

**Four-Step Procesamiento de agentes**

1. **Generador de actas estructuradas**: produce actas detalladas de las reuniones.

1. **Generador de resúmenes concisos**: crea un resumen ejecutivo para una revisión rápida y una narración de audio.

1. **Generador de audio**: genera una narración en MP3 del resumen.

1. **Generador de informes en PDF**: produce informes PDF pulidos y formateados.

**Gestión automatizada de archivos e integración en la nube**
+ **Carga automática de resultados:** los informes de texto estructurado, audio y PDF se cargan automáticamente en **Amazon S3** con la **división adecuada por ID de trabajo**.
+ **Comprobaciones de integridad y gestión del ciclo de vida:** se registran las confirmaciones de carga, la validación de los archivos y la limpieza, lo que garantiza la transparencia y la fiabilidad de las operaciones.
+ Las tareas en segundo plano **de FastAPI** gestionan la ejecución asíncrona de los trabajos.

**Integración y salidas de la interfaz de usuario**
+ La interfaz de usuario Streamlit muestra la conexión interna, el área de entrada de transcripciones y la opción Generar minutos después de cargar la transcripción de la reunión a través de la URL de **S3 Pre-signed ** para iniciar las tareas.  
![](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/dfd870ca-7a7d-48cc-a62a-b14c8c3c7bb6/images/f608a187-91bf-4524-a849-907eb5efb182.png)
+ Una vez finalizado el procesamiento, las salidas de texto estructurado, audio y PDF están disponibles para su descarga a través de las **direcciones URL de Pre-signed S3**, a las que se puede acceder mediante los botones de la interfaz de usuario en los que se puede hacer clic.  
![](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/dfd870ca-7a7d-48cc-a62a-b14c8c3c7bb6/images/b4fa32f4-32c3-43ae-b140-0f6a58ebe245.png)  
![](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/dfd870ca-7a7d-48cc-a62a-b14c8c3c7bb6/images/eb878259-f90e-4d9f-8a4d-42627d04bdd1.png)