Teste uma grade de proteção - Amazon Bedrock

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á.

Teste uma grade de proteção

Depois de criar uma grade de proteção, uma versão de rascunho (DRAFT) de trabalho está disponível. O rascunho de trabalho é uma versão da grade de proteção que você pode editar e iterar continuamente até chegar a uma configuração satisfatória para seu caso de uso. Você pode testar o rascunho de trabalho ou outras versões do guardrail para ver se as configurações são apropriadas para seu caso de uso. Edite as configurações no rascunho de trabalho e teste diferentes solicitações para ver se a grade de proteção avalia e intercepta as solicitações ou respostas.

Quando estiver satisfeito com a configuração, você poderá criar uma versão do guardrail, que atua como um instantâneo das configurações do rascunho de trabalho ao criar a versão. Você pode usar versões para simplificar a implantação de grades de proteção em aplicativos de produção sempre que fizer modificações em suas grades de proteção. Qualquer alteração no rascunho de trabalho ou em uma nova versão criada não será refletida em seu aplicativo de IA generativa até que você use especificamente a nova versão no aplicativo.

Console
Para testar uma grade de proteção para ver se bloqueia conteúdo nocivo
  1. Faça login no AWS Management Console usando uma IAMfunção com as permissões do Amazon Bedrock e abra o console do Amazon Bedrock em. https://console.aws.amazon.com/bedrock/

  2. Escolha Guardrails no painel de navegação esquerdo. Em seguida, selecione uma grade de proteção na seção Guardrails.

  3. Uma janela de teste aparece à direita. Você tem as seguintes opções na janela de teste:

    1. Por padrão, o rascunho de trabalho da grade de proteção é usado na janela de teste. Para testar uma versão diferente da grade de proteção, escolha Rascunho de trabalho na parte superior da janela de teste e selecione a versão.

    2. Para selecionar um modelo, escolha Selecionar modelo. Depois de fazer uma escolha, selecione Aplicar. Para alterar o modelo, escolha Alterar.

    3. Insira um prompt na caixa Prompt.

    4. Para obter uma resposta do modelo, selecione Executar.

    5. O modelo retorna uma resposta na caixa Resposta final (que pode ser modificada pela grade de proteção). Se a grade de proteção bloquear ou filtrar a resposta do prompt ou do modelo, uma mensagem será exibida em Verificação da grade de proteção informando quantas violações a grade de proteção detectou.

    6. Para visualizar os tópicos ou categorias prejudiciais na solicitação ou resposta que foram reconhecidos e autorizados a passar pelo filtro ou bloqueados por ele, selecione Exibir rastreamento.

    7. Use as guias Solicitar e Modelo de resposta para visualizar os tópicos ou categorias prejudiciais que foram filtrados ou bloqueados pela grade de proteção.

Você também pode testar a grade de proteção no playground Text. Selecione o playground e selecione o Guardrail no painel Configurações antes das instruções de teste.

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 APIConverse.

Formato de solicitação

Os endpoints de solicitação para invocar um modelo, com e sem streaming, são os seguintes. Substituir modelId com o ID do modelo a ser usado.

  • InvokeModel— POST /modelo/modelId/invocar /1.1 HTTP

  • InvokeModelWithResponseStream— POST /modelo/modelId/invoke-with-response-stream HTTP/1,1

O cabeçalho de ambas API as operações tem o seguinte formato.

Accept: accept Content-Type: contentType X-Amzn-Bedrock-Trace: trace X-Amzn-Bedrock-GuardrailIdentifier: guardrailIdentifier X-Amzn-Bedrock-GuardrailVersion: guardrailVersion

Os parâmetros estão descritos abaixo.

  • AcceptDefina o MIME tipo do corpo de inferência na resposta. O valor padrão é application/json.

  • Content-TypeDefina o MIME tipo dos dados de entrada na solicitação. O valor padrão é application/json.

  • X-Amzn-Bedrock-TraceDefina como ENABLED para permitir um rastreamento para ver, entre outras coisas, qual conteúdo foi bloqueado por grades de proteção e por quê.

  • Defina X-Amzn-Bedrock-GuardrailIdentifier com o identificador da grade de proteção que você deseja aplicar à solicitação à solicitação e à resposta do modelo.

  • Defina X-Amzn-Bedrock-GuardrailVersion com a versão da grade de proteção que você deseja aplicar à solicitação e à resposta do modelo.

O formato geral do corpo da solicitação é mostrado no exemplo a seguir. A tagSuffix propriedade só é usada com a marcação de entrada. Você também pode configurar a grade de proteção em streaming de forma síncrona ou assíncrona usando. streamProcessingMode 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ê ativa a grade de proteção, mas não há nenhum amazon-bedrock-guardrailConfig campo no corpo da solicitação.

  • Você desativa a grade de proteção, mas especifica um amazon-bedrock-guardrailConfig campo no corpo da solicitação.

  • Você ativa a grade de proteção, mas ela não contentType está. application/json

Para ver o corpo da solicitação para diferentes modelos, consulteParâmetros de solicitação de inferência e campos de resposta para modelos básicos.

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 grade de proteção e seu rastreamento, o formato geral da resposta para invocar um modelo, com e sem streaming, será o seguinte. Para ver o formato do resto do body para cada modelo, consulteParâmetros de solicitação de inferência e campos de resposta para modelos básicos. A ferramenta contentType 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 um chunk cujo texto está no bytes campo, junto com quaisquer exceções que ocorram. O traçado da grade de proteção é retornado somente para o último pedaço.

    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 retornará os seguintes campos se você ativar uma grade de proteção.

  • amazon-bedrock-guardrailAction— Especifica se a grade de proteção INTERVENED ou não (). NONE

  • amazon-bedrock-trace— Só aparece se você ativar o rastreamento. Contém uma lista de rastreamentos, cada um dos quais fornece informações sobre o conteúdo bloqueado pela grade de proteção. O rastreamento contém os seguintes campos:

    • modelOutput— Um objeto contendo as saídas do modelo que foi bloqueado.

    • input— Contém os seguintes detalhes sobre a avaliação da linha de proteção:

      • topicPolicy— Contém topics uma lista de avaliações para cada política de tópico que foi violada. Cada tópico inclui os seguintes campos:

        • name— O nome da política de tópicos.

        • type— Especifica se o tópico deve ser negado.

        • action— Especifica que o tópico foi bloqueado

      • contentPolicy— Contém filters uma lista de avaliações para cada filtro de conteúdo que foi violado. Cada filtro inclui os seguintes campos:

        • type— A categoria do filtro de conteúdo.

        • confidence— O nível de confiança de que a produção pode ser categorizada como pertencente à categoria prejudicial.

        • action— Especifica que o conteúdo foi bloqueado. Esse resultado depende da força do filtro colocado no corrimão.

      • wordPolicy— Contém uma coleção de palavras personalizadas e as palavras gerenciadas foram filtradas e uma avaliação correspondente dessas palavras. Cada lista 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 correspondem ao filtro.

          • match— A palavra ou frase que correspondeu ao filtro.

          • type— Especifica o tipo de palavra gerenciada que corresponde 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 para cada PII filtro que foi violado. Cada filtro contém os seguintes campos:

          • type— O PII tipo que foi encontrado.

          • match— A palavra ou frase que correspondeu ao filtro.

          • action— Especifica se a palavra foi BLOCKED ou foi substituída por um identificador (ANONYMIZED).

        • regexes— Uma lista de avaliações para cada filtro regex que foi violado. Cada filtro contém os seguintes campos:

          • name— O nome do filtro regex.

          • regex— O PII tipo que foi encontrado.

          • match— A palavra ou frase que correspondeu ao filtro.

          • action— Especifica se a palavra foi BLOCKED ou foi substituída por um identificador (ANONYMIZED).

    • outputs— Uma lista de detalhes sobre a avaliação da resposta do modelo pela grade de proteção. Cada item na lista é um objeto que corresponde ao formato do input objeto. Para obter mais detalhes, consulte o input campo.