Saltearse al contenido

LLM Anonimyzer

El LLM Anonimyzer es un componente de Nappai que utiliza modelos de lenguaje para detectar y ocultar información sensible dentro de textos. Con él, puedes proteger datos personales o confidenciales antes de procesarlos o compartirlos, manteniendo la utilidad del contenido sin exponer datos identificables.

¿Cómo funciona?

El componente toma un objeto de datos que contiene un texto (por defecto bajo la clave text). Con la ayuda de un modelo de lenguaje (por ejemplo, GPT‑4, Claude, etc.) envía una solicitud que incluye un prompt personalizado. El modelo devuelve una lista de entidades sensibles (nombres, correos, números de teléfono, etc.) en formato JSON. El componente reemplaza esas entidades en el texto original por un marcador genérico (por defecto ***) y guarda tanto el texto anonimizado como la lista de entidades encontradas en el objeto de datos.

No se necesita ninguna operación adicional; el proceso se ejecuta automáticamente cuando el componente recibe los datos de entrada.

Entradas

Campos de Entrada

  • Datos: El objeto que contiene el texto a anonimizar.
  • Modelo de Lenguaje: El modelo de IA que se utilizará para identificar las entidades. Puedes elegir entre los modelos disponibles en tu cuenta de Nappai.
  • Entities: Lista de tipos de entidades que deseas extraer (por ejemplo, email, nombre, dirección).
  • Prompt template: Plantilla de texto que se envía al modelo.
    • Ejemplo por defecto
      You are an expert NER. Your TASK is to extract only the following entities: [{entities}]. The result must be a JSON object with the entities found in the text. Return only the JSON object, no other text. Extract the entities from the following text:
      {Data}
  • Data key to anonymize: La clave dentro del objeto de datos que contiene el texto a procesar (por defecto text).
  • Entities Result Key: La clave donde se guardará la lista de entidades extraídas y anonimizadas (por defecto entities_anonimized).
  • Remark Anonimization: Si se activa, el texto anonimizado incluirá el marcador *** alrededor de cada entidad.
  • Result Key: La clave donde se almacenará el texto anonimizado (por defecto text_anonymized).
  • Use Word Boundaries: Si se activa, el componente evita dividir palabras al reemplazar entidades, asegurando que solo se sustituyan palabras completas.

Salidas

  • Datos: El objeto de datos original, enriquecido con dos nuevas claves:
    • text_anonymized: Texto con las entidades ocultas.
    • entities_anonimized: Lista de entidades encontradas y su posición en el texto.

Ejemplo de Uso

Supongamos que tienes un registro de cliente con la siguiente estructura: json { “text”: “Juan Pérez, correo: juan.perez@example.com, teléfono: 555-1234, vive en 123 Calle Falsa.” }

  1. Configura el componente

    • Modelo de Lenguaje: GPT‑4
    • Entities: email, teléfono, dirección
    • Prompt template: Usa el valor por defecto.
    • Data key to anonymize: text
    • Result Key: text_anonymized
    • Entities Result Key: entities_anonimized
    • Remark Anonimization: activado
    • Use Word Boundaries: activado
  2. Ejecuta el flujo
    El componente devuelve: json { “text”: “Juan Pérez, correo: juan.perez@example.com, teléfono: 555-1234, vive en 123 Calle Falsa.”, “text_anonymized”: “Juan Pérez, correo: ***, teléfono: ***, vive en ***.”, “entities_anonimized”: { “email”: [“juan.perez@example.com”], “teléfono”: [“555-1234”], “dirección”: [“123 Calle Falsa”] } }

  3. Utiliza la salida
    Puedes pasar el objeto resultante a otro componente que realice análisis de sentimiento, clasificación o almacenamiento seguro.

Componentes Relacionados

  • Data Input – Para cargar datos desde archivos o APIs.
  • Data Output – Para guardar los resultados en bases de datos o archivos.
  • Text Processor – Para realizar transformaciones adicionales sobre el texto anonimizado.

Consejos y Mejores Prácticas

  • Elige el modelo adecuado: Modelos más grandes suelen detectar entidades con mayor precisión, pero pueden costar más.
  • Prueba con ejemplos pequeños antes de procesar volúmenes grandes.
  • Revisa la lista de entidades: Asegúrate de incluir todos los tipos relevantes para tu caso de uso.
  • Activa “Use Word Boundaries” cuando el texto contenga palabras compuestas o abreviaturas.
  • Guarda la lista de entidades (entities_anonimized) para auditorías o para re‑identificar datos cuando sea necesario.

Consideraciones de Seguridad

  • La anonimización reduce el riesgo de exposición de datos sensibles, pero no elimina la necesidad de cumplir con regulaciones como GDPR o CCPA.
  • Verifica que el modelo no retenga información confidencial en sus logs internos.
  • Si el texto contiene datos extremadamente sensibles, considera combinar la anonimización con cifrado adicional antes de almacenarlo.