Criar um trabalho de avaliação de RAG somente de recuperação usando métricas - 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á.

Criar um trabalho de avaliação de RAG somente de recuperação usando métricas

Para criar um trabalho de avaliação que use uma métrica personalizada, você precisa fornecer o seguinte:

  • Um prompt contendo instruções detalhadas para o modelo avaliador usar.

  • O modelo avaliador que você deseja usar para suas métricas personalizadas.

Você também pode especificar uma escala de classificação (esquema de saída) que o modelo avaliador possa usar para avaliar as respostas do modelo gerador.

É possível criar um trabalho de avaliação com métricas personalizadas usando o Console de gerenciamento da AWS, a AWS Command Line Interface (AWS CLI) ou a API do Amazon Bedrock. Use as instruções a seguir para criar o trabalho de avaliação. Para obter instruções e orientações sobre como criar o prompt para sua métrica e definir a escala de classificação especificada durante a criação, consulte Criar um prompt para uma métrica personalizada.

Quando você cria um trabalho de avaliação com uma ou mais métricas personalizadas, o Amazon Bedrock armazena as definições de suas métricas como arquivos JSON no bucket de saída do S3 que você especificar. Você pode acessar esses arquivos navegando até s3://S3-output-bucket-name/job-name/job-uuid/custom_metrics. Para ver o formato das definições JSON de métricas personalizadas, consulte Criar um arquivo JSON para criar uma métrica personalizada.

Para criar um trabalho usando as instruções a seguir, você também precisa de um conjunto de dados de prompt. Se você ainda não criou um, consulte Criar conjuntos de dados de prompts para avaliação de RAG no Amazon Bedrock.

Para ver uma lista de modelos avaliadores compatíveis, consulte Modelos compatíveis. Para saber mais sobre como acessar modelos, consulte Acessar modelos de base do Amazon Bedrock.

Console
  1. Abra o console do Amazon Bedrock.

  2. No painel à esquerda, em Inferência e avaliação, selecione Avaliações.

  3. No painel de Avaliações de RAG, escolha Criar.

  4. Para inserir os detalhes da avaliação de RAG, faça o seguinte:

    1. No painel Detalhes da avaliação, em Nome da avaliação, insira um nome para seu trabalho de avaliação. O nome que você escolher deve ser exclusivo em sua Região da AWS.

    2. Opcionalmente, em Descrição: opcional, insira uma descrição para o trabalho de avaliação.

    3. Em Modelo de avaliador, escolha Selecionar modelo e escolha o modelo avaliador que você deseja que realize sua avaliação.

  5. Insira a fonte de inferência para o trabalho de avaliação. Com as avaliações do Amazon Bedrock RAG, você pode avaliar o desempenho das Bases de Conhecimento do Amazon Bedrock ou de outras fontes de RAG fornecendo seus próprios dados de resposta de inferência no conjunto de dados de prompts. Para selecionar uma base de conhecimento do Amazon Bedrock, faça o seguinte:

    1. No painel Fonte de inferência, em Selecionar origem, escolha Base de conhecimento do Bedrock.

    2. Em Escolha uma base de conhecimento, selecione uma base de conhecimento usando a lista suspensa.

  6. Para trazer seus próprios dados de resposta de inferência, faça o seguinte:

    1. No painel Fonte de inferência, em Selecionar origem, escolha Trazer suas próprias respostas de inferência.

    2. Em Nome da origem, insira um nome para a origem de RAG que você usou para criar os dados de resposta. O nome inserido deve corresponder ao parâmetro knowledgeBaseIdentifier no conjunto de dados de prompts.

  7. No painel Fonte de inferência, em Tipo de avaliação, selecione Somente recuperação.

  8. Escolha qualquer métrica integrada que você deseja que o modelo avaliador use selecionando-a no painel Métricas.

  9. Para adicionar mais uma métrica personalizada, primeiro selecione o modelo avaliador que você deseja usar para avaliar suas métricas. No painel Métricas personalizadas, faça o seguinte:

    1. Escolha Selecionar modelo.

    2. Na janela pop-up, selecione o modelo que você quer usar.

    3. Escolha Aplicar.

  10. Em Nome da métrica, insira um nome para a métrica.

  11. Você pode configurar uma métrica de três maneiras: fornecendo um arquivo JSON que especifica a métrica, editando um prompt de métrica integrada existente por meio de um modelo ou inserindo um prompt diretamente no console para uso do modelo avaliador.

    Para criar uma métrica por meio de um arquivo JSON, faça o seguinte:

    1. Em Escolher tipo de métrica, selecione Importar arquivo JSON.

    2. Em Importar arquivo JSON, selecione Escolher arquivo.

    3. Usando o seletor de arquivos, selecione o arquivo JSON com a definição de sua métrica personalizada e escolha Abrir. Para saber mais sobre o esquema para especificar uma métrica personalizada usando um arquivo JSON e ver alguns exemplos de arquivo, consulte Criar um arquivo JSON para criar uma métrica personalizada.

    4. (Opcional) Para criar outra métrica, escolha Adicionar métricas personalizadas. É possível criar até dez métricas personalizadas para um trabalho de avaliação.

      Quando terminar de criar suas métricas personalizadas, vá para a Etapa 14 para configurar os conjuntos de dados para o trabalho de avaliação.

  12. Para criar uma métrica personalizada por meio de um modelo integrado, faça o seguinte:

    1. Em Escolher tipo de métrica, selecione Usar um modelo.

    2. Em Selecionar um modelo, use a lista suspensa para escolher um prompt de métrica integrado existente para usar como ponto de partida para sua métrica personalizada.

    3. Em Instruções, edite o prompt que você selecionou para adequá-lo ao seu caso de uso. Para ver as práticas recomendadas e uma lista dos elementos necessários ao criar um prompt de métrica personalizada, consulte Criar um prompt para uma métrica personalizada.

    4. Se você quiser que seu trabalho de avaliação produza saídas estruturadas com pontuações classificadas, deixe a opção Esquema de saída habilitado (recomendado) marcada. Sua configuração de métricas não precisa incluir um esquema de saída, mas recomendamos que você defina um. Se você não usar um esquema, os resultados exibidos incluirão somente explicações sem pontuações ou visualização de dados.

    5. Em Tipo de escala, selecione Numérico ou String de acordo com seu caso de uso e insira suas definições de escala e descrição nas caixas de texto. Para ver orientações e práticas recomendadas sobre a definição de escalas de saída, consulte Especificar um esquema de saída (escala de classificação).

    6. (Opcional) Para criar outra métrica, escolha Adicionar métricas personalizadas. É possível criar até dez métricas personalizadas para um trabalho de avaliação.

      Quando terminar de criar suas métricas personalizadas, vá para a Etapa 14 para configurar os conjuntos de dados para o trabalho de avaliação.

  13. Para criar uma métrica personalizada do zero no console, faça o seguinte:

    1. Em Escolher tipo de métrica, selecione Personalizado.

    2. Em Instruções, insira o prompt da métrica personalizada diretamente na caixa de texto. Para ver as práticas recomendadas e uma lista dos elementos necessários ao criar um prompt de métrica personalizada, consulte Criação de prompts e práticas recomendadas.

    3. Se você quiser que seu trabalho de avaliação produza saídas estruturadas com pontuações classificadas, deixe a opção Esquema de saída habilitado (recomendado) marcada. Sua configuração de métricas não precisa incluir um esquema de saída, mas recomendamos que você defina um. Se você não usar um esquema, os resultados exibidos incluirão somente explicações sem pontuações ou visualização de dados.

    4. Em Tipo de escala, selecione Numérico ou String de acordo com seu caso de uso e insira suas definições de escala e descrição nas caixas de texto. Para ver orientações e práticas recomendadas sobre a definição de escalas de saída, consulte Especificar um esquema de saída (escala de classificação).

    5. (Opcional) Para criar outra, escolha Adicionar métricas personalizadas. É possível criar até dez métricas personalizadas para um trabalho de avaliação.

      Quando terminar de criar suas métricas personalizadas, vá para a próxima etapa para configurar os conjuntos de dados do trabalho de avaliação.

  14. Defina os locais de entrada e saída para o conjunto de dados e os resultados fazendo o seguinte:

    1. No painel Conjuntos de dados, em Escolha um conjunto de dados de prompts, insira o URI do Amazon S3 para o conjunto de dados de prompts ou escolha Procurar no S3 e selecione o arquivo. Para ver uma definição do formato de conjunto de dados de prompts necessário para um trabalho de avaliação somente de recuperação, consulte Criar um conjunto de dados de prompts para trabalhos de avaliação de RAG somente de recuperação.

    2. Em Resultados da avaliação, insira um local do Amazon S3 para que o Amazon Bedrock salve seus resultados ou escolha Procurar no S3 para selecionar um local.

  15. Em Perfil do IAM do Amazon Bedrock: Permissões, selecione Criar e usar um novo perfil de serviço para que o Amazon Bedrock crie um perfil do IAM para o trabalho de avaliação ou selecione Usar um perfil de serviço existente para escolher um perfil do IAM existente. Para ver uma lista das permissões necessárias para criar e executar um trabalho de avaliação, consulte Pré-requisitos.

  16. (Opcional) Para usar sua própria chave do KMS para criptografar dados de avaliação, em KMSkey: opcional, marque Personalizar configurações de criptografia (avançadas) e selecione sua chave do AWS KMS. Por padrão, o Amazon Bedrock criptografa os dados do trabalho de avaliação com uma chave do Amazon Bedrock com uma chave do Amazon AWS Bedrock.

  17. Selecione Criar para concluir a criação do trabalho de avaliação.

AWS CLI
Criar um trabalho de avaliação somente de recuperação para uma base de conhecimento do Amazon Bedrock
  • Execute o comando da AWS CLI a seguir usando o arquivo JSON de exemplo.

    aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
    { "jobName": "my_rag_eval", "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric", "applicationType": "RagEvaluation", "evaluationConfig": { "automated": { "datasetMetricConfigs": [ { "taskType": "General", "dataset": { "name": "text_dataset", "datasetLocation": { "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval.jsonl" } }, "metricNames": [ "Builtin.ContextCoverage", "Builtin.ContextRelevance", "CustomMetric-Correctness-FloatRatingScale" ] } ], "customMetricConfig": { "customMetrics": [ { "customMetricDefinition": { "name": "CustomMetric-Correctness-FloatRatingScale", "instructions": "<Your complete custom metric prompt including at least one {{input variable}}>", "ratingScale": [ { "definition": "Not at all", "value": { "floatValue": 0 } }, { "definition": "Somewhat", "value": { "floatValue": 1 } }, { "definition": "Mostly", "value": { "floatValue": 2 } } ] } } ], "evaluatorModelConfig": { "bedrockEvaluatorModels": [ { "modelIdentifier": "anthropic.claude-3-haiku-20240307-v1:0" } ] } }, "evaluatorModelConfig": { "bedrockEvaluatorModels": [ { "modelIdentifier": "mistral.mistral-large-2402-v1:0" } ] } } }, "inferenceConfig": { "ragConfigs": [ { "knowledgeBaseConfig": { "retrieveConfig": { "knowledgeBaseId": "your-knowledge-base-id", "knowledgeBaseRetrievalConfiguration": { "vectorSearchConfiguration": { "numberOfResults": 3 } } } } } ] }, "outputDataConfig": { "s3Uri": "s3://amzn-s3-demo-bucket/output/" } }
    nota

    O arquivo JSON de exemplo contém dois objetos evaluatorModelConfig. O que está dentro do objeto customMetricConfig especifica o modelo avaliador a ser usado com métricas personalizadas. A outra instância especifica o modelo a ser usado para métricas integradas. É necessário ter cautela para especificar esses dois objetos corretamente.

Criar um trabalho de avaliação somente de recuperação com seus próprios dados de resposta de inferência
  • Execute o comando da AWS CLI a seguir usando o arquivo JSON de exemplo.

    aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
    { "jobName": "my_rag_eval", "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric", "applicationType": "RagEvaluation", "evaluationConfig": { "automated": { "datasetMetricConfigs": [ { "taskType": "General", "dataset": { "name": "text_dataset", "datasetLocation": { "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval.jsonl" } }, "metricNames": [ "Builtin.ContextCoverage", "Builtin.ContextRelevance", "CustomMetric-Correctness-FloatRatingScale" ] } ], "customMetricConfig": { "customMetrics": [ { "customMetricDefinition": { "name": "CustomMetric-Correctness-FloatRatingScale", "instructions": "<Your complete custom metric prompt including at least one {{input variable}}>", "ratingScale": [ { "definition": "Not at all", "value": { "floatValue": 0 } }, { "definition": "Somewhat", "value": { "floatValue": 1 } }, { "definition": "Mostly", "value": { "floatValue": 2 } } ] } } ], "evaluatorModelConfig": { "bedrockEvaluatorModels": [ { "modelIdentifier": "anthropic.claude-3-haiku-20240307-v1:0" } ] } }, "evaluatorModelConfig": { "bedrockEvaluatorModels": [ { "modelIdentifier": "mistral.mistral-large-2402-v1:0" } ] } } }, "inferenceConfig": { "ragConfigs": [ { "precomputedRagSourceConfig": { "retrieveSourceConfig": { "ragSourceIdentifier": "my_rag_source" } } } ] }, "outputDataConfig": { "s3Uri": "s3://amzn-s3-demo-bucket/output/" } }
    nota

    O arquivo JSON de exemplo contém dois objetos evaluatorModelConfig. O que está dentro do objeto customMetricConfig especifica o modelo avaliador a ser usado com métricas personalizadas. A outra instância especifica o modelo a ser usado para métricas integradas. É necessário ter cautela para especificar esses dois objetos corretamente.