Création d'évaluations personnalisées avec un modèle de langage de grande capacité (LLM) comme évaluateur

Vous pouvez créer des évaluations personnalisées pour les modèles de prompt en utilisant un grand modèle linguistique (LLM) comme évaluateur afin d'analyser les réponses générées par rapport aux critères que vous définissez. Grâce à LLM en tant que juge, vous pouvez créer des indicateurs spécifiques à un domaine pour les modèles de prompt dans les projets et les espaces de déploiement.

Le LLM, en tant qu'évaluateur de juges, prend en charge les évaluations personnalisées pour les types d'actifs et les types de tâches suivants :

  • Ressources de modèles de invites (PTA)
  • Ressources de modèles de messages autonomes (DPTA)
  • Génération assistée par la recherche
  • Récapitulation
  • Réponse aux questions
  • Génération
  • Classification
  • Extraction

Avec LLM comme évaluateur, un modèle de base évalue la qualité des réponses générées à l'aide d'une logique de notation personnalisée que vous définissez. Vous pouvez configurer l'évaluateur pour qu'il utilise un modèle d'évaluation pris en charge, définir des consignes pour les évaluateurs, associer les variables des consignes à vos données d'entrée et attribuer des notes.

Pendant l'exécution, le moniteur personnalisé récupère le LLM sous forme d'évaluateur et de configuration de métriques, lit les données d'entrée issues de la journalisation des charges utiles ou des données de retour d'information, calcule les métriques au niveau des enregistrements, agrège les résultats et publie les résultats des métriques.

Vous pouvez utiliser l'une des méthodes suivantes pour gérer les évaluations personnalisées avec LLM comme juge :

Gestion des évaluations personnalisées avec le SDK d' Python

Pour gérer les évaluations personnalisées à l'aide du SDK d' Python, vous pouvez utiliser la setup_llm_judge_configuration méthode afin d'automatiser la configuration du moniteur personnalisé, de l'évaluateur, de l'abonnement, de l'instance de moniteur et de l'ensemble de données personnalisé.

Cette setup_llm_judge_configuration méthode effectue les tâches suivantes en un seul appel :

  • Crée la définition d'un moniteur personnalisé
  • Crée ou réutilise la configuration du fournisseur LLM
  • Crée l'abonnement pour votre modèle de message
  • Crée l'instance du moniteur
  • Configure l'ensemble de données personnalisé destiné à stocker les résultats de l'évaluation

Pour utiliser cette méthode, veuillez fournir les informations suivantes :

Pour utiliser cette setup_llm_judge_configuration méthode, exécutez la commande suivante :

result = wos_client.custom_monitor.setup_llm_judge_configuration(config=llmaj_config) 
result

Créer une configuration de fournisseur LLM

Configurez le modèle d'évaluation qui analyse les résultats générés.

Les types de fournisseurs suivants sont pris en charge :

  • openai
  • watsonx

L'exemple suivant présente la configuration d'un fournisseur LLM :

LLM_PROVIDER_CONFIG = {
    "API_KEY": "<your-openai-api-key>",
    "type": "openai",
    "MODEL_NAME": "gpt-4"
}

Créer une configuration de surveillance personnalisée

Définissez des indicateurs personnalisés en précisant la logique d'évaluation dans l'invite du correcteur, les options de notation, les correspondances des variables de l'invite et le type de source de données utilisé pour l'évaluation.

L'exemple suivant présente une configuration de moniteur personnalisée :

MONITOR_METRICS = [
    {
        "name": "answer_completeness",
        "description": "Evaluates whether the AI response fully addresses the question",
        "computation": {
            "prompt": """You are an expert grader. Evaluate the completeness of the response.
            **Question:** {input}
            **AI Response:** {output}
            Determine if the response is complete using this scale:
            - complete: Thoroughly addresses all parts
            - partial: Addresses some parts but missing key information
            - incomplete: Fails to address the question
            """,
            "grading_options": [
                {"name": "complete", "value": 1.0},
                {"name": "partial", "value": 0.5},
                {"name": "incomplete", "value": 0.0}
            ]
        },
        "grader_prompt_variables_mapping": {
            "input": "question",
            "output": "answer"
        },
        "dataset_type": "feedback"
    }
]

llmaj_config["CUSTOM_MONITOR_CONFIG"] = {
    "CUSTOM_MONITOR_NAME": "rag_quality",
    "MONITOR_METRICS": MONITOR_METRICS
}

Comprendre les composants de métriques personnalisées

La configuration personnalisée du moniteur comprend les éléments suivants :

name
Définit un identifiant unique pour la métrique, utilisé dans les rapports et les API.
description
Décrit ce que l'indicateur évalue.
prompt
Spécifie l'instruction envoyée au juge du LLM.
grading_options
Définit les résultats d'évaluation possibles et les valeurs numériques attribuées.
grader_prompt_variables_mapping
Les cartes remplacent les variables de remplacement par les noms des colonnes dans l'ensemble de données d'évaluation.
dataset_type
Spécifie le type de source de données utilisé pour l'évaluation, par exemple feedback ou payload_logging.

Les noms des variables de remplacement dans l'invite du correcteur doivent correspondre aux clés de la grader_prompt_variables_mapping section, et les noms de colonnes associés doivent figurer dans l'ensemble de données d'évaluation sélectionné.

Évaluer des métriques personnalisées à l'aide d'exemples de notebooks

Pour des exemples d'implémentation, consultez les cahiers suivants :

Gestion des évaluations personnalisées via l'interface utilisateur

Vous pouvez créer et exécuter des évaluations personnalisées en utilisant le LLM comme évaluateur à partir de l'interface d'évaluation des modèles de prompt.

Ajouter un groupe de mesures

Pour créer un groupe de métriques destiné aux évaluations des juges dans le cadre du LLM, procédez comme suit :

  1. Dans l'écran « Dimensions » du modèle de ligne de commande, sous « Évaluations personnalisées », cliquez sur « Ajouter un groupe de métriques » ou « Gérer les groupes de métriques ».

  2. Cliquez sur « Configurer un nouveau groupe ».

  3. Saisissez un nom pour le groupe de métriques, puis cliquez sur « Appliquer ».

    Le nom doit comporter 48 caractères maximum.

  4. Sélectionnez « LLM-as-Judge » comme technique d'évaluation.

  5. Cliquez sur l'icône Modifier dans la section « Types de modèles à prendre en charge », sélectionnez un ou plusieurs types de modèles, puis cliquez sur Suivant.

  6. Activez le calendrier d'évaluation et définissez la fréquence. Cliquez sur Suivant, puis sur Enregistrer.

  7. Cliquez sur l'icône « Ajouter une métrique » pour créer des métriques personnalisées.

  8. Veuillez fournir les informations suivantes :

    • Nom de la métrique
    • ID de mesure
    • Type de seuil
    • Type d'algorithme du modèle
  9. Cliquez sur « Créer une consigne de correction », saisissez les instructions dans l'éditeur de modèle, définissez la liste des notes dans la section « Notes », puis cliquez sur « Enregistrer ».

Configurer et évaluer un groupe de métriques

Pour effectuer une évaluation, procédez comme suit :

  1. Ouvrez un modèle de message.

    • Pour les projets, ouvrez un DPTA ou un PTA à partir de l'onglet « Ressources », puis cliquez sur « Évaluer » dans l'onglet « Évaluations » pour ouvrir l'assistant de modèle de demande d'évaluation.
    • Pour les espaces de déploiement, ouvrez un déploiement et cliquez sur « Évaluer » dans l'onglet « Évaluations » pour ouvrir l'assistant de modèle de prompt d'évaluation.
  2. Dans l'écran des dimensions du modèle de requête, sélectionnez le groupe de mesures que vous avez créé sous « Évaluations personnalisées ».

  3. Dans les paramètres avancés, sélectionnez le groupe de métriques, puis cliquez sur l'icône Modifier dans la vignette « Moteur de notation » ( LLMaaJ ).

  4. Sélectionnez un juge LLM existant. S'il n'existe aucun juge LLM, créez-en un.

  5. Pour créer un nouveau fournisseur LLM, cliquez sur « Ajouter » et indiquez les informations relatives au fournisseur, notamment son nom, sa description, evaluator_type sa clé API et les détails du modèle. Cliquez ensuite sur Enregistrer.

  6. Utilisez les boutons à bascule pour activer les indicateurs que vous souhaitez analyser, configurez les valeurs seuils et sélectionnez le type d'ensemble de données à analyser. Cliquez sur Suivant.

  7. Sélectionnez l'ensemble de données de test et mappez les champs suivants :

    • Champs d'entrée et de sortie sous « Mapper les variables de l'invite aux colonnes »
    • Mapper les variables de Grader aux colonnes correspondantes dans l'ensemble de données de commentaires ou de journalisation des données de charge utile
  8. Cliquez sur Suivant, puis sur Évaluer.

Examen des résultats de l'évaluation

Une fois votre évaluation terminée, vous pouvez consulter un résumé des résultats dans l'onglet « Évaluations » d' watsonx.governance, afin d'obtenir des informations sur les performances du LLM.

Ce résumé présente une vue d'ensemble des scores des indicateurs et des dépassements des seuils de score par défaut pour les évaluations de vos modèles de prompt. capture d'écran de la page de résumé dans l'interface utilisateur

Pour analyser les résultats, vous pouvez cliquer sur la flèche située à côté de l'évaluation de votre modèle de prompt afin de consulter les graphiques représentant l'évolution de vos résultats au fil du temps. Cliquez sur un horodatage dans le graphique pour afficher les indicateurs au niveau des enregistrements. capture d'écran de l'interface utilisateur présentant les indicateurs au niveau des enregistrements

Pour analyser une transaction spécifique, cliquez sur une ligne du tableau des indicateurs au niveau des enregistrements afin d'afficher les détails de la transaction. capture d'écran de l'interface utilisateur affichant les détails de la transaction

En savoir plus