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.
- Entrada: Recibe un objeto
Data
, unDocument
o una lista de cualquiera de estos. - 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. - 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.
- Salida: Se devuelve un objeto del mismo tipo que la entrada (Data o Document).
- Para
Document
, se garantiza que siempre existan las clavespage_content
ymetadata
. - Los nombres de las claves incluidas se convierten a formato
clave_subclave
(ejemplo:headers.Accept
→headers_Accept
).
- Para
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
oDocument
, 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 unData
, la salida será unData
. - 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.
- Input Data: Conecta el
Document
que contiene el correo. - Filter Criteria:
headers.Subjectpage_content
- Exclude Keys: Desactivado (para incluir solo las claves listadas).
- Salida: El componente devolverá un nuevo
Document
que contiene únicamenteheaders_Subject
ypage_content
.
Si, en cambio, quieres eliminar la cabecera Authorization
de los metadatos:
- Input Data: Conecta el
Document
. - Filter Criteria:
metadata.Authorization
- Exclude Keys: Activado (para excluir la clave).
- Salida: Un
Document
sin la clavemetadata.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
oDocument
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 quepage_content
ymetadata
estén presentes para evitar errores en componentes posteriores. - Combina con
Exclude Keys
: Si necesitas eliminar varios campos sensibles, activaExclude 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
oDocument
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.