Creación de flujos de trabajo RAG seguros con particionamiento de datos a nivel de fragmento
Las bases de datos vectoriales se han convertido en un pilar para impulsar aplicaciones basadas en IA, particularmente RAG (generación aumentada por recuperación), permitiendo búsquedas de similitud rápidas y eficientes en enormes conjuntos de datos de alta dimensionalidad. La partición efectiva se vuelve crucial a medida que estas bases de datos escalan para acomodar miles de millones de vectores. Al organizar los datos en segmentos lógicos, la partición mejora el rendimiento de las consultas, favorece la escalabilidad y garantiza una gestión segura de los datos mediante aislamiento por inquilino en entornos multiusuario.
Las bases de datos vectoriales modernas, como Milvus y Zilliz Cloud (el Milvus gestionado), han introducido funciones avanzadas de partición para abordar las demandas de las aplicaciones empresariales. Sin embargo, a medida que aumenta el número de particiones, también lo hace la complejidad de gestionarlas eficazmente. Las empresas ahora buscan soluciones centradas en la privacidad que puedan escalar la partición mientras se integran sin problemas con los flujos de trabajo de IA.
En un reciente South Bay Unstructured Data Meetup organizado por Zilliz, Rob Quiros, CEO y cofundador de Caber Systems, compartió un enfoque innovador para particionar bases de datos vectoriales utilizando políticas de acceso por usuario y por fragmento. Explicó cómo integrar permisos y autorización en las particiones puede proteger los datos a nivel de fragmento, abordando preocupaciones de privacidad. Este blog resumirá sus ideas y explorará cómo Caber Systems aprovecha la base de datos vectorial Milvus para lograr una gestión de datos robusta y centrada en la privacidad. Para más detalles, vea la repetición completa de su charla en YouTube.
Desafíos en el control de acceso para bases de datos vectoriales
Las bases de datos vectoriales modernas, como Milvus, admiten eficazmente la multi-tenencia, permitiendo almacenamiento y gestión separados para conjuntos de datos de clientes distintos. Esta capacidad garantiza que los datos de un inquilino estén aislados y sean inaccesibles para otros, formando una base robusta para una gestión de datos segura y organizada. Sin embargo, aunque esta separación satisface bien el aislamiento general de datos, implementar controles de acceso granulares específicos para usuarios dentro de estos conjuntos de datos es más desafiante. Esto se debe a la diversidad de modos de control de acceso que requieren las empresas.
Algunos de ellos son:
Control de acceso basado en roles (RBAC) - Asigna permisos según roles predefinidos, pero tiene dificultades con requisitos complejos y dinámicos.
Control de acceso basado en atributos (ABAC) - Usa atributos como roles de usuario, sensibilidad de los datos o ubicación geográfica, pero requiere un sistema robusto de gestión de políticas.
Control de acceso basado en relaciones (ReBAC) - Proporciona acceso basado en relaciones entre departamentos o equipos, añadiendo complejidad a los mecanismos de aplicación.
Además, proporcionar y gestionar tales controles de acceso puede convertirse en una pesadilla administrativa. Desde asignar permisos hasta gestionar solicitudes de acceso o disputas, la sobrecarga operativa también puede abrumar a los equipos de soporte. La figura a continuación de Permit.io presenta un ejemplo de control ReBAC. Ilustra un proceso complicado para acceder a un fragmento específico de datos válido solo durante la sesión en curso.
Figura: Un ejemplo de control ReBAC
Figura: Un ejemplo de control ReBAC
El papel de los agentes en el acceso a los datos
En los sistemas RAG, los agentes que actúan en nombre de los usuarios consultan bases de datos vectoriales y recuperan información. Aunque mejoran la eficiencia al automatizar la tarea, plantean un importante desafío de seguridad. Los agentes operan como proxies para las acciones de los usuarios, lo que significa que heredan los permisos de usuario durante el acceso a los datos. Este mecanismo, sin embargo, es vulnerable a ataques:
Suplantación de agentes: Los actores maliciosos pueden hacerse pasar por agentes, explotando las credenciales de los usuarios para acceder a datos sensibles.
Fuga de datos: Si la sesión de un agente se ve comprometida, podría otorgar acceso no autorizado a grandes cantidades de datos.
Figura: Problemas de seguridad con RAG agéntico
Figura: Problemas de seguridad con RAG agéntico
Para mitigar estos riesgos, las organizaciones deben adoptar medidas estrictas:
Autenticación: Autenticación sólida de agentes para verificar identidades y evitar la suplantación.
Gestión de sesiones: Restringir las sesiones de los agentes a duraciones predefinidas, como demostró Reback.
Registro y monitoreo: Pistas de auditoría completas para rastrear la actividad de los agentes y detectar anomalías.
Aunque tomar estas medidas puede ayudar a abordar los ataques, implementarlo todo se vuelve muy tedioso.
Duplicación de datos: un desafío significativo para las empresas
La duplicación de datos es un problema persistente en los entornos empresariales. Los documentos suelen pasar por múltiples iteraciones mediante copiar y pegar, el uso compartido de archivos o el versionado, lo que genera fragmentos redundantes almacenados en bases de datos vectoriales. Esta duplicación aumenta la sobrecarga de almacenamiento y deteriora la capacidad de generalización de los LLM. Rob menciona su experiencia previa con la deduplicación de datos en Riverbed, donde encontraron que el 90-95% de los datos eran duplicados, que tuvieron que eliminarse.
Figura: La duplicación de datos es un gran desafío al establecer permisos
Figura: La duplicación de datos es un gran desafío al establecer permisos
Una complicación importante surge cuando los metadatos, incluidos los permisos, se copian directamente de los documentos a los fragmentos en las bases de datos vectoriales. Si existen fragmentos duplicados en diferentes documentos con permisos variables, los metadatos pueden sobrescribirse, causando conflictos o controles de acceso inadecuados. Por lo tanto, resolver los permisos a nivel de fragmento es crucial para garantizar la seguridad de los datos y el cumplimiento normativo.
A continuación se muestra un ejemplo del informe 10-Q de Apple, en el que se puede ver que el texto estándar de ambos documentos es común y que las diferencias entre versiones son mínimas. Por lo tanto, aquí, el objetivo es identificar y rastrear los orígenes de los fragmentos de datos y sus permisos asociados para que las reglas de acceso correctas puedan aplicarse de manera consistente.
Figura: Ejemplo de documentos similares de las presentaciones 10Q de Apple
Protección de los datos a nivel de fragmento
Para abordar estos problemas, Caber propuso una solución para proteger los datos a nivel de fragmento. Lo hace observando los documentos ingeridos en la base de datos vectorial y construyendo un índice aparte para mapear las relaciones entre los fragmentos y sus fuentes. Este grafo de linaje proporciona visibilidad sobre el origen de cada fragmento y sus permisos asociados, lo que permite la asignación determinista de permisos.
Figura: El enfoque de Caber para proteger los datos a nivel de fragmento
Figura: El enfoque de Caber para proteger los datos a nivel de fragmento (Fuente)
Ejemplo de gráfico de linaje con las presentaciones 10Q de Apple
Continuando con el ejemplo de Apple, el gráfico a continuación contiene fragmentos de datos de múltiples versiones de las presentaciones 10-Q de Apple. Los nodos rojos en el gráfico representan los fragmentos de datos comunes en todos los documentos. Usando una política, se determinan los permisos para cada uno de estos fragmentos. Estos permisos se consultan luego mientras los datos se recuperan de la base de datos vectorial para garantizar que los usuarios tengan la autorización adecuada para acceder a estos fragmentos.
Figura: Mapeo dinámico del linaje de cada fragmento para permisos con Caber
Ejemplo de demostración RAG con las presentaciones 10Q de Apple
Inicialmente, los datos se almacenan en la base de datos vectorial como Milvus sin metadatos de permisos. Cuando los datos salen de RAG, la integración de Caber en el flujo de trabajo a través de un SDK permite filtrar y redactar estos datos a un nivel granular antes de que puedan pasarse al LLM. Por ejemplo, la figura demuestra la autorización de acceso para dos usuarios diferentes: Amy, CFO de la empresa, está autorizada a acceder a todos los fragmentos de datos de los estados 10Q de 2023 y 2024. En cambio, Bob, otro usuario, ha sido restringido al mismo acceso y recibe una respuesta genérica.
Figura: Ejemplo de RAG que demuestra accesos variables para dos usuarios
Integración de Caber con flujos de trabajo LLM y sus capacidades
Figura: Caber se integra con flujos de trabajo LLM
Caber puede integrarse con flujos de trabajo LLM usando un SDK, lo que permite una gestión fluida del control de acceso. A través de conectores de identidad, el sistema recupera información de autenticación del usuario, mientras que otros conectores ayudan a crear un índice de fragmentos de datos junto con sus permisos asociados. Por ejemplo, cuando un usuario interactúa con el sistema, el agente pasa el prompt a la base de datos vectorial. La respuesta RAG se envía luego a los LLM, que proporcionan la respuesta final. Durante este proceso, los datos se rastrean en función de su flujo y todas las conexiones se atribuirán al usuario particular.
Aquí, usar Milvus como base de datos vectorial ayuda a admitir particionamiento dinámico y multiarrendamiento, lo que lo hace ideal para aplicaciones centradas en la privacidad que requieren control de acceso por fragmento. Con características como la indexación HNSW, garantiza consultas de alta velocidad entre miles de millones de vectores.
Responsabilidad y auditabilidad
La trazabilidad que proporciona Caber ofrece capacidades críticas de responsabilidad y auditoría. Particularmente en escenarios complejos que involucran IA agéntica, donde los LLM actúan de forma autónoma en nombre de los usuarios, como las acciones son bastante impredecibles, existe una alta probabilidad de que algo salga mal (por ej.: filtración de datos sensibles). Aquí, el conocimiento de cómo se movieron los datos a través de diversas llamadas a API y objetos es esencial para descubrir en qué paso exacto falló el sistema.
Figura: Responsabilidad y auditabilidad
Observabilidad detallada del flujo de la aplicación
Caber también permite el análisis y la depuración de herramientas de la aplicación mediante una observabilidad detallada del flujo de la aplicación. La capacidad de rastrear cuándo y por qué servicios se accedió a los datos del usuario permite a las organizaciones identificar mejor cuellos de botella, ineficiencias y riesgos de seguridad dentro de las canalizaciones de datos de la aplicación.
Figura: Observabilidad del flujo de la aplicación
Requisitos de cumplimiento de datos a política
Los conocimientos obtenidos de lo anterior pueden retroalimentarse en los LLM para mejorar las políticas de seguridad y abordar las brechas de forma proactiva. El marco admite control de acceso, auditabilidad, remediación y análisis, lo que garantiza el cumplimiento y mejora la resiliencia del sistema.
Data Compliance Requirements to Policy.png
Requisitos de cumplimiento de datos a política (Fuente)
Conclusión
A medida que crecen los casos de uso de las aplicaciones de LLM, más empresas dependen de RAG para realizar sus tareas. Por lo tanto, proteger y gestionar el acceso a los datos a un nivel granular se vuelve muy importante. Soluciones como Caber, combinadas con las capacidades avanzadas de particionamiento y búsqueda de Milvus, proporcionan el marco ideal para abordar desafíos como la duplicación de datos y establecer el control de acceso para el uso seguro de los datos.
Recursos relevantes
Sigue leyendo

Zilliz Cloud Now Available in Azure North Europe: Bringing AI-Powered Vector Search Closer to European Customers
The addition of the Azure North Europe (Ireland) region further expands our global footprint to better serve our European customers.

1 Table = 1000 Words? Foundation Models for Tabular Data
TableGPT2 automates tabular data insights, overcoming schema variability, while Milvus accelerates vector search for efficient, scalable decision-making.

Legal Document Analysis: Harnessing Zilliz Cloud's Semantic Search and RAG for Legal Insights
Enhance legal document analysis with Zilliz Cloud’s Semantic Search and RAG. Improve accuracy, efficiency, and scalability for contracts, case law, and compliance.


