Grâce à Example Store, vous pouvez stocker et récupérer dynamiquement des exemples few-shot. Les exemples few-shot vous permettent de montrer les schémas de réponse attendus à un LLM pour améliorer la qualité, la justesse et la cohérence de ses réponses à des requêtes similaires.
Que sont les exemples few-shot ?
Un exemple few-shot est une donnée étiquetée spécifique à votre cas d'utilisation de LLM. Il inclut une paire entrée/sortie illustrant la réponse attendue du modèle pour une requête de modèle. Vous pouvez utiliser des exemples pour illustrer le comportement ou le schéma de réponse attendu d'un LLM.
En utilisant seulement quelques exemples pertinents, vous pouvez couvrir un plus grand ensemble de résultats possibles, de comportements prévus et d'entrées utilisateur sans augmenter de manière correspondante la taille ni la complexité des requêtes. Pour cela, vous devez inclure uniquement des exemples pertinents (en réduisant le nombre d'exemples inclus) et "montrer" le comportement attendu au lieu de l'expliquer.
L'utilisation d'exemples few-shot est une forme d'apprentissage en contexte. Un exemple illustre un schéma clair d'entrées et de sorties, sans expliquer comment le modèle génère le contenu. Vous pouvez couvrir davantage de résultats possibles ou de requêtes utilisateur en utilisant seulement quelques exemples, sans augmenter la taille de votre requête ni la complexité du code. L'utilisation d'exemples n'implique pas la mise à jour des paramètres du modèle pré-entraîné et n'a pas d'incidence sur l'étendue des connaissances du LLM. L'apprentissage en contexte avec des exemples est donc une approche relativement légère et concise pour personnaliser, corriger ou améliorer le raisonnement et la réponse d'un LLM à des requêtes invisibles.
En collectant des exemples pertinents et représentatifs de vos requêtes utilisateur, vous aidez le modèle à maintenir son attention, à illustrer le schéma attendu et à corriger les comportements incorrects ou inattendus. Cela n'a aucune incidence sur les autres requêtes qui génèrent les réponses attendues.
Comme toutes les stratégies de prompt engineering, l'utilisation d'exemples few-shot s'ajoute à d'autres techniques d'optimisation des LLM, telles que le réglage fin ou RAG.
Utiliser Example Store
Les étapes suivantes décrivent comment utiliser Example Store :
Créez ou réutilisez une ressource
ExampleStore, également appelée « instance de magasin d'exemples ».- Pour chaque région et chaque projet, vous pouvez disposer d'un maximum de 50 instances de magasin d'exemples.
Rédigez et importez des exemples basés sur les réponses du LLM. Deux scénarios sont possibles :
Si le comportement et le schéma de réponse du LLM sont conformes aux attentes, rédigez des exemples basés sur ces réponses et importez-les dans l'instance de magasin d'exemples.
Si le LLM présente un comportement ou des schémas de réponse inattendus, rédigez un exemple pour montrer comment corriger la réponse, puis importez-le dans l'instance de magasin d'exemples.
Les exemples importés sont immédiatement disponibles pour l'agent ou l'application LLM associé à l'instance de magasin d'exemples.
Si un agent basé sur le Agent Development Kit est associé à l'instance de magasin d'exemples, il récupère automatiquement les exemples et les inclut dans la requête LLM.
Pour toutes les autres applications LLM, vous devez rechercher et récupérer les exemples, puis les inclure dans vos requêtes.
Vous pouvez continuer à ajouter des exemples de manière itérative à une instance de magasin d'exemples chaque fois que vous constatez des performances inattendues du LLM ou que vous rencontrez des requêtes utilisateur adverses ou inattendues. Vous n'avez pas besoin de mettre à jour votre code ni de redéployer une nouvelle version de votre application LLM. Les exemples sont disponibles pour l'agent ou l'application dès que vous les importez dans l'instance de magasin d'exemples.
Vous pouvez également effectuer les opérations suivantes :
Récupérer des exemples en effectuant une recherche de similarité cosinus entre les clés de recherche des exemples stockés et celles de votre requête.
Filtrer les exemples par nom de fonction et affiner la liste des exemples candidats pour ne retenir que ceux qui représentent les réponses possibles du LLM.
Améliorer de manière itérative votre agent ou votre application LLM.
Partager des exemples avec plusieurs agents ou applications LLM.
Consignes pour la création d'exemples few-shot
L'impact des exemples sur les performances du modèle dépend des types d'exemples inclus dans les requêtes et de la manière dont ils sont inclus.
Voici quelques pratiques généralement recommandées pour la création d'exemples :
Pertinence et similarité : les exemples doivent être étroitement liés au tâche ou au domaine spécifique. Cela permet au modèle de se concentrer sur les aspects les plus pertinents de ses connaissances, de réduire l'utilisation de jetons et de maintenir, voire d'améliorer ses performances. Vous avez besoin de moins d'exemples s'ils sont pertinents pour la conversation. Le corpus des exemples disponibles doit être représentatif des requêtes utilisateur possibles. De plus, un exemple doit être pertinent pour une requête utilisateur donnée.
Complexité : pour aider le LLM à mieux fonctionner, utilisez des exemples peu complexes pour illustrer le raisonnement attendu.
Représentativité des résultats possibles du modèle : les réponses attendues dans un exemple doivent être cohérentes avec le résultat possible. Cela permet à l'exemple d'illustrer clairement un raisonnement cohérent avec le raisonnement attendu du LLM pour la requête.
Format : pour des performances optimales, mettez en forme les exemples few-shot de votre requête d’une manière cohérente avec les données d’entraînement du LLM et différente de l’historique des conversations. La mise en forme des exemples dans une requête peut avoir un impact considérable sur les performances du LLM.
Exemple de cas d'utilisation : appels de fonction
Vous pouvez utiliser des exemples few-shot pour améliorer les performances des appels de fonction.
Vous pouvez indiquer l'appel de fonction attendu pour une requête utilisateur selon un schéma cohérent. L'exemple peut modéliser la réponse attendue à la requête en incluant la fonction à appeler et les arguments à inclure dans l'appel de fonction. Prenons un cas d'utilisation dans lequel la fonction get_store_location renvoie l'emplacement d'un magasin et sa description. Si une requête n'appelle pas cette fonction comme prévu ou affiche un résultat inattendu, vous pouvez utiliser des exemples few-shot pour corriger ce comportement pour les requêtes suivantes.
Pour en savoir plus sur les appels de fonction, consultez la page Appels de fonction.
Pour en savoir plus, consultez le guide de démarrage rapide d'Example Store.
Étape suivante
Découvrez comment créer un magasin d'exemples.
Découvrez comment entraîner un agent avec des exemples.