Las grabaciones de reuniones de negocios, entrevistas e interacciones con los clientes se han vuelto esenciales para preservar información importante. Sin embargo, transcribir y resumir estas grabaciones manualmente a menudo requiere mucho tiempo y requiere mucho trabajo. Con el progreso en IA generativa Y el reconocimiento automático de voz (ASR), han surgido soluciones automatizadas para hacer que este proceso sea más rápido y eficiente.
Proteger la información de identificación personal (PII) es un aspecto vital de la seguridad de los datos, impulsado por las responsabilidades éticas y los requisitos legales. En esta publicación, demostramos cómo usar el modelo Open AI Whisper Foundation (FM) Whisper V3 Turbo, disponible en Mercado de roca en Amazonque ofrece acceso a más de 140 modelos a través de una oferta dedicada, para producir una transcripción casi en tiempo real. Estas transcripciones se procesan luego por Roca madre de Amazon Para resumen y redacción de información confidencial.
Amazon Bedrock es un servicio totalmente administrado que ofrece una opción de FMS de alto rendimiento de las principales compañías de inteligencia artificial como AI21 Labs, Antrópico, Adherirse, Veterano, Luma, Meta, AI Mistral, junto a la piscina (muy pronto), Estabilidad aiy Amazon Nova A través de una sola API, junto con un amplio conjunto de capacidades para construir aplicaciones generativas de IA con seguridad, privacidad y IA responsable. Además, puede usar Baratería de roca amazónica Para redactar automáticamente información confidencialincluido PII, de los resúmenes de la transcripción para apoyar las necesidades de cumplimiento y protección de datos.
En esta publicación, caminamos a través de una arquitectura de extremo a extremo que combina un frontend basado en React con Amazon Bedrock, AWS Lambday Funciones del paso de AWS para orquestar el flujo de trabajo, facilitando la integración y el procesamiento sin problemas.
Descripción general de la solución
La solución destaca el poder de integrar tecnologías sin servidor con IA generativa para automatizar y escalar los flujos de trabajo de procesamiento de contenido. El viaje del usuario comienza con cargar una grabación a través de una aplicación React Frontend, alojada en Amazon Cloudfront y respaldado por Servicio de almacenamiento simple de Amazon (Amazon S3) y Puerta de entrada de la API de Amazon. Cuando se carga el archivo, desencadena una máquina de estado de funciones de paso que orquesta los pasos de procesamiento del núcleo, utilizando modelos de IA y funciones Lambda para el flujo y transformación de datos sin problemas. El siguiente diagrama ilustra la arquitectura de la solución.
El flujo de trabajo consta de los siguientes pasos:
- La aplicación React está alojada en un cubo S3 y sirve a los usuarios a través de CloudFront para acceso rápido y global. API Gateway maneja las interacciones entre los servicios de frontend y backend.
- Los usuarios cargan archivos de audio o video directamente desde la aplicación. Estas grabaciones se almacenan en un cubo S3 designado para su procesamiento.
- Un Amazon Eventbridge Rule detecta el evento de carga S3 y desencadena la máquina de estado de las funciones de paso, iniciando la tubería de procesamiento con IA.
- La máquina de estado realiza transcripción de audio, resumen y redacción al orquestar múltiples modelos de roca madre de Amazon en secuencia. Utiliza Whisper para la transcripción, Claude para resumir y barandillas para redactar datos confidenciales.
- El resumen redactado se devuelve a la aplicación frontend y se muestra al usuario.
El siguiente diagrama ilustra el flujo de trabajo de la máquina de estado.
La máquina de estado de las funciones de paso orquesta una serie de tareas para transcribir, resumir y redactar información confidencial de grabaciones de audio/video cargadas:
- Se activa una función Lambda para recopilar detalles de entrada (por ejemplo, la ruta del objeto de Amazon S3, metadatos) y preparar la carga útil para la transcripción.
- La carga útil se envía al modelo V3 Turbo V3 Operai Whisper a través del Amazon Bedrock Marketplace para generar una transcripción casi en tiempo real de la grabación.
- La transcripción sin procesar se pasa a Claude Sonnet 3.5 de Anthrope a través de Amazon Bedrock, que produce un resumen conciso y coherente de la conversación o contenido.
- Una segunda función Lambda valida y reenvía el resumen al paso de redacción.
- El resumen se procesa a través de barandillas de roca madre de Amazon, que redacta automáticamente PII y otros datos confidenciales.
- El resumen redactado se almacena o devuelve a la aplicación frontend a través de una API, donde se muestra al usuario.
Requisitos previos
Antes de comenzar, asegúrese de tener los siguientes requisitos previos en su lugar:
Crea una barandilla en la consola de rock de Amazon
Para obtener instrucciones para crear barandillas en Amazon Bedrock, consulte Crear una barandilla. Para obtener detalles sobre la detección y la redactación de PII, ver Eliminar PII de las conversaciones utilizando filtros de información confidencial. Configure su barandilla con la siguiente configuración de clave:
- Habilitar la detección y manejo de PII
- Establecer la acción de PII para redactar
- Agregue los tipos de PII relevantes, como:
- Nombres e identidades
- Números de teléfono
- Direcciones de correo electrónico
- Direcciones físicas
- Información financiera
- Otra información personal confidencial
Después de implementar la barandilla, tenga en cuenta el nombre del recurso de Amazon (ARN), y usará esto cuando implementa el modelo.
Desplegar el modelo Whisper
Complete los siguientes pasos para implementar el modelo de turbo V3 Whisper grande:
- En la consola de rock de Amazon, elija Catálogo de modelos bajo Modelos de base En el panel de navegación.
- Buscar y elegir Susurros grandes v3 turbo.
- En el menú de opciones (tres puntos), elija Desplegar.
- Modifique el nombre del punto final, el número de instancias y el tipo de instancia para adaptarse a su caso de uso específico. Para esta publicación, utilizamos la configuración predeterminada.
- Modificar el Configuración avanzada sección para adaptarse a su caso de uso. Para esta publicación, utilizamos la configuración predeterminada.
- Elegir Desplegar.
Esto crea un nuevo Gestión de identidad y acceso de AWS IAM rol e implementa el modelo.
Puedes elegir Despliegues de mercado en el panel de navegación, y en el Implementaciones administradas Sección, puede ver el estado de punto final como Creación. Espere a que el punto final finalice la implementación y el estado para cambiar a Al servicioluego copie el nombre del punto final, y usará esto al implementar el
Implementar la infraestructura de solución
En el Repositorio de Githubsiga las instrucciones en el Archivo readme Para clonar el repositorio, luego implementa la infraestructura frontend y de backend.
Usamos el Kit de desarrollo de la nube de AWS (AWS CDK) para definir e implementar la infraestructura. El código AWS CDK implementa los siguientes recursos:
- Reaccionar la aplicación frontend
- Infraestructura de back -end
- Cubos S3 para almacenar cargas y resultados procesados
- Funciones de paso Máquina de estado con funciones lambda para el procesamiento de audio y redacción PII
- Puntos finales de API Gateway para solicitudes de manejo
- Roles y políticas de IAM para acceso seguro
- Distribución de Cloudfront para alojar el frontend
Implementación de buceo profundo
El backend se compone de una secuencia de funciones lambda, cada una manejando una etapa específica de la tubería de procesamiento de audio:
- Manejador de carga – Recibe archivos de audio y los almacena en Amazon S3
- Transcripción con susurro – Convierte el discurso en texto usando el modelo Whisper
- Detección de altavoces – Diferenciar y etiquetar altavoces individuales dentro del audio
- Resumen con roca madre de Amazon – extrae y resume los puntos clave de la transcripción
- PII Redacción – Utiliza barandillas de roca madre de Amazon para eliminar información confidencial para el cumplimiento de la privacidad
Examinemos algunos de los componentes clave:
La función Lambda de transcripción utiliza el modelo Whisper para convertir los archivos de audio en texto:
def transcribe_with_whisper(audio_chunk, endpoint_name):
# Convert audio to hex string format
hex_audio = audio_chunk.hex()
# Create payload for Whisper model
payload = {
"audio_input": hex_audio,
"language": "english",
"task": "transcribe",
"top_p": 0.9
}
# Invoke the SageMaker endpoint running Whisper
response = sagemaker_runtime.invoke_endpoint(
EndpointName=endpoint_name,
ContentType="application/json",
Body=json.dumps(payload)
)
# Parse the transcription response
response_body = json.loads(response['Body'].read().decode('utf-8'))
transcription_text = response_body['text']
return transcription_text
Utilizamos la roca madre de Amazon para generar resúmenes concisos a partir de las transcripciones:
def generate_summary(transcription):
# Format the prompt with the transcription
prompt = f"{transcription}\n\nGive me the summary, speakers, key discussions, and action items with owners"
# Call Bedrock for summarization
response = bedrock_runtime.invoke_model(
modelId="anthropic.claude-3-5-sonnet-20240620-v1:0",
body=json.dumps({
"prompt": prompt,
"max_tokens_to_sample": 4096,
"temperature": 0.7,
"top_p": 0.9,
})
)
# Extract and return the summary
result = json.loads(response.get('body').read())
return result.get('completion')
Un componente crítico de nuestra solución es la redacción automática de PII. Implementamos esto utilizando barandillas de roca madre de Amazon para apoyar el cumplimiento de las regulaciones de privacidad:
def apply_guardrail(bedrock_runtime, content, guardrail_id):
# Format content according to API requirements
formatted_content = [{"text": {"text": content}}]
# Call the guardrail API
response = bedrock_runtime.apply_guardrail(
guardrailIdentifier=guardrail_id,
guardrailVersion="DRAFT",
source="OUTPUT", # Using OUTPUT parameter for proper flow
content=formatted_content
)
# Extract redacted text from response
if 'action' in response and response['action'] == 'GUARDRAIL_INTERVENED':
if len(response['outputs']) > 0:
output = response['outputs'][0]
if 'text' in output and isinstance(output['text'], str):
return output['text']
# Return original content if redaction fails
return content
Cuando se detecta PII, se reemplaza con indicadores de tipo (por ejemplo, {teléfono} o {correo electrónico}), asegurándose de que los resúmenes permanezcan informativos mientras protegen datos confidenciales.
Para administrar la tubería de procesamiento compleja, utilizamos funciones de paso para orquestar las funciones Lambda:
{
"Comment": "Audio Summarization Workflow",
"StartAt": "TranscribeAudio",
"States": {
"TranscribeAudio": {
"Type": "Task",
"Resource": "arn:aws:states:::lambda:invoke",
"Parameters": {
"FunctionName": "WhisperTranscriptionFunction",
"Payload": {
"bucket": "$.bucket",
"key": "$.key"
}
},
"Next": "IdentifySpeakers"
},
"IdentifySpeakers": {
"Type": "Task",
"Resource": "arn:aws:states:::lambda:invoke",
"Parameters": {
"FunctionName": "SpeakerIdentificationFunction",
"Payload": {
"Transcription.$": "$.Payload"
}
},
"Next": "GenerateSummary"
},
"GenerateSummary": {
"Type": "Task",
"Resource": "arn:aws:states:::lambda:invoke",
"Parameters": {
"FunctionName": "BedrockSummaryFunction",
"Payload": {
"SpeakerIdentification.$": "$.Payload"
}
},
"End": true
}
}
}
Este flujo de trabajo se asegura de que cada paso se complete con éxito antes de continuar con el siguiente, con el manejo de errores automáticos y el reintento de la lógica incorporada.
Prueba la solución
Después de haber completado con éxito la implementación, puede usar la URL de CloudFront para probar la funcionalidad de la solución.
Consideraciones de seguridad
La seguridad es un aspecto crítico de esta solución, y hemos implementado varias mejores prácticas para apoyar la protección y el cumplimiento de los datos:
- Redacción de datos confidencial – Redacta automáticamente a PII para proteger la privacidad del usuario.
- Permisos de IAM de grano fino – Aplicar el principio de menor privilegio en los servicios y recursos de AWS.
- Controles de acceso de Amazon S3 – Use políticas de cubo estrictas para limitar el acceso a usuarios y roles autorizados.
- Seguridad de la API – Seguro puntos finales de API usando Amazon Cognito para la autenticación del usuario (opcional pero recomendado).
- Protección contra la nube – Haga cumplir HTTPS y aplique protocolos TLS modernos para facilitar la entrega segura de contenido.
- Amazon Bedrock Data Security – Amazon Bedrock (incluido Amazon Bedrock Marketplace) protege los datos de los clientes y no envía datos a proveedores ni capacitación utilizando datos del cliente. Esto asegura que su información patentada se mantenga segura al usar capacidades de IA.
Limpiar
Para evitar cargos innecesarios, asegúrese de eliminar los recursos aprovisionados para esta solución cuando haya terminado:
- Elimine la barandilla de roca madre de Amazon:
- En la consola de rock de Amazon, en el menú de navegación, elija Barandas.
- Elija su barandilla, luego elija Borrar.
- Elimine el modelo de turbo V3 Whisper V3 desplegado a través del mercado de roca en Amazon:
- En la consola de rock de Amazon, elija Despliegues de mercado En el panel de navegación.
- En el Implementaciones administradas Sección, seleccione el punto final implementado y elija Borrar.
- Eliminar la pila de CDK de AWS ejecutando el comando
cdk destroyque elimina la infraestructura de AWS.
Conclusión
Esta solución de resumen de audio sin servidor demuestra los beneficios de combinar servicios de AWS para crear una aplicación sofisticada, segura y escalable. Mediante el uso de la roca madre de Amazon para las capacidades de IA, Lambda para el procesamiento sin servidor y el frente de la nube para la entrega de contenido, hemos creado una solución que puede manejar grandes volúmenes de contenido de audio de manera eficiente mientras lo ayudamos a alinearse con las mejores prácticas de seguridad.
La función automática de redacción PII respalda el cumplimiento de las regulaciones de privacidad, lo que hace que esta solución sea adecuada para industrias reguladas como la atención médica, las finanzas y los servicios legales donde la seguridad de los datos es primordial. Para comenzar, implemente esta arquitectura dentro de su entorno AWS para acelerar sus flujos de trabajo de procesamiento de audio.
Sobre los autores
Kaiyin hu es un arquitecto de soluciones senior para cuentas estratégicas en Amazon Web Services, con años de experiencia entre empresas, nuevas empresas y servicios profesionales. Actualmente, ella ayuda a los clientes a construir soluciones en la nube e impulsa la adopción de Genai a la nube. Anteriormente, Kaiyin trabajó en el dominio Smart Home, ayudando a los clientes a integrar las tecnologías de voz e IoT.
Sid Vantair es un arquitecto de soluciones con AWS que cubre cuentas estratégicas. Él prospera en resolver problemas técnicos complejos para superar los obstáculos de los clientes. Fuera del trabajo, aprecia pasar tiempo con su familia y fomentar la curiosidad en sus hijos.