Creación de un trabajo de evaluación de RAG de solo recuperación mediante métricas personalizadas - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de un trabajo de evaluación de RAG de solo recuperación mediante métricas personalizadas

Para crear un trabajo de evaluación que utilice una métrica personalizada, debe proporcionar lo siguiente:

  • Una petición que contenga instrucciones detalladas para el modelo de juez que debe utilizar

  • El modelo evaluador que desea usar para sus métricas personalizadas

También puede especificar una escala de calificación (esquema de salida) que el modelo de juez puede usar para calificar las respuestas del modelo generador.

Puede crear un trabajo de evaluación con métricas personalizadas mediante la Consola de administración de AWS, la AWS Command Line Interface (AWS CLI) o la API Amazon Bedrock. Siga estas instrucciones para crear su trabajo de evaluación. Para obtener instrucciones y orientación sobre cómo crear la petición para su métrica y sobre cómo definir la escala de calificación que especifique durante la creación, consulte Creación de una petición para una métrica personalizada.

Cuando crea un trabajo de evaluación con una o varias métricas personalizadas, Amazon Bedrock almacena sus definiciones de métricas como archivos JSON en el bucket de S3 de salida que especifique. Para acceder a estos archivos vaya a s3://S3-output-bucket-name/job-name/job-uuid/custom_metrics. Para ver el formato de las definiciones JSON de las métricas personalizadas, consulte Creación de un archivo JSON para crear una métrica personalizada.

Para crear un trabajo con las siguientes instrucciones, también necesita un conjunto de datos de peticiones. Si aún no ha creado uno, consulte Creación de conjuntos de datos de peticiones para una evaluación de RAG en Amazon Bedrock.

Para obtener una lista de los modelos evaluadores admitidos, consulte Modelos compatibles. Para obtener más información sobre cómo acceder a los modelos, consulte Acceso a los modelos fundacionales de Amazon Bedrock.

Console
  1. Abra la consola de Amazon Bedrock.

  2. En el panel izquierdo, en Inferencia y evaluación, seleccione Evaluaciones.

  3. En el panel Evaluaciones de RAG, elija Crear.

  4. Introduzca los detalles de la evaluación de RAG de la siguiente manera:

    1. En el panel Detalles de la evaluación, en Nombre de la evaluación, introduzca un nombre para su trabajo de evaluación. El nombre que elija debe ser único dentro de su Región de AWS.

    2. Si lo desea, en Descripción: opcional, introduzca una descripción para su trabajo de evaluación.

    3. En Modelo evaluador, elija Seleccionar modelo y seleccione el modelo evaluador para el que desee realizar la evaluación.

  5. Introduzca el origen de inferencia para su trabajo de evaluación. Con las evaluaciones de RAG de Amazon Bedrock, puede evaluar el rendimiento de las bases de conocimiento de Amazon Bedrock o de otros orígenes de RAG proporcionando sus propios datos de respuesta de inferencia en el conjunto de datos de peticiones. Para seleccionar una base de conocimiento de Amazon Bedrock, haga lo siguiente:

    1. En el panel Origen de la inferencia, en Seleccionar origen, seleccione Base de conocimientos de Bedrock.

    2. En Elegir una base de conocimientos, seleccione una base de conocimiento de la lista desplegable.

  6. Para traer sus propios datos de respuesta de inferencia, haga lo siguiente:

    1. En el panel Origen de la inferencia, en Seleccionar origen, seleccione Traiga sus propias respuestas de inferencia.

    2. En Nombre del origen, introduzca un nombre para el origen de RAG que utilizó para crear los datos de respuesta. El nombre que introduzca debe coincidir con el parámetro knowledgeBaseIdentifier del conjunto de datos de peticiones.

  7. En el panel Origen de la inferencia, en Tipo de evaluación, seleccione Solo recuperación.

  8. Elija las métricas integradas que desee que utilice el modelo evaluador seleccionándolas en el panel Métricas.

  9. Para añadir una métrica personalizada adicional, comience por seleccionar el modelo evaluador que desee utilizar para evaluar las métricas. En el panel Métricas de configuración, haga lo siguiente:

    1. Elija Seleccionar el modelo.

    2. En la ventana emergente, seleccione el modelo que desee usar.

    3. Seleccione Aplicar.

  10. En Nombre de métrica, escriba un nombre para la métrica personalizada.

  11. Puede configurar la métrica de tres maneras: proporcionando un archivo JSON que especifique la métrica, editando una petición de métrica integrada existente a partir de una plantilla o introduciendo una petición directamente en la consola para que la utilice el modelo evaluador.

    Para crear una métrica a partir de un archivo JSON, haga lo siguiente:

    1. En Elegir tipo de métrica, seleccione Importar archivo JSON.

    2. En Importar archivo JSON, seleccione Elegir archivo.

    3. Con el selector de archivos, seleccione el archivo JSON con su definición de métrica personalizada y elija Abrir. Para obtener información sobre el esquema para especificar una métrica personalizada mediante un archivo JSON y ver algunos archivos de ejemplo, consulte Creación de un archivo JSON para crear una métrica personalizada.

    4. (Opcional) Para crear otra métrica, seleccione Agregar métricas personalizadas. Puede definir hasta 10 métricas personalizadas para cada trabajo de evaluación.

      Cuando haya terminado de crear las métricas personalizadas, continúe con el paso 14 para configurar los conjuntos de datos del trabajo de evaluación.

  12. Para crear una métrica personalizada a partir de una plantilla integrada, haga lo siguiente:

    1. En Elegir el tipo de métrica, seleccione Usar una plantilla.

    2. En Seleccionar una plantilla, utilice la lista desplegable para elegir una petición de métrica integrada existente y utilizarla como punto de partida para su métrica personalizada.

    3. En Instrucciones, edite la petición que seleccionó para adaptarla a su caso de uso. Para conocer las prácticas recomendadas y obtener una lista de los elementos necesarios para crear una petición de métricas personalizadas, consulte Creación de una petición para una métrica personalizada.

    4. Si desea que su trabajo de evaluación genere resultados estructurados con puntuaciones clasificadas, deje activada la opción Esquema de salida habilitado (recomendado). La configuración de métricas no necesita incluir un esquema de salida, pero le recomendamos que defina uno. Si no utiliza un esquema, los resultados mostrados incluirán solo explicaciones sin puntuaciones ni visualización de datos.

    5. En Tipo de escala, seleccione Numérica o Cadena según su caso de uso e introduzca las definiciones y la descripción de la escala en los cuadros de texto. Para obtener orientación y conocer las prácticas recomendadas sobre la definición de las escalas de salida, consulte Especificación de un esquema de salida (escala de puntuación).

    6. (Opcional) Para crear otra métrica, seleccione Agregar métricas personalizadas. Puede definir hasta 10 métricas personalizadas para cada trabajo de evaluación.

      Cuando haya terminado de crear las métricas personalizadas, continúe con el paso 14 para configurar los conjuntos de datos del trabajo de evaluación.

  13. Para crear una métrica personalizada desde cero en la consola, haga lo siguiente:

    1. En Elegir tipo de métrica, seleccione Personalizada.

    2. En Instrucciones, introduzca la petición de su métrica personalizada directamente en el cuadro de texto. Para conocer las prácticas recomendadas y obtener una lista de los elementos necesarios para crear una petición de métricas personalizadas, consulte Construcción de peticiones y prácticas recomendadas.

    3. Si desea que su trabajo de evaluación genere resultados estructurados con puntuaciones clasificadas, deje activada la opción Esquema de salida habilitado (recomendado). La configuración de métricas no necesita incluir un esquema de salida, pero le recomendamos que defina uno. Si no utiliza un esquema, los resultados mostrados incluirán solo explicaciones sin puntuaciones ni visualización de datos.

    4. En Tipo de escala, seleccione Numérica o Cadena según su caso de uso e introduzca las definiciones y la descripción de la escala en los cuadros de texto. Para obtener orientación y conocer las prácticas recomendadas sobre la definición de las escalas de salida, consulte Especificación de un esquema de salida (escala de puntuación).

    5. (Opcional) Para crear otra métrica, seleccione Agregar métricas personalizadas. Puede definir hasta 10 métricas personalizadas para cada trabajo de evaluación.

      Cuando haya terminado de crear las métricas personalizadas, continúe con el siguiente paso para configurar los conjuntos de datos del trabajo de evaluación.

  14. Defina las ubicaciones de entrada y salida para el conjunto de datos y los resultados de la siguiente manera:

    1. En el panel Conjuntos de datos, en Elegir un conjunto de datos de peticiones, introduzca el URI de Amazon S3 de su conjunto de datos de peticiones o elija Examinar S3 y seleccione su archivo. Para ver una definición del formato del conjunto de datos de peticiones requerido para un trabajo de evaluación de solo recuperación, consulte Creación de un conjunto de datos de peticiones para trabajos de evaluación de RAG de solo recuperación.

    2. En Resultados de la evaluación, introduzca una ubicación de Amazon S3 para que Amazon Bedrock guarde los resultados o seleccione Examinar S3 para seleccionar una ubicación.

  15. En Rol de IAM de Amazon Bedrock: permisos, seleccione Crear y usar un rol de servicio nuevo para que Amazon Bedrock cree un nuevo rol de IAM para el trabajo de evaluación o seleccione Usar un rol de servicio existente para elegir un rol de IAM existente. Para obtener una lista de los permisos necesarios para crear y ejecutar un trabajo de evaluación, consulte Requisitos previos.

  16. (Opcional) Para usar su propia clave de KMS para cifrar los datos de evaluación, en KMSkey: opcional, active Personalizar la configuración de cifrado (avanzado) y seleccione su clave de AWS KMS. De forma predeterminada, Amazon Bedrock cifra los datos de su trabajo de evaluación con una clave de KMS propiedad de AWS.

  17. Elija Create para terminar de crear el trabajo de evaluación.

AWS CLI
Creación de un trabajo de evaluación de solo recuperación para una base de conocimiento de Amazon Bedrock
  • Ejecute el siguiente comando de la AWS CLI con el archivo JSON de ejemplo.

    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

    El archivo JSON de ejemplo contiene dos objetos evaluatorModelConfig. El que está dentro del objeto customMetricConfig especifica el modelo evaluador que se utilizará con las métricas personalizadas. La otra instancia especifica el modelo que se utilizará para las métricas integradas. Tenga cuidado de especificar estos dos objetos correctamente.

Creación de un trabajo de evaluación de solo recuperación con sus propios datos de respuesta de inferencia
  • Ejecute el siguiente comando de la AWS CLI con el archivo JSON de ejemplo.

    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

    El archivo JSON de ejemplo contiene dos objetos evaluatorModelConfig. El que está dentro del objeto customMetricConfig especifica el modelo evaluador que se utilizará con las métricas personalizadas. La otra instancia especifica el modelo que se utilizará para las métricas integradas. Tenga cuidado de especificar estos dos objetos correctamente.