¿Está luchando por equilibrar la seguridad de la IA generativa con la precisión, el rendimiento y los costos? Muchas organizaciones enfrentan este desafío al implementar aplicaciones de IA generativa en producción. Una barrera de seguridad demasiado estricta bloquea las solicitudes legítimas de los usuarios, lo que frustra a los clientes. Uno que sea demasiado indulgente expone su aplicación a contenido dañino, ataques rápidos o exposición de datos no intencionada. Encontrar el equilibrio adecuado requiere algo más que habilitar funciones; exige una configuración bien pensada y un refinamiento casi continuo.
Amazon Bedrock Guardrails le brinda herramientas poderosas para implementar salvaguardas responsables de IA: filtrado de contenido para texto e imágenes (incluida la prevención rápida de ataques), clasificación de temas, protección de información confidencial, verificaciones de fundamento contextual y verificaciones de razonamiento automatizadas. En esta publicación, le mostraremos cómo configurar estas capacidades para un rendimiento más eficiente, implementar mejores prácticas para proteger sus aplicaciones y monitorear su implementación de manera efectiva para mantener el equilibrio adecuado entre seguridad y experiencia del usuario.
Exploremos las estrategias que le ayudarán a implementar barreras de seguridad con confianza en producción.
Mejores prácticas para utilizar Amazon Bedrock Guardrails
Para obtener el máximo beneficio de Amazon Bedrock Guardrails, le recomendamos que adopte las siguientes mejores prácticas.
1. Seleccione las políticas de protección adecuadas
La elección de qué políticas de protección utilizar en los flujos de trabajo de producción depende de su caso de uso específico, pero varias políticas fundamentales brindan protección adecuada para la mayoría de las implementaciones.
La política de contenido bloquea contenido dañino que incluye incitación al odio, insultos, contenido sexual, violencia y mala conducta, lo que le ayuda a mantener la seguridad del contenido en las aplicaciones. Recomendamos esto para todas las implementaciones de producción.
Más allá del contenido de texto, puede ampliar los filtros de contenido para imágenes para aplicar las mismas políticas de moderación de contenido tanto al texto como a las imágenes en sus aplicaciones de IA generativa. Esta capacidad multimodal ayuda a bloquear contenido visual dañino en las seis categorías de filtro de contenido: odio, insultos, sexual, violencia, mala conducta y ataques rápidos. Al configurar filtros de contenido, puede optar por aplicar el filtrado solo a texto, solo a imágenes o ambas modalidades.
La prevención de ataques rápidos puede ayudar a identificar posibles intentos de jailbreak, ataques de inyección rápidos y ataques de fuga rápidos que podrían intentar debilitar las funciones de seguridad y las instrucciones de los desarrolladores. Esta política se recomienda para mantener la seguridad de las aplicaciones.
La Política de información confidencial ofrece capacidades de enmascaramiento o eliminación de información de identificación personal (PII), que pueden ayudarlo a proteger los datos de los clientes y respaldar sus esfuerzos de cumplimiento.
Word Policy bloquea palabras o frases específicas, comúnmente utilizadas para filtrar malas palabras, términos restringidos específicos de la industria o restricciones de vocabulario personalizadas.
Topic Policy le ayuda a aplicar políticas personalizadas de IA responsable (RAI), mantener el cumplimiento de las directrices organizativas y controlar el alcance y el tema de la conversación.
Para casos de uso especializados, puede agregar Contextual Grounding para ayudar a validar si las respuestas están respaldadas por materiales de referencia confiables, ayudar a reducir las alucinaciones del modelo durante el resumen del contenido y ayudar a mantener la relevancia de la conversación. Puede utilizar la Política de razonamiento automatizado para exigir el cumplimiento de los requisitos reglamentarios, validar resultados con reglas comerciales específicas e implementar filtros sofisticados más allá de la concordancia de palabras clave.
Comience con políticas básicas que se alineen con sus requisitos principales de seguridad y cumplimiento, luego agregue políticas especializadas basadas en las necesidades de casos de uso específicos. La revisión y el ajuste periódicos de sus políticas pueden ayudar a mejorar la protección y, al mismo tiempo, ayudar a mantener la funcionalidad deseada.
1.1 Elija el nivel de protección correcto
Actualmente, Guardrails proporciona dos niveles de protección para la política de contenido, la prevención rápida de ataques y la política de temas: nivel clásico y nivel estándar. Para la mayoría de los casos de uso, el nivel estándar es la mejor opción. Ofrece mayor solidez, mayor precisión, compatibilidad con idiomas más amplia, cuotas más altas y disponibilidad mejorada al dirigir el tráfico entre las regiones de AWS en función de la carga. Para obtener más información, consulte Niveles de protección para políticas de barreras de seguridad.
1.2. Utilice el modo de detección de barandillas para probar el comportamiento de su barandilla sin impacto
Antes de permitir que su guardrail intervenga en aplicaciones de producción, puede probar su comportamiento en el tráfico de clientes en vivo utilizando el modo de detección de guardrails. Con este modo, las barreras de seguridad evaluarán todo el contenido e informarán lo que se identificó en la respuesta de rastreo, pero no tomarán ninguna acción de bloqueo. A través del modo de detección, puede ver cómo se desempeña su barrera de seguridad en el tráfico real y actualizar las configuraciones según sea necesario. Una vez que esté satisfecho con el comportamiento, puede actualizar su barrera de seguridad para bloquear o enmascarar contenido según corresponda. Para obtener más información, consulte Opciones para manejar contenido dañino detectado por Amazon Bedrock Guardrails.
2. Configurar la intensidad del filtro de la política de contenido
La política de contenido de Amazon Bedrock Guardrails ofrece cuatro niveles de intensidad de filtro para ayudarlo a equilibrar la seguridad del contenido con la funcionalidad de la aplicación: NINGUNO, BAJO, MEDIO y ALTO. Las diferentes intensidades de filtro reflejan la confianza de las barreras de seguridad en que la entrada contiene contenido dañino. Si configura una barandilla con una intensidad de filtro BAJA, la barandilla bloqueará las solicitudes en las que tenga un alto grado de confianza de que la entrada es dañina. De manera análoga, si la barandilla está configurada con una intensidad de filtro ALTA, entonces la barandilla bloqueará incluso las entradas en las que tiene poca confianza. Por ejemplo, una solicitud que contenga insinuaciones sutiles podría pasar a través de un filtro de intensidad BAJA pero sería bloqueada por una configuración de intensidad de filtro ALTA.
Fuerza del filtro Bloquea el contenido con confianza NINGUNO Sin filtrado BAJO ALTO confianza solamente MEDIO ALTO y MEDIO confianza ALTO ALTO, MEDIO y BAJO confianza
2.1 Proceso de selección de la potencia del filtro recomendado
Configuración inicial Comience con una resistencia de filtro ALTA para establecer la máxima protección. Evaluación Pruebe su implementación utilizando tráfico de muestra representativo (tráfico de usuario esperado) para: Identificar la tasa de falsos positivos Evaluar el impacto en el contenido legítimo Evaluar la experiencia del usuario Ajuste Si la configuración inicial produce demasiados falsos positivos: Reduzca la intensidad del filtro a MEDIO Vuelva a evaluar con tráfico de muestra Continúe ajustando según sea necesario, pasando a BAJA si es necesario
3. Elaborar temas denegados eficaces: reglas de oro
1. Sea nítido y preciso. Defina los temas de forma clara e inequívoca, por ejemplo, “Preguntas o información asociada con la inversión, venta, transacción o adquisición de criptomonedas” en lugar de descripciones vagas, como “Consejos de inversión”.
2. Defina, no instruya. Evite frases de estilo comando como "Bloquear todo el contenido asociado con criptomonedas" y en su lugar diga "Todo el contenido asociado con criptomonedas". Concéntrese en cuál es el tema, no en lo que quiere que haga el sistema.
3. Manténgase positivo. Nunca defina temas de manera negativa (por ejemplo, "Todo el contenido excepto consejos de inversión"). Las barandillas deben tener definiciones claras y afirmativas de qué detectar.
4. Céntrese en los temas, no en las palabras. Los temas denegados capturan temas y conceptos contextualmente; no están diseñados para capturar nombres, entidades o palabras individuales específicas. Para esos casos de uso, utilice filtros de información confidencial o filtros de palabras.
5. Proporcione frases de muestra. Agregue algunas frases de muestra que representen los tipos de entradas que le gustaría que bloqueara el filtro de temas. Para denegar un tema que bloquee los consejos de inversión, puede escribir "Recomendar una acción que se disparará" o "¿Puede sugerirme dónde invertir mi dinero?".
4. Personalización más allá de los filtros integrados
Para algunas aplicaciones, es posible que las categorías de filtro de contenido proporcionadas o los tipos de PII integrados no cubran completamente sus requisitos de protección. Cuando esto sucede, tienes dos opciones:
Cree un tema de denegación personalizado: si su caso de uso requiere bloquear contenido que queda fuera de las categorías de filtro de contenido existentes, puede definir un tema de denegación adaptado a sus necesidades. Por ejemplo, si necesita bloquear una discusión política, puede crear un tema de denegación con la definición "Cualquier contenido relacionado con política o elecciones". Cree un filtro de expresiones regulares personalizado: si los tipos de PII integrados no cubren los patrones de datos confidenciales que necesita detectar, puede definir un filtro de expresiones regulares para llenar el vacío. Por ejemplo, para bloquear todas las fechas en formato MM/DD/AAAA, puede agregar el siguiente patrón de expresiones regulares: b(0[1-9]|1[0-2])[/-](0[1-9]|[12]d|3[01])[/-](19|20)d{2}b
5. Elija el enfoque de implementación adecuado
Amazon Bedrock Guardrails ofrece varias formas de proteger sus aplicaciones, cada una adaptada a diferentes patrones arquitectónicos y requisitos de control. Comprender cuándo utilizar cada enfoque le ayudará a crear estrategias de protección que se adapten a sus necesidades específicas.
API ApplyGuardrail independiente para máxima flexibilidad
Cuando necesite un control preciso sobre dónde y cómo las barreras de seguridad evaluarán el contenido, puede invocar la API ApplyGuardrail en cualquier punto de la lógica de su aplicación. Puede utilizar ApplyGuardrail con cualquier modelo de lenguaje grande (LLM) o puerta de enlace LLM, incluidos modelos de Amazon Bedrock o externos. Con este enfoque, puede implementar barreras de seguridad en puntos de control críticos: preprocesar las entradas de los usuarios de múltiples fuentes, validar las salidas intermedias en flujos de trabajo de IA de varios pasos, filtrar los documentos recuperados en canales de recuperación de generación aumentada (RAG) o posprocesar las respuestas de LLM antes de la entrega. Para aplicaciones sensibles a la latencia, puede paralelizar la llamada de validación de entrada ApplyGuardrail y la llamada de inferencia LLM y luego procesar los resultados juntos. Sin embargo, esto significa que siempre pagará por ambas llamadas, incluso si la barandilla hubiera bloqueado la entrada. Con un enfoque secuencial, puede omitir por completo la llamada de inferencia cuando interviene la barandilla, ahorrando ese costo. Puede diseñar estrategias de protección personalizadas que coincidan con el perfil de riesgo específico de su aplicación, aplicando diferentes configuraciones de barreras de seguridad según el contexto, el estado del usuario o la etapa del flujo de trabajo. Para obtener más detalles, consulte Utilice la API ApplyGuardrail en su aplicación.
Integración nativa con las API de inferencia de Bedrock
Cuando utiliza Amazon Bedrock Guardrails con API de inferencia como InvokeModel, InvokeModelWithResponseStream, Converse o ConverseStream, el sistema maneja automáticamente un patrón de punto de control dual. Primero, envía la información del usuario a la API de ApplyGuardrail para evaluarla con sus políticas definidas. Si su barandilla bloquea la entrada, devuelve su mensaje configurado, si la barandilla permite la entrada, procede al modelo de base. Después de que el modelo genera una respuesta, el sistema evalúa la salida (incluidas las fuentes de conexión a tierra cuando corresponda) a través de las barandillas nuevamente antes de devolver los resultados a los usuarios. Para la integración con las API de transmisión de Amazon Bedrock (InvokeModelWithResponseStream y ConverseStream), la barrera de seguridad almacenará en búfer la salida de transmisión del modelo y evaluará la salida en fragmentos. Estas integraciones nativas agilizan la implementación y mantienen una protección integral. Para obtener más detalles, consulte Utilice su barrera de seguridad con operaciones de inferencia para evaluar la entrada del usuario.
Importante: Cada llamada a la API de ApplyGuardrail genera cargos separados, así que considere su arquitectura cuidadosamente. El precio de Amazon Bedrock Guardrails se basa en las unidades de texto consumidas o las imágenes procesadas por protección configurada. Para obtener más información, consulte la página de precios de Amazon Bedrock para obtener más detalles.
6. Administre las barreras de seguridad en conversaciones de varios turnos
Uno de los errores más comunes en la IA conversacional es la aplicación excesiva de barreras de seguridad al historial de conversaciones. Si evalúa cada mensaje de todo el historial de chat en cada turno, un solo tema bloqueado al principio de la conversación puede impedir que los usuarios sigan adelante. Esto puede suceder incluso cuando sus nuevas preguntas sean perfectamente válidas.
Si sus barreras de seguridad evalúan todo el historial de conversaciones, esa segunda pregunta también se bloquea, simplemente porque todavía existen "plátanos" en algún lugar del registro de chat. Su usuario ahora está atascado y no puede recuperarse de un solo paso en falso.
En lugar de verificar el historial de conversaciones completo, configure sus barreras de seguridad para evaluar solo las entradas más recientes del usuario o un número limitado de turnos recientes. Este enfoque permite que las conversaciones fluyan de forma natural y permite a los usuarios recuperarse de interacciones bloqueadas. Además, puede reducir tanto el costo como la latencia al no hacer que la barandilla evalúe el mismo contenido varias veces en diferentes turnos. Si las barandillas solo evaluaran el último turno (en este caso, "¿Puedo reservar un vuelo?"), entonces la conversación continuaría sin problemas y los usuarios podrían superar las intervenciones anteriores de la barandilla sin fricción. Con esta estrategia, puedes mantener la fluidez de la conversación y mejorar la experiencia del usuario manteniendo las conversaciones naturales.
Las integraciones de Guardrail dentro de herramientas como LiteLLM, LangChain AWS y Strands Agents evalúan de forma predeterminada solo el último turno de la conversación o proporcionan una marca para hacerlo.
Uso de la API de Converse con guardContent para conversaciones de varios turnos
El siguiente ejemplo demuestra cómo evaluar selectivamente solo el último mensaje del usuario en una conversación de varios turnos utilizando el bloque guardContent. En este enfoque, el historial de conversaciones se pasa como texto normal (que no será evaluado por las barreras de seguridad), mientras que guardContent solo incluye la entrada más reciente del usuario:
import boto3 bedrock = boto3.client("bedrock-runtime", region_name="") # Historial de conversaciones (los mensajes anteriores no serán evaluados por las barreras de seguridad) mensajes = [ { "role": "user", "content": [ {"text": "¿Vendes plátanos?"} ] }, { "role": "assistant", "content": [ {"text": "Lo siento, pero no puedo ayudar con ese tema."} ] }, { "role": "user", "content": [ { # Solo este bloque será evaluado por guardrails "guardContent": { "text": { "text": "¿Puedo reservar un vuelo a París?" } } } ] } ] respuesta = bedrock.converse( modelId="", guardrailConfig={ "guardrailIdentifier": "your-guardrail-id", "guardrailVersion": "1", "trace": "enabled" }, message=messages ) # La conversación fluye naturalmente porque solo "¿Puedo reservar un vuelo a París?" se evalúa, no el tema bloqueado anteriormente sobre plátanos print(respuesta['salida']['mensaje']['contenido'][0]['texto'])
En este ejemplo, aunque el historial de conversación contiene un tema previamente bloqueado (“plátanos”), el usuario puede continuar la conversación de forma natural porque la barrera de seguridad solo evalúa la última consulta incluida en guardContent. La cantidad óptima de turnos para evaluar puede variar según su caso de uso y los requisitos de seguridad, ya que algunos ataques pueden abarcar varios turnos de conversación. Considere comenzar con una evaluación de una sola vuelta y realizar ajustes según las necesidades de su aplicación.
7. Utilice versiones numéricas de barandilla en producción.
Cuando crea una barrera de seguridad, Amazon Bedrock crea automáticamente una versión única etiquetada como BORRADOR. Puede crear versiones numéricas adicionales (versión 1 y versión 2) de la barandilla mediante la API CreateGuardrailVersion. El servicio incrementa automáticamente los números de versión cada vez que se crea una nueva versión. Cada versión numérica es una instantánea inmutable de las políticas de la versión BORRADOR de la barandilla en el momento de su creación. Cualquier modificación a las políticas en la versión BORRADOR no afecta las versiones numéricas existentes. Recomendamos encarecidamente utilizar versiones numéricas en lugar de la versión BORRADOR en aplicaciones de producción. La versión BORRADOR está diseñada para fines de desarrollo y prueba, y su uso en producción puede provocar los siguientes problemas:
Interrupciones del servicio: cuando un operador modifica la versión BORRADOR utilizando la API UpdateGuardrail, la barrera entra en un estado ACTUALIZANDO. Durante este período, cualquier llamada de inferencia que utilice la barandilla DRAFT recibirá una ValidationException que indica que la barandilla no está en estado LISTO. Protección inconsistente: los cambios realizados en la configuración de la versión BORRADOR pueden afectar inmediatamente su aplicación de producción, comprometiendo potencialmente los controles de protección previstos.
Para utilizar una versión numérica en una llamada a ApplyGuardrail, establezca el valor del campo guardrailVersion para que sea el número de versión:
respuesta = bedrock.apply_guardrail( guardrailId="tu-ID-guardrail", guardrailVersion="47", contenido=contenido, fuente="tu-fuente")
Al utilizar versiones numéricas en producción, puede ayudar a mantener un comportamiento más consistente y predecible de sus barreras de seguridad y, al mismo tiempo, preservar la flexibilidad para probar e iterar nuevas políticas en la versión BORRADOR. Para obtener más información sobre las versiones de barandillas, consulte Crear una versión de una barandilla.
Conclusión
La implementación efectiva de Amazon Bedrock Guardrails requiere una configuración cuidadosa y una comprensión profunda del perfil de riesgo único de su aplicación. Al seleccionar las políticas y los niveles de protección adecuados, ajustar las configuraciones mediante pruebas iterativas, elegir el enfoque de implementación que se ajuste a su arquitectura e implementar de forma segura con una versión numérica, puede equilibrar la seguridad, el costo y la experiencia del usuario. Trate sus barreras de seguridad como un sistema vivo: comience con líneas de base sólidas, pruebe con el modo de detección en tráfico real y ajústelo a medida que su aplicación evolucione. Seguir estas prácticas probadas en batalla ayudará a que sus aplicaciones de IA generativa sigan siendo seguras, eficientes y listas para escalar con confianza a producción.
Para obtener más información sobre Amazon Bedrock Guardrails, consulte la documentación de Amazon Bedrock Guardrails, explore los niveles de protección para una IA responsable personalizada o visite la consola de Amazon Bedrock para crear su primera barandilla lista para producción.