Testar uma política de raciocínio automatizado - 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á.

Testar uma política de raciocínio automatizado

Você testa uma política enviando declarações em linguagem natural ou QnAs para validação e, em seguida, inspeciona o feedback das verificações de raciocínio automatizado para garantir que ela esteja traduzindo o texto de entrada usando as variáveis certas e que as regras com as quais está validando estejam corretas.

Você pode criar testes de duas maneiras: definindo manualmente pares question-and-answer (QnA) ou gerando cenários de teste automaticamente. QnAs são perguntas de usuário específicas com respostas de modelo correspondentes que você escreve para testar casos de uso específicos, enquanto cenários de teste são situações lógicas geradas automaticamente a partir de suas regras de política que podem ou não ser realistas no contexto do seu aplicativo.

nota

Vídeo tutorial: Para ver um step-by-step passo a passo sobre como testar uma política de raciocínio automatizado, assista ao seguinte tutorial:

Tutorial Demo 2 - Testing the Automated Reasoning policy

Os testes devem imitar as perguntas que os usuários da aplicação fariam e as respostas que eles poderiam obter de um modelo de base. O raciocínio automatizado avalia a precisão do prompt e da resposta com relação às regras da política de raciocínio automatizado. O raciocínio automatizado executa essa validação nas seguintes etapas:

dica

Prática recomendada: crie testes que abranjam cenários válidos e inválidos. Por exemplo, se a política declarar “Os funcionários precisam de um ano de serviço para obter licença parental”, crie testes para respostas que indiquem corretamente essa regra e testes para respostas que indiquem incorretamente um requisito diferente.

  1. Usa a pergunta e a resposta do teste com as variáveis e descrições da política para converter as entradas em linguagem natural em lógica formal.

  2. Valida a lógica interpretada com relação à política usando técnicas matemáticas confiáveis.

nota

O raciocínio automatizado converte a linguagem natural em lógica usando técnicas de IA que não garantem uma precisão perfeita. No entanto, testes adequados ajudarão a detectar e corrigir possíveis imprecisões nas políticas de raciocínio automatizado.

Criar um teste manualmente no console

  1. Acesse a política de raciocínio automatizado que você deseja testar (por exemplo, MyHrPolicy).

  2. Escolha Visualizar testes e selecione Adicionar.

  3. Na caixa de diálogo Adicionar testes, faça o seguinte:

    1. Inclua uma entrada (opcional) e uma saída. Elas representam a pergunta que um usuário pode fazer e a resposta que o modelo de base pode fornecer. Juntas, formam um par de QnA que testa como a política valida as interações reais do usuário.

    2. Escolha o resultado que você espera do teste (como Válido ou Inválido).

    3. Selecione um limite de confiança, que é o nível mínimo de confiança para validação lógica.

  4. Selecione Salvar para criar o teste.

nota

Ao criar um teste, o limite de confiança é opcional.

  • As verificações automatizadas de raciocínio usam vários modelos de linguagem grandes (LLMs) para traduzir testes de linguagem natural em descobertas. Apenas descobertas “confiáveis” que são respaldadas por uma porcentagem significativa das interpretações do LLM são apresentadas. O limite de confiança define a porcentagem mínima de respaldo necessária para que uma interpretação se torne uma descoberta com um resultado válido.

  • Se houver uma ou mais descobertas interpretadas que não sejam respaldadas por uma porcentagem suficiente de interpretações do LLM, as verificações com raciocínio automatizado revelarão uma descoberta adicional “TRANSLATION_AMBIGUOUS”. Essa descoberta conterá informações para destacar as diferenças entre as interpretações discordantes do LLM.

Gerar testes automaticamente no console

  1. Acesse a política de raciocínio automatizado que você deseja testar (por exemplo, MyHrPolicy).

  2. Escolha Visualizar testes e selecione Gerar.

  3. Na caixa de diálogo Gerar cenários, analise o cenário gerado e as regras relacionadas. Depois, siga um destes procedimentos:

    • Se você acha que o cenário pode tornar-se realidade (também conhecido como cenário satisfatório), selecione o polegar para cima (sim).

    • Do contrário, selecione o polegar para baixo (não). Você pode fornecer também uma anotação para explicar por que você acha que o cenário não é possível. Isso é semelhante a deixar um comentário em um documento.

    • Se você quiser testar um cenário diferente, escolha Regenerar cenário.

    dica

    Se você quiser inspecionar a versão lógica formal do cenário, habilite Mostrar SMT-LIB.

  4. Selecione Salvar e fechar para salvar o teste ou Salvar e adicionar outro.

  5. Se você forneceu anotações para qualquer um dos testes, escolha Aplicar anotações. O raciocínio automatizado fará alterações na política de acordo com o feedback.

  6. Na tela Analisar alterações na política, analise as alterações nas regras, nas variáveis e nos tipos de variável da política. Em seguida, selecione Aceitar alterações.

Executar testes no console

  1. Acesse a política de raciocínio automatizado que você deseja validar (por exemplo, MyHrPolicy).

  2. Selecione Visualizar itens.

  3. Execute um destes procedimentos:

    • Para executar todos os testes da política, escolha Validar todos os testes.

    • Para executar testes individualmente, selecione o botão Ação ao lado do teste que você deseja executar e escolha Validar.

Criar um teste manualmente usando a API

Você pode usar a operação de API CreateAutomatedReasoningPolicyTestCase para criar programaticamente um teste para a política de raciocínio automatizado.

Parâmetros de solicitação

Os seguintes parâmetros são obrigatórios ao criar um teste:

policyArn(obrigatório)

O nome do recurso da Amazon (ARN) da política de raciocínio automatizado.

queryContent (opcional)

A consulta ou solicitação de entrada que gerou o conteúdo, como a pergunta do usuário. Isso fornece contexto para a validação.

guardContent(obrigatório)

O conteúdo da saída validado pela política de raciocínio automatizado. Isso representa a resposta do modelo de base cuja precisão será verificada.

expectedAggregatedFindingsResult (opcional)

O resultado esperado da validação para o teste (por exemplo, VALID ouINVALID). O resultado real do teste é selecionado classificando os resultados em ordem de importância e selecionando o pior resultado. A ordem de classificação é: ambígua, impossível, inválida, satisfatória e válida. Por exemplo, um teste que resulta em duas descobertas válidas e uma impossível terá um resultado agregado de impossível.

confidenceThreshold (opcional)

O nível mínimo de confiança para validação lógica. O conteúdo que atinge o limite é considerado uma descoberta de alta confiança que pode ser validada.

Exemplo

O seguinte exemplo mostra como criar um teste para uma política de raciocínio automatizado usando a AWS CLI:

aws bedrock create-automated-reasoning-policy-test-case \ --policy-arn "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk" \ --query-content "Can I take a leave of absence if I'm a part-time employee?" \ --guard-content "No, only full-time employees are eligible for leave of absence." \ --expected-aggregated-findings-result "VALID" \ --confidence-threshold 0.8

Exemplo de resposta:

{ "testCaseId": "test-12345abcde", "policyArn": "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk" }

Gerar testes automaticamente usando a API

Você pode usar a operação da GetAutomatedReasoningPolicyNextScenario API para buscar os próximos cenários de teste gerados com base nas regras da sua política.

Parâmetros de solicitação

Os seguintes parâmetros são obrigatórios ou opcionais ao gerar cenários de teste:

policyArn(obrigatório)

O nome do recurso da Amazon (ARN) da política de raciocínio automatizado.

buildWorkdflowId(obrigatório)

O identificador exclusivo do fluxo de trabalho de criação para os cenários gerados. Você pode buscar o fluxo de trabalho de compilação mais recente usando a ação da ListAutomatedReasoningPolicyBuildWorkflows API.

Exemplo

O exemplo a seguir mostra como buscar os próximos cenários de teste gerados para uma política de raciocínio automatizado usando o: AWS CLI

aws bedrock get-automated-reasoning-policy-next-scenario \ --policy-arn "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk" \ --build-worflow-id d40fa7fc-351e-47d8-a338-53e4b3b1c690

A resposta incluirá cenários de teste gerados que você poderá analisar e usar para criar testes.

Executar testes usando a API

Você pode usar a operação da StartAutomatedReasoningPolicyTestWorkflow API para executar seus testes de política de raciocínio automatizado e a GetAutomatedReasoningPolicyTestResult operação para recuperar os resultados.

Parâmetros de solicitação

Os seguintes parâmetros são obrigatórios ao executar um teste:

policyArn(obrigatório)

O nome do recurso da Amazon (ARN) da política de raciocínio automatizado.

buildWorkdflowId(obrigatório)

O identificador exclusivo do fluxo de trabalho de compilação no qual você deseja executar os testes. Você pode buscar o fluxo de trabalho de compilação mais recente usando a ação da ListAutomatedReasoningPolicyBuildWorkflows API.

testCaseIds (opcional)

A lista de identificadores de teste a serem executados. Se não for fornecido, todos os testes da política serão executados.

Obter resultados do teste

Para recuperar os resultados de um teste, use os seguintes parâmetros com a ação da GetAutomatedReasoningPolicyTestResult API:

policyArn(obrigatório)

O nome do recurso da Amazon (ARN) da política de raciocínio automatizado.

buildWorkflowId(obrigatório)

O identificador do fluxo de trabalho de compilação. O fluxo de trabalho de compilação deve exibir o status COMPLETED para obter resultados.

testCaseId(obrigatório)

O identificador exclusivo do teste para o qual é necessário recuperar resultados.

Exemplo

O seguinte exemplo mostra como executar um teste e recuperar os resultados usando a AWS CLI:

# Run the test aws bedrock start-automated-reasoning-policy-test-workflow \ --policy-arn "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk" \ --build-worflow-id d40fa7fc-351e-47d8-a338-53e4b3b1c690 # Get the test results aws bedrock get-automated-reasoning-policy-test-result \ --policy-arn "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk" \ --build-worflow-id d40fa7fc-351e-47d8-a338-53e4b3b1c690 \ --test-case-id test-12345abcde

A resposta incluirá resultados de testes detalhados com descobertas de validação e status de execução.