Vue d’ensemble
GitHub Models fournit un flux de travail d’évaluation simple qui aide les développeurs à comparer des grands modèles de langage (LLM), à améliorer les prompts et à prendre des décisions basées sur les données au sein de la plateforme GitHub. Vous pouvez utiliser GitHub Models pour tester de nouvelles fonctionnalités ou valider des modifications apportées au modèle en analysant les performances, l’exactitude et le coût à l’aide d’outils d’évaluation structurés.
Conseil
Vous pouvez exécuter des évaluations directement à partir de la ligne de commande à l’aide de la commande gh models eval
. Elle utilise les mêmes évaluateurs que l’interface utilisateur : correspondance de chaînes, similarité, évaluateurs personnalisés de type LLM-juge, etc. Vous pouvez ainsi tester votre fichier .prompt.yml
localement ou dans l’intégration continue.
Cas d’usage pour GitHub Models
Le comportement du modèle peut varier considérablement en fonction du prompt, de l’entrée ou de la configuration. GitHub Models vous aide à :
- Tester et comparer plusieurs LLM dans des cas d’utilisation réalistes.
- Optimiser la formulation des prompts, la température et d’autres paramètres.
- Évaluer les sorties du modèle à l’aide de mesures structurées et reproductibles.
- Intégrer le développement de l’IA dans votre flux de travail.
Exemple de scénario
Imaginez que vous développiez une fonctionnalité permettant de résumer les commentaires des clients soumis via des tickets de support. Ces résumés seront utilisés pour générer des rapports internes et des tickets, leur sortie doit donc être claire, pertinente et concise.
Vous souhaitez :
- Testez différents modèles et configurations de prompts.
- Évaluez la configuration la plus performante en fonction de la qualité, de la cohérence et de l’efficacité.
- Enregistrez la configuration dans votre référentiel pour pouvoir la réutiliser et la partager.
Test de prompt dans le Terrain de jeu
Pour vous familiariser avec la création et la gestion des prompts dans GitHub Models, consultez Tester un prompt dans le Terrain de jeu.
Le Terrain de jeu vous permet de comparer les modèles côte à côte, d’ajuster leurs paramètres et de tester des variations de prompt.
À cette étape, vous allez configurer un modèle pour générer des résumés des commentaires du support client. Vous allez définir un prompt système, le tester avec un exemple d’entrée, puis l’améliorer afin de garantir que la sortie est concise et pertinente.
Définition du prompt système
Définissez le comportement du modèle pour votre objectif actuel. Dans ce cas, l’objectif est de résumer les commentaires des clients. Sous Paramètres, entrez le prompt système suivant :
You are a helpful assistant that summarizes support ticket responses into concise summaries.
Laissez les autres paramètres par défaut.
Écrire un prompt utilisateur
Maintenant que le modèle est configuré, entrez les commentaires client suivants dans la boîte de dialogue Prompt :
The app crashes every time I try to upload a PDF from my phone. It works on desktop but not on mobile.
Le modèle peut générer une réponse telle que la suivante :
The user experiences consistent app crashes when attempting to upload a PDF from their phone. Uploading PDFs works normally on desktop. They request an investigation into the issue.
Définition de la variable d’entrée
À ce stade, la configuration génère un résumé clair et concis. En bas des paramètres Paramètres, cliquez sur Créer un fichier prompt.yml pour ouvrir la vue Prompt. Votre prompt système sera prérempli automatiquement.
Dans le champ Prompt utilisateur, entrez le prompt suivant :
Summarize the following: {{input}}
La variable {{input}}
agit comme un espace réservé qui vous permet de tester différentes entrées (commentaires des clients) sans modifier le prompt à chaque fois. Chaque entrée de test que vous ajoutez remplacera {{input}}
lorsque la comparaison s’exécutera.
Ajout d’entrées de test
En haut de la vue Prompts, sélectionnez Comparer pour activer ou désactiver la vue Comparaisons. Cette vue vous permet d’effectuer des comparaisons structurées entre plusieurs prompts ou modèles et d’appliquer des évaluateurs pour mesurer les performances.
Dans la vue Comparaisons, chaque ligne du tableau représente un cas de test unique, avec une entrée spécifique et une sortie attendue. Chaque colonne présente une configuration de prompt différente afin de comparer les performances de différents modèles ou styles de prompt à l’aide d’évaluateurs.
Cliquez sur Ajouter des lignes pour entrer vos données de test. L’entrée simule un message de support réel, et la sortie attendue représente le résumé idéal que le modèle devrait renvoyer. Le tableau ci-dessous présente des exemples d’entrées de test ainsi que leurs sorties attendues pour l’évaluation.
Ligne | Input | Sortie attendue |
---|---|---|
1 | L’application plante à chaque fois que j’essaie de télécharger un fichier PDF depuis mon téléphone. Elle fonctionne sur ordinateur, mais pas sur mobile. | L’utilisateur signale que l’application mobile plante à chaque fois qu’il essaie de télécharger un fichier PDF, alors que la version bureau fonctionne sans problème. |
2 | J’ai contacté le support technique il y a deux jours et je n’ai toujours pas reçu de réponse. J’ai besoin d’aide pour récupérer mon compte dès que possible. | L’utilisateur attend une réponse du support technique et a besoin d’aide de toute urgence pour récupérer son compte. |
3 | Merci d’ajouter un mode sombre. C’est très difficile à utiliser la nuit. J’ai mal aux yeux après une utilisation prolongée. | L’utilisateur réclame un mode sombre en raison d’une fatigue oculaire lors de l’utilisation nocturne. |
Ajustement des paramètres du modèle
À droite du tableau, cliquez sur pour ajouter une nouvelle configuration de prompt.
Dans la nouvelle configuration de prompt, vous pouvez mettre à jour le modèle et affiner son comportement à l’aide des paramètres disponibles. Ces paramètres contrôlent la manière dont le modèle génère du texte, notamment sa longueur, son caractère aléatoire et ses répétitions.
Configuration du modèle
Dans le menu déroulant Modèle, choisissez PHI-4 pour créer une configuration distincte à des fins de comparaison.
Vous pouvez ajuster les paramètres suivants pour influencer la sortie du modèle :
- Nombre maximal de jetons : définit le nombre maximal de jetons que le modèle peut retourner. Les valeurs plus élevées permettent des sorties plus longues.
- Température : contrôle le caractère aléatoire de la réponse. Les valeurs plus faibles (de 0,2 à 0,4) produisent des sorties plus ciblées et déterministes. Les valeurs plus élevées (0,8 à 1,0) introduisent davantage de variation et de créativité.
- Top P : contrôle la diversité des sorties en sélectionnant parmi un ensemble des mots suivants les plus probables. Les valeurs plus faibles réduisent la variabilité, tout comme la baisse de la température.
- Pénalité de présence : décourage le modèle d’introduire de nouveaux sujets. Les valeurs plus élevées appliquent une pénalité plus forte. Une valeur de 0 convient généralement pour la synthèse.
- Pénalité de fréquence : réduit la probabilité de répétition des mots. Les valeurs plus élevées appliquent une pénalité plus forte. Une valeur comprise entre 0 et 0,5 permet de garantir la clarté des résumés et d’éviter toute redondance.
- Stop : spécifie une ou plusieurs chaînes qui, lorsqu’elles sont générées, interrompent la réponse du modèle. Utilisez cette option pour éviter les sorties trop longues ou pour appliquer des règles de mise en forme.
Le tableau ci-dessous fournit une configuration des paramètres permettant de générer des résumés concis lors de la comparaison de modèles.
Paramètre | Valeur | Raison |
---|---|---|
Nombre maximal de jetons | 128 | Permet de donner des réponses courtes et pertinentes |
Température | 0.3 | Garantit des sorties déterministes et ciblées |
Meilleur P | 1.0 | Permet d’utiliser tout le vocabulaire, mais guide la sélection |
Pénalité de présence | 0 | Aucune pénalité : les résumés ne nécessitent pas de variation de sujet |
Pénalité de fréquence | 0.3 | Réduit les répétitions dans les résumés concis |
Stop | (facultatif) | À utiliser si vous souhaitez arrêter la sortie après un mot-clé ou un symbole |
Après avoir appliqué les paramètres, vous pouvez ajouter des colonnes supplémentaires pour comparer plusieurs modèles ou configurations de prompt côte à côte.
Évaluation des sorties
Une fois le prompt configuré, exécutez une évaluation structurée pour comparer les sorties du modèle à l’aide de données réelles et de métriques reproductibles.
L’évaluation des modèles vous aide à comprendre comment différents modèles et configurations de prompts fonctionnent avec des entrées réelles. Dans la vue Prompt, vous pouvez appliquer des évaluateurs à plusieurs modèles côte à côte et passer en revue des métriques telles que la similarité, la pertinence et l’ancrage.
Les évaluateurs suivants sont disponibles :
- Similitude : mesure le degré de correspondance entre la sortie d’un modèle et une réponse attendue ou de référence. Cette mesure est utile lorsque vous souhaitez confirmer que le modèle renvoie des réponses cohérentes et précises, alignées sur un résultat connu. Le score varie de 0 à 1, les valeurs élevées indiquant une plus grande similitude.
- Pertinence : fait référence à l’efficacité avec laquelle une réponse répond à une question. Il évalue l’exactitude, l’exhaustivité et la pertinence directe de la réponse basée uniquement sur l’information donnée. Le score varie de 0 à 1, les valeurs élevées indiquant une meilleure correspondance avec l’intention de l’entrée.
- Ancrage : mesure dans quelle mesure une réponse est solidement ancrée dans le contexte fourni, en évaluant sa pertinence, sa précision et son exhaustivité basées exclusivement sur ce contexte. Il évalue dans quelle mesure la réponse traite pleinement la question sans introduire d’informations non pertinentes ou incorrectes. Le score varie de 0 à 1, les valeurs élevées indiquant une plus grande exactitude.
- Prompt personnalisé : vous permet de définir vos propres critères d’évaluation pour un LLM afin d’évaluer la sortie d’un autre. Cela vous permet d’attribuer un score aux sorties du modèle en fonction de vos propres directives. Vous pouvez choisir entre des évaluations validées/non validées ou notées, ce qui est idéal dans les cas où les indicateurs standard ne permettent pas de mesurer les attentes en matière de test.
Lorsque vous êtes prêt à évaluer, cliquez sur Exécuter pour générer et comparer les sorties de toutes les configurations de prompt. Une fois l’exécution terminée, GitHub Models affiche la sortie de chaque configuration de prompt, ainsi que les scores des évaluateurs.
Cas de test : plantage lors du téléchargement d’un fichier PDF
Entrée : The app crashes every time I try to upload a PDF from my phone. It works on desktop but not on mobile.
Les tableaux suivants affichent la sortie de chaque modèle et les scores attribués par l’évaluateur :
Modèle | Sortie |
---|---|
GPT-4.1 | L’utilisateur signale que l’application plante lors du téléchargement d’un fichier PDF depuis un mobile, alors que le téléchargement fonctionne sur un ordinateur de bureau. |
DeepSeek-R1 | |
Phi-4 | L’application plante lorsque l’on tente de télécharger un PDF depuis un appareil mobile, bien qu’elle fonctionne correctement sur la version sur ordinateur. |
Modèle | Similarité | Pertinence | Fondement | Jetons d’entrée | Jetons de sortie | Latence |
---|---|---|---|---|---|---|
GPT-4.1 | 100 % | 50% | 100 % | 61 | 20 | 918 ms |
DeepSeek-R1 | 50 % | 50 % | 75% | 52 | 128 | 2 285 ms |
Phi-4 | 75 % | 100 % | 100 % | 61 | 66 | 1 117 ms |
Utilisez les scores de l’évaluateur pour évaluer et comparer les réponses au-delà des formulations superficielles.
Similarité
Évaluez dans quelle mesure la sortie de chaque modèle correspond au résumé attendu. Le tableau ci-dessous indique les scores de pertinence pour chaque modèle.
Modèle | Score de similarité |
---|---|
GPT-4.1 | 100 % |
DeepSeek-R1 | 50% |
Phi-4 | 75 % |
Bien que tous les modèles aient inclus le contenu clé de l’entrée, le score de similarité de DeepSeek-R1 est nettement inférieur en raison de ses commentaires internes détaillés, qui s’éloignent du format attendu d’un résumé concis. En revanche, la réponse de GPT-4.1 correspond à la formulation et à la structure de la sortie de référence.
Pertinence
Évaluez dans quelle mesure chaque modèle rend compte de l’intention principale de l’entrée. Le tableau ci-dessous indique les scores de pertinence pour chaque modèle.
Modèle | Score de pertinence |
---|---|
GPT-4.1 | 50% |
DeepSeek-R1 | 50% |
Phi-4 | 100 % |
Les trois modèles ont identifié le problème majeur lié au plantage de l’application lors du téléchargement de fichiers PDF sur mobile. Phi-4 a obtenu un score de pertinence plus élevé pour avoir mieux reflété le point de vue de l’utilisateur. DeepSeek-R1 a perdu des points pour avoir introduit des causes techniques spéculatives non mentionnées dans les données d’entrée d’origine.
Fondement
Évaluez si la sortie de chaque modèle reste fidèle à l’entrée sans introduire d’informations non prises en charge. Le tableau ci-dessous indique les scores de pertinence pour chaque modèle.
Modèle | Score d’ancrage |
---|---|
GPT-4.1 | 100 % |
DeepSeek-R1 | 75 % |
Phi-4 | 100 % |
Même si DeepSeek-R1 ajoute des commentaires internes, il n’introduit pas de faits imaginaires. Sa phrase de résumé finale reflète correctement le contenu de l’entrée d’origine.
Cas de test : demande de mode sombre
Entrée : Please add dark mode. It's very hard to use at night. My eyes hurt after prolonged use.
Les tableaux suivants affichent la sortie de chaque modèle et les scores attribués par l’évaluateur :
Modèle | Sortie |
---|---|
GPT-4.1 | L’utilisateur demande l’ajout d’un mode sombre en raison d’une gêne et d’une fatigue oculaire lorsqu’il utilise l’application la nuit. |
DeepSeek-R1 | |
Phi-4 | Le client demande l’ajout d’un mode sombre afin de réduire la fatigue oculaire lors de l’utilisation nocturne du produit. |
Modèle | Similarité | Pertinence | Fondement | Jetons d’entrée | Jetons de sortie | Latence |
---|---|---|---|---|---|---|
GPT-4.1 | 100 % | 75 % | 100 % | 57 | 18 | 1 286 ms |
DeepSeek-R1 | 50% | 0 % | 25 % | 49 | 128 | 1 946 ms |
Phi-4 | 100 % | 75 % | 100 % | 58 | 20 | 899 ms |
Similarité
Évaluez dans quelle mesure la sortie de chaque modèle correspond au résumé attendu. Le tableau ci-dessous indique les scores de pertinence pour chaque modèle.
Modèle | Score de similarité |
---|---|
GPT-4.1 | 100 % |
DeepSeek-R1 | 50% |
Phi-4 | 100 % |
Bien que tous les modèles aient inclus le contenu clé de l’entrée, le score de similarité de DeepSeek-R1 est à nouveau nettement inférieur en raison de ses commentaires internes détaillés.
Pertinence
Évaluez dans quelle mesure chaque modèle rend compte de l’intention principale de l’entrée. Le tableau ci-dessous indique les scores de pertinence pour chaque modèle.
Modèle | Score de pertinence |
---|---|
GPT-4.1 | 75 % |
DeepSeek-R1 | 0 % |
Phi-4 | 75 % |
GPT-4.1 et Phi-4 ont tous deux saisi l’intention principale de la demande de l’utilisateur : la nécessité d’un mode sombre pour réduire la fatigue oculaire et améliorer l’ergonomie de nuit. DeepSeek-R1 a obtenu un score de pertinence de 0 % en raison de ses commentaires internes détaillés qui détournaient l’attention de la sortie effective.
Fondement
Évaluez si la sortie de chaque modèle reste fidèle à l’entrée sans introduire d’informations non prises en charge. Le tableau ci-dessous indique les scores de pertinence pour chaque modèle.
Modèle | Score d’ancrage |
---|---|
GPT-4.1 | 100 % |
DeepSeek-R1 | 25 % |
Phi-4 | 100 % |
DeepSeek-R1 a obtenu un score inférieur en raison de son bloc <think>
détaillé, qui comprenait un raisonnement spéculatif non présent dans l’entrée d’origine.
Enregistrer la configuration
Une fois vos évaluations terminées, la dernière étape consiste à choisir le modèle qui offre les meilleures performances pour votre cas d’utilisation spécifique. Dans les exemples ci-dessus, Phi-4 et GPT-4.1 ont obtenu des résultats solides et cohérents auprès de tous les évaluateurs. DeepSeek-R1 a obtenu un score inférieur en raison de son raisonnement détaillé et de ses sorties moins ciblées.
Une fois que vous avez sélectionné votre modèle préféré et la configuration de prompt, ajoutez un nom descriptif au fichier prompt, puis cliquez sur Commiter les modifications. Cela enregistrera le modèle, le prompt, les paramètres et le jeu de données associé dans un fichier de configuration réutilisable dans votre référentiel.
En commitant votre configuration de prompt, vous facilitez la réutilisation, la collaboration et l’itération entre les configurations de modèles. La réexécution des évaluations et le suivi des performances de la configuration de prompt au fil du temps sont ainsi simplifiés.