Compartir a través de


Exigir comprobaciones de seguridad de contenido en solicitudes LLM

APLICA A: desarrollador | Básico | Básico v2 | Estándar | Estándar v2 | Premium | Premium v2

La llm-content-safety directiva aplica comprobaciones de seguridad de contenido en solicitudes (LLM) del modelo de lenguaje grande (LLM) transmitiéndolos al servicio de seguridad de contenido de Azure AI antes de enviarlos a la API de LLM de back-end. Cuando la directiva está habilitada y Azure AI Content Safety detecta contenido malintencionado, API Management bloquea la solicitud y devuelve un 403 código de error.

Nota:

Las categorías y categorías de términos que se usan en API Management son sinónimos de categoría de daño y categorías de daños en el servicio seguridad de contenido de Azure AI. Puede encontrar detalles en las categorías De daño en la página Seguridad del contenido de Azure AI .

Use la directiva en escenarios como los siguientes:

  • Bloquear solicitudes que contienen categorías predefinidas de contenido dañino o de odio de voz
  • Aplicar listas de bloqueo personalizadas para evitar que se envíe contenido específico
  • Protección contra avisos que coinciden con patrones de ataque

Nota:

Establezca los elementos de la política y sus elementos secundarios en el orden proporcionado en la declaración de política. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.

Prerrequisitos

  • Un recurso de seguridad de contenido de Azure AI .
  • Un back-end de API Management configurado para enrutar las llamadas API de seguridad de contenido y autenticarse en el servicio seguridad de contenido de Azure AI:
    • La identidad administrada de API Management debe configurarse en el servicio azure AI Content Safety con el rol de usuario de Cognitive Services.
    • La dirección URL del back-end de Seguridad del contenido de Azure AI, a backend-id la que hace referencia en la llm-content-safety directiva, debe tener el formato https://<content-safety-service-name>.cognitiveservices.azure.com.
    • Las credenciales de autorización del back-end de Seguridad del contenido de Azure AI deben establecerse en Identidad administrada habilitada con un identificador de recurso exacto de https://cognitiveservices.azure.com.

Declaración de política

<llm-content-safety backend-id="name of backend entity" shield-prompt="true | false" enforce-on-completions="true | false">
    <categories output-type="FourSeverityLevels | EightSeverityLevels">
        <category name="Hate | SelfHarm | Sexual | Violence" threshold="integer" />
        <!-- If there are multiple categories, add more category elements -->
        [...]
    </categories>
    <blocklists>
        <id>blocklist-identifier</id>
        <!-- If there are multiple blocklists, add more id elements -->
        [...]
    </blocklists>
</llm-content-safety>

Atributos

Atributo Descripción Obligatorio Predeterminado
backend-id Identificador (nombre) del back-end de seguridad del contenido de Azure AI para enrutar las llamadas API de seguridad de contenido. Se permiten expresiones de directiva. No disponible
símbolo del escudo Si se establece en true, se comprueba el contenido de los ataques de usuario. De lo contrario, omita esta comprobación. Se permiten expresiones de directiva. No false
aplicar finalizaciones Si se establece trueen , las comprobaciones de seguridad de contenido se aplican en las finalizaciones de chat para la validación de respuesta. De lo contrario, omita esta comprobación. Se permiten expresiones de directiva. No false

Elementos

Elemento Descripción Obligatorio
categorías Lista de category elementos que especifican la configuración de las solicitudes de bloqueo cuando se detecta la categoría. No
listas de bloqueados Una lista de elementos de la lista de id de la instancia de seguridad de contenido de Azure AI para la que la detección hace que se bloquee la solicitud. Se permiten expresiones de directiva. No

atributos de categorías

Atributo Descripción Obligatorio Predeterminado
tipo de salida Especifica cómo devuelven los niveles de gravedad la seguridad del contenido de Azure AI. El atributo debe tener uno de los valores siguientes.

- FourSeverityLevels: gravedades de salida en cuatro niveles: 0,2,4,6.
- EightSeverityLevels: gravedades de salida en ocho niveles: 0,1,2,3,4,5,6,7.

Se permiten expresiones de directiva.
No FourSeverityLevels

atributos de categoría

Atributo Descripción Obligatorio Predeterminado
nombre Especifica el nombre de esta categoría. El atributo debe tener uno de los siguientes valores: Hate, SelfHarm, Sexual, Violence. Se permiten expresiones de directiva. No disponible
umbral Especifica el valor de umbral de esta categoría en la que se bloquea la solicitud. No se bloquean las solicitudes con gravedades de contenido inferiores al umbral. El valor debe estar comprendido entre 0 (más restrictivo) y 7 (menos restrictivo). Se permiten expresiones de directiva. No disponible

Uso

Notas de uso

  • La directiva se ejecuta en una concatenación de todo el contenido de texto en una solicitud de finalización o finalización de chat.
  • Si la solicitud supera el límite de caracteres de seguridad de contenido de Azure AI, se devuelve un 403 error.
  • Esta directiva se puede usar varias veces por definición de directiva.

Ejemplo

En el ejemplo siguiente se aplican comprobaciones de seguridad de contenido en las solicitudes LLM mediante el servicio Azure AI Content Safety. La directiva bloquea las solicitudes que contienen voz en la Hate categoría o Violence con un nivel de gravedad de 4 o superior. En otras palabras, el filtro permite que los niveles 0-3 continúen mientras que los niveles 4-7 están bloqueados. Aumentar el umbral de una categoría aumenta la tolerancia y reduce potencialmente el número de solicitudes bloqueadas. Al reducir el umbral, se reduce la tolerancia y se aumenta el número de solicitudes bloqueadas. El shield-prompt atributo se establece en true para comprobar si hay ataques adversarios.

<policies>
    <inbound>
        <llm-content-safety backend-id="content-safety-backend" shield-prompt="true">
            <categories output-type="EightSeverityLevels">
                <category name="Hate" threshold="4" />
                <category name="Violence" threshold="4" />
            </categories>
        </llm-content-safety>
    </inbound>
</policies>

Para obtener más información sobre cómo trabajar con directivas, consulte: