As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Testar uma barreira de proteção
Após a criação de uma barreira de proteção, uma versão de rascunho de trabalho (DRAFT
) estará disponível. O rascunho de trabalho é uma versão da barreira de proteção que pode ser usada para editar e iterar continuamente até chegar a uma configuração satisfatória para o caso de uso. Você pode testar e comparar o rascunho de trabalho ou outras versões do guardrail para garantir que as configurações atendam aos requisitos de seu caso de uso. Edite as configurações no rascunho de trabalho e teste diferentes prompts para verificar se a barreira de proteção avalia e intercepta os prompts ou as respostas.
Quando a configuração estiver adequada, crie uma versão da barreira de proteção, que atua como um snapshot das configurações do rascunho de trabalho ao criar a versão. É possível usar versões para simplificar a implantação de barreiras de proteção em aplicações de produção sempre que fizer modificações nas barreiras de proteção. Qualquer alteração no rascunho de trabalho ou em uma versão criada não será refletida na aplicação de IA generativa até que você use especificamente a nova versão na aplicação.
- Console
-
Como testar uma barreira de proteção para verificar se ela bloqueia conteúdo prejudicial
-
Faça login na função AWS Management Console usando uma função do IAM com as permissões do Amazon Bedrock e abra o console do Amazon Bedrock em. https://console.aws.amazon.com/bedrock/
-
No painel de navegação à esquerda, escolha Barreiras de proteção. Selecione uma barreira de proteção na seção Barreiras de proteção.
-
Uma janela de teste é exibida à direita. É possível fazer as seguintes opções na janela de teste:
-
Por padrão, o rascunho de trabalho da barreira de proteção é usado na janela de teste. Para testar uma versão diferente da barreira de proteção, escolha Rascunho de trabalho na parte superior da janela de teste e selecione a versão.
-
Escolha Selecionar modelo para escolher um modelo. Para alterar uma opção, selecione Aplicar. Para alterar o modelo, escolha Alterar.
-
Insira um prompt na caixa Prompt.
-
Para obter uma resposta do modelo, selecione Executar.
-
O modelo retorna uma resposta na caixa Resposta final (que pode ser modificada pela barreira de proteção). Se a barreira de proteção bloquear ou filtrar a resposta do prompt ou do modelo, uma mensagem será exibida em Verificação da barreira de proteção informando quantas violações foram detectadas pela barreira de proteção.
-
Para visualizar os tópicos ou categorias prejudiciais no prompt ou na resposta que foram reconhecidos e autorizados a passar pelo filtro ou bloqueados por ele, selecione Visualizar rastreamento.
-
Use as guias Prompt e Resposta do modelo para visualizar os tópicos ou as categorias prejudiciais que foram filtrados ou bloqueados pela barreira de proteção.
-
Você também pode testar a barreira de proteção no Playground de texto. Selecione o playground e selecione a Barreira de proteção no painel Configurações antes de testar os prompts.
-
- API
-
Para usar uma grade de proteção na invocação do modelo, envie uma solicitação or. InvokeModelInvokeModelWithResponseStream Como alternativa, se você estiver criando um aplicativo de conversação, poderá usar o Converse API.
Formato de solicitação
Os endpoints de solicitações para invocar um modelo, com e sem streaming, são os seguintes.
modelId
Substitua pela ID do modelo a ser usado.-
InvokeModel
— POST /model/ /invoke HTTP/1.1modelId
-
InvokeModelWithResponseStream
— POST /model//modelId
HTTP/1.1 invoke-with-response-stream
O cabeçalho das duas operações de API tem o formato a seguir.
Accept:
accept
Content-Type:contentType
X-Amzn-Bedrock-Trace:trace
X-Amzn-Bedrock-GuardrailIdentifier:guardrailIdentifier
X-Amzn-Bedrock-GuardrailVersion:guardrailVersion
Os parâmetros são descritos a seguir.
-
Defina
Accept
como o tipo MIME do corpo de inferência na resposta. O valor padrão éapplication/json
. -
Defina
Content-Type
como o tipo MIME dos dados de entrada na solicitação. O valor padrão éapplication/json
. -
Defina
X-Amzn-Bedrock-Trace
comoENABLED
para habilitar um rastreamento para ver, entre outras coisas, o conteúdo que foi bloqueado por barreiras de proteção e por quê. -
Defina
X-Amzn-Bedrock-GuardrailIdentifier
com o identificador da barreira de proteção que você deseja aplicar à solicitação e à resposta da solicitação e do modelo. -
Defina
X-Amzn-Bedrock-GuardrailVersion
com a versão da barreira de proteção que você deseja aplicar à resposta ao modelo e solicitação.
O formato geral do corpo da solicitação é mostrado no exemplo a seguir. A propriedade
tagSuffix
só é usada com a Marcação de entrada. Você também pode configurar a barreira de proteção em streaming de forma síncrona ou assíncrona usandostreamProcessingMode
. Isso só funciona comInvokeModelWithResponseStream
.{
<see model details>
, "amazon-bedrock-guardrailConfig": { "tagSuffix": "string
", "streamProcessingMode": "SYNCHRONOUS" | "ASYNCHRONOUS
" } }Atenção
Você receberá um erro nas seguintes situações:
-
Você habilita a barreira de proteção, mas não há nenhum campo
amazon-bedrock-guardrailConfig
no corpo da solicitação. -
Você desabilita a barreira de proteção, mas especifica um campo
amazon-bedrock-guardrailConfig
no corpo da solicitação. -
Você habilita a barreira de proteção, mas o
contentType
não está naapplication/json
.
Para ver o corpo da solicitação para diferentes modelos, consulte Parâmetros de solicitação de inferência e campos de resposta para modelos de base.
nota
Para Cohere Command modelos, você só pode especificar uma geração no
num_generations
campo se usar uma grade de proteção.Se você habilitar uma barreira de proteção e o respectivo rastreamento, o formato geral da resposta da invocação de um modelo, com e sem streaming, será o seguinte: Para ver o formato do restante do
body
de cada modelo, consulte Parâmetros de solicitação de inferência e campos de resposta para modelos de base. OcontentType
corresponde ao que você especificou na solicitação.-
InvokeModel
HTTP/1.1 200 Content-Type: contentType { <see model details for model-specific fields>, "completion": "<model response>", "amazon-bedrock-guardrailAction": "INTERVENED | NONE", "amazon-bedrock-trace": { "guardrail": { "modelOutput": [ "<see model details for model-specific fields>" ], "input": { "
sample-guardrailId
": { "topicPolicy": { "topics": [ { "name": "string", "type": "string", "action": "string" } ] }, "contentPolicy": { "filters": [ { "type": "string", "confidence": "string", "filterStrength": "string", "action": "string" } ] }, "wordPolicy": { "customWords": [ { "match": "string", "action": "string" } ], "managedWordLists": [ { "match": "string", "type": "string", "action": "string" } ] }, "sensitiveInformationPolicy": { "piiEntities": [ { "type": "string", "match": "string", "action": "string" } ], "regexes": [ { "name": "string", "regex": "string", "match": "string", "action": "string" } ] }, "invocationMetrics": { "guardrailProcessingLatency": "integer", "usage": { "topicPolicyUnits": "integer", "contentPolicyUnits": "integer", "wordPolicyUnits": "integer", "sensitiveInformationPolicyUnits": "integer", "sensitiveInformationPolicyFreeUnits": "integer", "contextualGroundingPolicyUnits": "integer" }, "guardrailCoverage": { "textCharacters": { "guarded": "integer", "total": "integer" } } } } }, "outputs": ["same guardrail trace format as input
"] } } } -
InvokeModelWithResponseStream
: cada resposta retorna umchunk
cujo texto está no campobytes
, bem como quaisquer exceções ocorridas. O rastreamento da barreira de proteção é retornado somente para o último fragmento.HTTP/1.1 200 X-Amzn-Bedrock-Content-Type:
contentType
Content-type: application/json { "chunk": { "bytes": "<blob>" }, "internalServerException": {}, "modelStreamErrorException": {}, "throttlingException": {}, "validationException": {}, "amazon-bedrock-guardrailAction": "INTERVENED | NONE", "amazon-bedrock-trace": { "guardrail": { "modelOutput": ["<see model details for model-specific fields>"], "input": { "sample-guardrailId
": { "topicPolicy": { "topics": [ { "name": "string", "type": "string", "action": "string" } ] }, "contentPolicy": { "filters": [ { "type": "string", "confidence": "string", "filterStrength": "string", "action": "string" } ] }, "wordPolicy": { "customWords": [ { "match": "string", "action": "string" } ], "managedWordLists": [ { "match": "string", "type": "string", "action": "string" } ] }, "sensitiveInformationPolicy": { "piiEntities": [ { "type": "string", "match": "string", "action": "string" } ], "regexes": [ { "name": "string", "regex": "string", "match": "string", "action": "string" } ] }, "invocationMetrics": { "guardrailProcessingLatency": "integer", "usage": { "topicPolicyUnits": "integer", "contentPolicyUnits": "integer", "wordPolicyUnits": "integer", "sensitiveInformationPolicyUnits": "integer", "sensitiveInformationPolicyFreeUnits": "integer", "contextualGroundingPolicyUnits": "integer" }, "guardrailCoverage": { "textCharacters": { "guarded": "integer", "total": "integer" } } } } }, "outputs": ["same guardrail trace format as input
"] } } }
A resposta exibirá os campos a seguir se você habilitar uma barreira de proteção.
-
amazon-bedrock-guardrailAction
: especifica se a barreira de proteçãoINTERVENED
ou não (NONE
). -
amazon-bedrock-trace
: só aparece se você habilitar o rastreamento. Contém uma lista de rastreamentos, cada um dos quais fornece informações sobre o conteúdo bloqueado pela barreira de proteção. O rastreamento contém os seguintes campos:-
modelOutput
: um objeto que contém as saídas do modelo bloqueado. -
input
: contém os seguintes detalhes sobre a avaliação do prompt pelas barreiras de proteção:-
topicPolicy
: contémtopics
, uma lista de avaliações de cada política do tópico violada. Cada tópico inclui os seguintes campos:-
name
: o nome da política do tópico. -
type
: especifica se o tópico deve ser negado. -
action
: especifica que o tópico foi bloqueado
-
-
contentPolicy
: contémfilters
, uma lista de avaliações de cada filtro de conteúdo violado. Cada filtro inclui os seguintes campos:-
type
: a categoria do filtro de conteúdo. -
confidence
: o nível de confiança com que a saída pode ser categorizada como pertencente à categoria prejudicial. -
action
: especifica que o conteúdo foi bloqueado. Esse resultado depende da intensidade do filtro colocado na barreira de proteção.
-
-
wordPolicy
: contém uma coleção de palavras personalizadas e de palavras gerenciadas que foram filtradas e uma avaliação correspondente a essas palavras. Cada objeto contém os seguintes campos:-
customWords
: uma lista de palavras personalizadas que correspondem ao filtro.-
match
: a palavra ou frase que correspondeu ao filtro. -
action
: especifica que a palavra foi bloqueada.
-
-
managedWordLists
: uma lista de palavras gerenciadas que corresponderam ao filtro.-
match
: a palavra ou frase que correspondeu ao filtro. -
type
: especifica o tipo de palavra gerenciada que correspondeu ao filtro. Por exemplo,PROFANITY
se corresponder ao filtro de palavrões. -
action
: especifica que a palavra foi bloqueada.
-
-
-
sensitiveInformationPolicy
: contém os seguintes objetos, que contêm avaliações de informações de identificação pessoal (PII) e filtros regex que foram violados:-
piiEntities
: uma lista de avaliações de cada filtro de PII violado. Cada filtro contém os seguintes campos:-
type
: o tipo de PII encontrado. -
match
: a palavra ou frase que correspondeu ao filtro. -
action
: especifica se a palavra foiBLOCKED
ou substituída por um identificador (ANONYMIZED
).
-
-
regexes
: uma lista de avaliações de cada filtro regex violado. Cada filtro contém os seguintes campos:-
name
: o nome do filtro regex. -
regex
: o tipo de PII encontrado. -
match
: a palavra ou frase que correspondeu ao filtro. -
action
: especifica se a palavra foiBLOCKED
ou substituída por um identificador (ANONYMIZED
).
-
-
-
-
outputs
: uma lista de detalhes sobre a avaliação da barreira de proteção da resposta do modelo. Cada item na lista é um objeto que corresponde ao formato do objetoinput
. Para obter mais detalhes, consulte o campoinput
.
-
-