Filtragem do conteúdo do modelo básico com barreiras de proteção de IA
As barreiras de proteção da IA removem conteúdos potencialmente prejudiciais, como discurso de ódio, abuso e palavrões, da saída e entrada do modelo básico.
Recursos
As barreiras de proteção de IA utilizam classificadores de frases para analisar tanto a entrada fornecida a um modelo básico quanto o texto de saída gerado pelo modelo.
O classificador de frases divide o texto de entrada e saída do modelo em frases e, em seguida, analisa cada frase para localizar e sinalizar o conteúdo prejudicial. O classificador avalia cada palavra, os relacionamentos entre as palavras e o contexto da sentença para determinar se uma sentença contém linguagem prejudicial.. O classificador então designa uma pontuação que representa a probabilidade de que o conteúdo inadequado esteja presente.
As proteções de IA são ativadas automaticamente quando você executa inferências em modelos básicos de linguagem natural.
Quando você usa as proteções de IA no Prompt Lab e clica em Gerar, o filtro verifica todo o texto de entrada e saída do modelo. O texto inadequado é manipulado das seguintes maneiras:
O texto de entrada sinalizado como inapropriado não é enviado para o modelo de base. A mensagem a seguir é exibida em vez da saída do modelo:
[The input was rejected as inappropriate]O texto de saída do modelo que é sinalizado como inadequado é substituído pela seguinte mensagem:
[Potentially harmful text removed]
Restrições
- As barreiras de proteção de IA podem detectar conteúdo prejudicial somente em textos em inglês.
- Não é possível aplicar proteções de IA com modelos de base de linguagem programática.
Filtros de proteção de IA
É possível configurar os seguintes filtros para serem aplicados à entrada do usuário e à saída do modelo e ajustar a sensibilidade do filtro, se aplicável:
Filtro de ódio, abuso e profanação (HAP)
O filtro HAP, também chamado de detector HAP, é um classificador de frases que foi ajustado a partir de um grande modelo de linguagem da família IBM Slate. Os modelos Slate são modelos de processamento de linguagem natural (NLP) apenas com codificador desenvolvidos pela IBM Research.
Use o filtro HAP para detectar e sinalizar os seguintes tipos de linguagem:
Discurso de ódio: Expressões de ódio contra um indivíduo ou grupo com base em atributos como raça, religião, origem étnica, orientação sexual, deficiência ou gênero. O discurso de ódio mostra uma intenção de ferir, humilhar ou insultar os membros de um grupo ou promover violência ou desordem social.
Linguagem abusiva: Linguagem rude ou ofensiva que tem o objetivo de intimidar, rebaixar ou humilhar alguém ou alguma coisa.
Profanação: Palavras tóxicas, como palavrões, insultos ou linguagem sexualmente explícita.
É possível usar o filtro HAP para entrada do usuário e saída do modelo de forma independente.
Você pode alterar a sensibilidade do filtro definindo um limite. O limite representa o valor que as pontuações geradas pelo classificador HAP devem atingir para que o conteúdo seja considerado prejudicial. O limite de pontuação varia de 0.0 a 1.0.
Um valor mais baixo, como 0.1 ou 0.2, é mais seguro porque o limite é mais baixo. É mais provável que o conteúdo nocivo seja identificado quando uma pontuação mais baixa pode acionar o filtro. No entanto, o classificador também pode ser acionado quando o conteúdo é seguro.
Um valor mais próximo de 1, como 0.8 ou 0.9, é mais arriscado porque o limite da pontuação é mais alto. Quando uma pontuação mais alta é necessária para acionar o filtro, as ocorrências de conteúdo nocivo podem ser perdidas. No entanto, o conteúdo sinalizado como prejudicial tem maior probabilidade de ser prejudicial.
Para desativar as grades de proteção de IA, defina o valor do limite de HAP como 1.
Filtro de informações pessoais identificáveis (PII)
O filtro PII utiliza um modelo de IA NLP para identificar e sinalizar conteúdo. Para obter a lista completa de tipos de entidades que são sinalizadas, consulte Extração baseada em regras para entidades gerais.
Use o filtro PII para controlar se as informações de identificação pessoal, como números de telefone e endereços de e-mail, são filtradas da entrada do usuário e da saída do modelo da fundação. É possível definir filtros de PII para entrada do usuário e saída do modelo de forma independente.
O valor limite do filtro de PII é definido como 0.8 e você não pode alterar a sensibilidade do filtro.
Formas de trabalho
Você pode remover conteúdo prejudicial ao trabalhar com modelos básicos no watsonx.ai usando os seguintes métodos:
- Do site Prompt Lab. Para obter detalhes, consulte Configurando proteções de IA no Prompt Lab
- Programaticamente com a API REST e a bibliotec Python. Para obter detalhes, consulte Configurando proteções de IA programaticamente.
Configurando proteções de IA no Prompt Lab
Para remover conteúdo prejudicial ao trabalhar com modelos básicos no Prompt Lab, defina o seletor de proteções de IA como Ativado.
O recurso de proteções de IA é ativado automaticamente para todos os modelos básicos de linguagem natural em inglês.
Para configurar as proteções de IA no Prompt Lab, execute as seguintes etapas:
Com as proteções de IA ativadas, clique no ícone de configurações das
proteções de IA.
Você pode configurar diferentes filtros para aplicar à entrada do usuário e à saída do modelo e ajustar a sensibilidade do filtro, se aplicável.
Filtro HAP
Para desativar as proteções de IA, defina o controle deslizante HAP para
1. Para alterar a sensibilidade das proteções, mova os controles deslizantes HAP.Filtro PII
Para ativar o filtro PII, defina o seletor PII como Ativado.
Experimente ajustar os controles deslizantes para encontrar as melhores configurações para suas necessidades.
Clique em Salvar.
Configurando proteções de IA programaticamente
Você pode definir barreiras de proteção de IA programaticamente para moderar o texto de entrada fornecido a um modelo básico e a saída gerada pelo modelo de várias maneiras.
Ao solicitar um modelo básico usando a API, você pode usar o moderations campo para aplicar filtros à entrada e saída do modelo básico. Para obter mais informações, consulte a referência da API do watsonx.ai.
Para obter mais informações sobre como ajustar filtros com a biblioteca Python, consulte Inferência de um modelo básico programaticamente ( Python ).
API de REST
Você pode usar os seguintes pontos finais da API watsonx.ai para configurar e aplicar proteções de IA à entrada e saída de texto em linguagem natural:
Ao inferir um modelo básico usando a API de geração de texto, você pode usar o
moderationscampo para aplicar filtros à entrada e saída do modelo básico. Para obter mais informações, consulte Geração de texto na documentação de referência da API watsonx.ai.Ao verificar o conteúdo usando a API de detecção de texto, você pode usar o
detectorscampo para aplicar filtros ao texto. Para obter mais informações, consulte Detecção de texto na documentação de referência da API watsonx.ai.
Python
Você pode usar o SDK watsonx.ai Python para configurar e aplicar proteções de IA à entrada e saída de texto em linguagem natural das seguintes maneiras:
Ajuste os filtros de proteção de IA com a biblioteca Python ao inferir o modelo base usando a API de geração de texto. Para obter detalhes, consulte Inferência de um modelo básico programaticamente ( Python ).
Ajuste os filtros de proteção de IA com a biblioteca Python ao inferir o modelo base usando a API de detecção de texto. Para obter mais informações, consulte a classe Guardian da biblioteca watsonx.aiPython.
O exemplo de código a seguir mostra como configurar e usar os filtros com a API de detecção de texto:
from ibm_watsonx_ai import APIClient, Credentials
from ibm_watsonx_ai.foundation_models.moderations import Guardian
credentials = Credentials(
url = "https://{region}.ml.cloud.ibm.com",
api_key ="{my-IBM-Cloud-API-key}"
)
api_client = APIClient(credentials, space_id="{my-space-ID}")
detectors = {
"granite_guardian": {"threshold": 0.4},
"hap": {"threshold": 0.4},
"pii": {},
}
guardian = Guardian(
api_client=api_client, # required
detectors=detectors # required
)
Para usar o filtro personalizado com a biblioteca Python, inclua o seguinte parâmetro na solicitação de detecção de texto:
text = "I would like to say some `Indecent words`."
response = guardian.detect(
text=text, # required
detectors=detectors # optional
)
Para obter mais informações, consulte watsonx.ai SDK do Python.