floure.ARCHIVO / Inteligencia artificial
← Volver a la colección5 MIN DE LECTURA

Inteligencia artificial

Data Ingestion

AI essentials / GenAI - CCAI / Insights / Conversational Insights

La ingesta empieza por formato, procedencia y permisos. Si perdemos quién dijo qué o mezclamos tiempos, el análisis posterior puede dar resultados prolijos sobre una conversación mal representada.

Índice

Flujo de ingesta de datos en Conversational Insights Ingesta individual de datos


Flujo de ingesta de datos en Conversational Insights

El flujo de trabajo para la ingesta de datos en Conversational Insights implica varios pasos, desde la preparación de los archivos de origen hasta la ingesta final en la plataforma.


1. Preparación de los datos

  1. Creación de un Cloud Storage bucket: Debes crear un bucket para almacenar tus archivos de audio o transcripciones. Es vital que el bucket se ubique en la misma región que los otros servicios que usarás, como el Vertex AI Workbench.

  2. Validación del formato: Puede automatizarse y debe comprobar que los archivos cumplan con los formatos requeridos.

    • Audio: Archivos de alta calidad y de dos canales.

    • Chat: Debe seguir una estructura JSON específica, incluyendo campos como conversation_info para metadatos y entries con la transcripción, el rol y la marca de tiempo de cada mensaje.


2. Procesamiento de los datos

  1. Transcripción (solo para audio): Utiliza la API de Speech-to-Text para convertir los archivos de audio en transcripciones de texto. Las transcripciones deben tener el mismo formato que la respuesta de esta API.

  2. Enmascaramiento de PII: Usa el servicio de Sensitive Data Protection (anteriormente Cloud DLP) para detectar y enmascarar información personal identificable (PII), como nombres o números de tarjetas de crédito.

    • Se configura qué tipos de información sensible se deben enmascarar.

    • El enmascaramiento se realiza reemplazando los caracteres sensibles con otros, como asteriscos (*).

    • Para transcripciones JSON, se usan transformaciones de registro para mantener la estructura del archivo mientras se enmascara el contenido de texto.


3. Configuración del entorno y ejecución

  1. Habilitar APIs: Como requisito previo, debes habilitar las APIs necesarias en tu proyecto de Google Cloud, como Cloud Storage, Speech-to-Text, DLP, BigQuery y la API de Conversational Insights.

  2. Crear un Vertex AI Workbench: El curso usa un notebook. No recomendar crear user-managed notebooks heredados: usar un entorno soportado compatible con el pipeline. La instancia del cuaderno debe crearse en la misma región que tu bucket de almacenamiento para evitar movimientos de datos entre regiones.

  3. Configuración del ambiente Python: En el JupyterLab, debes crear un archivo requirements.txt e instalar los paquetes de Python necesarios para el procesamiento de los datos.

  4. Ejecutar el pipeline: Dentro del cuaderno de Jupyter, puedes ejecutar el código para llamar a las APIs de Speech-to-Text y Sensitive Data Protection, y finalmente subir la transcripción ya procesada al Cloud Storage.


4. Ingesta final

Una vez que los datos están completamente procesados (validados, transcriptos y con el tratamiento de PII comprobado), se ingieren en Conversational Insights a través de su API.


Ingesta individual de datos

Para ingerir una conversación de forma individual, debes hacer una llamada a la API de Conversational Insights.

  1. URL de la API: Define la URL del endpoint conversations, reemplazando {project_id} con el ID de tu proyecto.

  2. Autenticación: google.auth.default() devuelve credenciales y proyecto, no directamente un token. Usar un transporte autorizado o refrescar las credenciales antes de construir el encabezado Bearer.

  3. Cuerpo de la solicitud: Crea un diccionario con los datos.

    • En el campo data_source, especifica gcs_source y la transcript_uri que apunta a la ubicación de tu transcripción en Cloud Storage.

    • Opcionalmente, puedes añadir un diccionario de labels para incluir metadatos de la conversación.

  4. Llamada a la API: Envía una solicitud POST a la URL con los encabezados y datos preparados. Revisar la respuesta del método elegido: el recurso Conversation identifica la conversación; importaciones de larga duración devuelven una operación. No confundirlo con la URI de la transcripción en GCS.

Una vez ingerida, puedes ver la conversación en la Consola de Conversational Insights. El Conversation Hub te permite ver y filtrar conversaciones, y si haces clic en una, puedes ver los detalles, metadatos y la transcripción.


Importación masiva (Bulk import)

La importación masiva es una función que permite ingerir múltiples archivos (transcripciones o audios) con un solo comando curl, sin necesidad de scripts de Python para cada paso.

  • Prerrequisitos: La cuenta de servicio de Conversation AI debe tener acceso a los objetos en Cloud Storage.

  • Parámetros de la API:

    • gcs_source: La ubicación del bucket de Cloud Storage.

    • bucket_object_type: 2 para audio o 1 para transcripciones de chat.

    • medium: El tipo de conversación (ej., PHONE_CALL o CHAT).

    • agent_channel y customer_channel: 1 o 2 para identificar los canales del agente y del cliente.

  • Comportamiento y limitaciones:

    • La API devuelve un ID de operación que puedes usar para monitorear el progreso.

    • Solo se permite una operación de importación masiva a la vez.

    • La guía actual permite archivos de metadatos por conversación y mapear claves personalizadas a labels; no se mantiene esa prohibición general.

    • La misma configuración de Speech-to-Text y DLP se aplica a todos los archivos en la operación.

    • La importación masiva no admite la redacción de transcripciones en este momento, y la configuración de redacción solo funciona para archivos de audio.


Fuentes y vigencia

Dos canales y co-localización bucket/notebook son decisiones del pipeline del curso; verificar requisitos del método y residencia, no asumirlos universales. Las transformaciones DLP no se limitan a asteriscos. Valores numéricos de enums, redacción por lotes, formatos de chat y opciones STT deben comprobarse contra el método/versionado concreto.

+----------------------------------------+
| Floure &                               |
| Tachibana's guild                      |
| [Hikari · Nozomi · Iona]               |
| SEAL: sha256/12: 0fed7a2ccb3c          |
| STATUS: LITURGY_IN_PROGRESS            |
+----------------------------------------+

Conexiones

Desde este apunte · 1

Enlazan aquí · 2

Abrir red completa ↗
✳

Fin del apunte

Seguir explorando ↗