Compartilhar via


Impor verificações de segurança de conteúdo em solicitações LLM

APLICA-SE A: Desenvolvedor | Básico | Básico v2 | Padrão | Standard v2 | Premium | Premium v2

A llm-content-safety política impõe verificações de segurança de conteúdo em solicitações de LLM (modelo de linguagem grande) (prompts) transmitindo-as para o serviço de Segurança de Conteúdo de IA do Azure antes de enviar para a API LLM de back-end. Quando a política está habilitada e a Segurança de Conteúdo de IA do Azure detecta conteúdo mal-intencionado, o Gerenciamento de API bloqueia a solicitação e retorna um 403 código de erro.

Observação

A categoria de termos e as categorias usadas no Gerenciamento de API são sinônimos de categoria de danos e categorias de danos no serviço de Segurança de Conteúdo de IA do Azure. Os detalhes podem ser encontrados nas categorias Harm na página Segurança de Conteúdo de IA do Azure .

Use a política em cenários como o seguinte:

  • Bloquear solicitações que contêm categorias predefinidas de conteúdo prejudicial ou fala de ódio
  • Aplicar listas de bloqueio personalizadas para impedir que conteúdo específico seja enviado
  • Proteger contra prompts que correspondem a padrões de ataque

Observação

Defina os elementos e os elementos filhos da política na ordem fornecida no enunciado da política. Saiba mais sobre como definir e editar as políticas de Gerenciamento de API.

Pré-requisitos

  • Um recurso de Segurança de Conteúdo de IA do Azure .
  • Um back-end do Gerenciamento de API configurado para rotear chamadas à API de segurança de conteúdo e autenticar-se no serviço de Segurança de Conteúdo de IA do Azure:
    • A identidade gerenciada do Gerenciamento de API deve ser configurada no serviço de Segurança de Conteúdo de IA do Azure com a função de Usuário dos Serviços Cognitivos.
    • A URL de back-end de Segurança de Conteúdo da IA do backend-id Azure, referenciada llm-content-safety na política, precisa estar no formuláriohttps://<content-safety-service-name>.cognitiveservices.azure.com.
    • As credenciais de autorização do back-end de Segurança de Conteúdo da IA do Azure precisam ser definidas como Identidade Gerenciada habilitada com uma ID de recurso exata.https://cognitiveservices.azure.com

Declaração 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 Descrição Obrigatório Padrão
backend-id Identificador (nome) do back-end de Segurança de Conteúdo da IA do Azure para rotear chamadas à API de segurança de conteúdo. Expressões de política são permitidas. Sim Não aplicável
shield-prompt Se definido como true, o conteúdo será verificado para ataques do usuário. Caso contrário, ignore essa verificação. Expressões de política são permitidas. Não false
enforce-on-completions Se definido como true, as verificações de segurança de conteúdo são impostas nas conclusões do chat para validação de resposta. Caso contrário, ignore essa verificação. Expressões de política são permitidas. Não false

Elementos

Elemento Descrição Obrigatório
Categorias Uma lista de category elementos que especificam configurações para bloquear solicitações quando a categoria é detectada. Não
listas de bloqueios Uma lista de elementos da lista de id da instância de Segurança de Conteúdo da IA do Azure para a qual a detecção faz com que a solicitação seja bloqueada. Expressões de política são permitidas. Não

atributos de categorias

Atributo Descrição Obrigatório Padrão
tipo de saída Especifica como os níveis de gravidade são retornados pela Segurança de Conteúdo de IA do Azure. O atributo deve ter um dos valores a seguir.

- FourSeverityLevels: severidades de saída em quatro níveis: 0,2,4,6.
- EightSeverityLevels: severidades de saída em oito níveis: 0,1,2,3,4,5,6,7.

Expressões de política são permitidas.
Não FourSeverityLevels

atributos de categoria

Atributo Descrição Obrigatório Padrão
nome Especifica o nome dessa categoria. O atributo deve ter um dos seguintes valores: Hate, , SelfHarm, Sexual, Violence. Expressões de política são permitidas. Sim Não aplicável
limite Especifica o valor de limite para essa categoria na qual a solicitação é bloqueada. Solicitações com severidades de conteúdo menores que o limite não são bloqueadas. O valor deve estar entre 0 (mais restritivo) e 7 (menos restritivo). Expressões de política são permitidas. Sim Não aplicável

Uso

Notas de utilização

  • A política é executada em uma concatenação de todo o conteúdo de texto em uma solicitação de conclusão ou de conclusão de chat.
  • Se a solicitação exceder o limite de caracteres da Segurança de Conteúdo de IA do Azure, um 403 erro será retornado.
  • Essa política pode ser usada várias vezes por definição de política.

Exemplo

O exemplo a seguir impõe verificações de segurança de conteúdo em solicitações LLM usando o serviço de Segurança de Conteúdo da IA do Azure. A política bloqueia solicitações que contêm fala na Hate categoria ou Violence na categoria com um nível de severidade igual a 4 ou superior. Em outras palavras, o filtro permite que os níveis 0-3 continuem, enquanto os níveis 4-7 estão bloqueados. Elevar o limite de uma categoria aumenta a tolerância e potencialmente diminui o número de solicitações bloqueadas. Reduzir o limite reduz a tolerância e potencialmente aumenta o número de solicitações bloqueadas. O shield-prompt atributo está definido para true verificar se há ataques adversários.

<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 obter mais informações sobre como trabalhar com políticas, consulte: