Saltearse al contenido

Filter Data

El componente Filter Data permite a los usuarios seleccionar solo los campos que necesitan de un objeto de datos o eliminar los que no quieren. Es útil cuando se trabaja con grandes volúmenes de información y se necesita reducir la cantidad de datos que se pasan a los siguientes pasos del flujo de trabajo.

¿Cómo funciona?

El componente procesa los datos localmente, sin llamar a ninguna API externa.

  1. Entrada: Recibe un objeto Data, un Document o una lista de cualquiera de estos.
  2. Criterios: El usuario especifica una lista de claves a filtrar. Se puede usar la notación con puntos (headers.Accept) para acceder a valores anidados.
  3. Modo:
    • Si Exclude Keys está desactivado, el componente incluye solo las claves listadas.
    • Si Exclude Keys está activado, el componente excluye las claves listadas y devuelve todo lo demás.
  4. Salida: Se devuelve un objeto del mismo tipo que la entrada (Data o Document).
    • Para Document, se garantiza que siempre existan las claves page_content y metadata.
    • Los nombres de las claves incluidas se convierten a formato clave_subclave (ejemplo: headers.Acceptheaders_Accept).

El componente decide si devuelve un solo objeto o una lista en función de cuántos elementos se le pasaron como entrada.

Entradas

Input Data

  • Tipo: DataInput
  • Descripción: Un solo objeto Data o Document, o una lista de ellos.
  • Uso: Coloca aquí el dato que quieres filtrar. Si es una lista, el componente procesará cada elemento individualmente.

Exclude Keys

  • Tipo: BoolInput
  • Descripción:
    • Si está activado, las claves especificadas en Filter Criteria se eliminarán del objeto.
    • Si está desactivado, solo se conservarán las claves especificadas.
  • Uso: Selecciona esta casilla cuando quieras eliminar información sensible o innecesaria.

Filter Criteria

  • Tipo: MessageTextInput
  • Descripción: Lista de claves a filtrar. Se puede usar la notación con puntos para acceder a valores anidados (ejemplo: headers.Accept).
  • Uso: Escribe cada clave en una línea separada o separa las claves con comas. El componente las interpretará como una lista.

Salidas

Filtered Data

  • Tipo: Data (método: filter_data)
  • Descripción: El objeto filtrado, del mismo tipo que la entrada. Si la entrada fue un Document, la salida también lo será; si fue un Data, la salida será un Data.
  • Uso: Conecta esta salida a los siguientes componentes de tu flujo para continuar el procesamiento con los datos ya filtrados.

Ejemplo de Uso

Supongamos que tienes un Document que contiene información de un correo electrónico y quieres extraer solo la cabecera Subject y el cuerpo del mensaje, eliminando cualquier otro dato sensible.

  1. Input Data: Conecta el Document que contiene el correo.
  2. Filter Criteria:
    headers.Subject
    page_content
  3. Exclude Keys: Desactivado (para incluir solo las claves listadas).
  4. Salida: El componente devolverá un nuevo Document que contiene únicamente headers_Subject y page_content.

Si, en cambio, quieres eliminar la cabecera Authorization de los metadatos:

  1. Input Data: Conecta el Document.
  2. Filter Criteria:
    metadata.Authorization
  3. Exclude Keys: Activado (para excluir la clave).
  4. Salida: Un Document sin la clave metadata.Authorization.

Componentes Relacionados

  • Data – Representa un objeto de datos genérico.
  • Document – Representa un documento de LangChain, con contenido y metadatos.
  • Merge Data – Combina varios objetos Data o Document en uno solo.
  • Transform Data – Aplica transformaciones a los campos de un objeto Data.

Consejos y Mejores Prácticas

  • Mantén la lista de claves corta: Filtrar demasiadas claves puede hacer que el componente sea lento si trabajas con objetos muy grandes.
  • Usa la notación con puntos solo cuando sea necesario: Si tus datos son planos, evita la complejidad de la notación anidada.
  • Verifica la salida: Cuando trabajes con Document, revisa que page_content y metadata estén presentes para evitar errores en componentes posteriores.
  • Combina con Exclude Keys: Si necesitas eliminar varios campos sensibles, activa Exclude Keys y lista todas las claves a eliminar.
  • Prueba con datos de muestra: Antes de usar el componente en producción, prueba con un subconjunto de tus datos para asegurarte de que el filtrado funciona como esperas.

Consideraciones de Seguridad

  • Datos sensibles: Si tu flujo incluye información confidencial (por ejemplo, credenciales o datos personales), utiliza Exclude Keys para eliminar esos campos antes de enviarlos a servicios externos.
  • Validación de entrada: El componente no valida la estructura de los datos de entrada; asegúrate de que los objetos Data o Document estén bien formados para evitar errores de ejecución.
  • Control de acceso: En entornos multiusuario, limita quién puede modificar los criterios de filtrado para evitar filtraciones accidentales de información.