ModelosSeguridad de IA 🇷🇺 15.08.2026 14:02

Cómo evitar romper los LLM mientras se protegen los datos: bajo el capó del filtro de salvaguardas

OpenAIOpenAI AnthropicAnthropic
Este artículo detalla los desafíos de ingeniería para construir un filtro de salvaguardas, una capa de protección de datos para solicitudes a LLM. Destaca las complejidades de enmascarar y desenmascarar datos personales en respuestas en streaming, el manejo de llamadas a herramientas y el soporte de múltiples formatos de API. El autor comparte ideas de la implementación del filtro tanto para las APIs de Chat Completions como para las de Messages.
El artículo analiza el desarrollo de un filtro de barreras de seguridad diseñado para proteger los datos personales en las interacciones con los grandes modelos de lenguaje. Aunque encontrar datos personales mediante expresiones regulares es sencillo, el verdadero reto radica en integrar el filtro entre la aplicación y el modelo sin interrumpir la interacción. El filtro debe manejar solicitudes ordinarias, transmisión en streaming, llamadas a herramientas, mantener la estructura de los mensajes y preservar los metadatos. Para manejar múltiples apariciones del mismo tipo de dato, el filtro utiliza una tabla de mapeo, asignando marcadores de posición únicos como <PHONE_1> a cada valor distinto. Debido a que los modelos de lenguaje grandes son sin estado, el filtro debe reprocesar todo el historial de la conversación con cada solicitud. En el modo de streaming, las respuestas llegan en fragmentos y los marcadores de posición pueden dividirse entre fragmentos; el filtro utiliza un búfer para acumular suficientes datos antes de intentar desenmascararlos. También maneja varios campos en las respuestas, incluidos el contenido, el razonamiento y los argumentos de las llamadas a herramientas, asegurando que los datos se restauren correctamente en todos ellos. La implementación creció hasta unas 1.500 líneas de código solo para el streaming en Chat Completions. Además, admitir la API de Messages requirió una implementación separada debido a su formato basado en eventos, lo que elevó el código de prueba total a más de 4.000 líneas.
Fuente: Habr — хаб ИИ — original
Nuestros artículos anteriores sobre este tema ↓
Noticias frescas