Présentation de Example Store

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 modèle de réponse attendu d'un LLM.

En n'utilisant que 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 la taille ni la complexité des requêtes. Pour ce faire, n'incluez que des exemples pertinents (en réduisant le nombre d'exemples inclus) et "montrez, ne dites pas" le comportement attendu.

L'utilisation d'exemples few-shot est une forme d'apprentissage en contexte. Un exemple illustre un modèle 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 ou de requêtes utilisateur possibles en n'utilisant que relativement peu d'exemples, sans augmenter la taille de votre prompt 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'impact 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 inédites.

En collectant des exemples pertinents et représentatifs des requêtes de vos utilisateurs, vous aidez le modèle à maintenir son attention, à démontrer le modèle attendu et à corriger les comportements incorrects ou inattendus. Cela n'affecte pas 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 l'affinage ou le RAG.

Utiliser Example Store

Voici comment utiliser Example Store :

  1. Créez ou réutilisez une ressource ExampleStore, également appelée "instance de magasin d'exemples".

    • Pour chaque région et projet, vous pouvez avoir un maximum de 50 instances Example Store.
  2. Rédiger et importer des exemples basés sur les réponses du LLM Deux scénarios sont possibles :

    • Si le comportement et le modèle de réponse du LLM sont conformes aux attentes, écrivez 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, écrivez un exemple pour montrer comment corriger la réponse, puis importez-le dans l'instance du magasin d'exemples.

  3. Les exemples importés sont immédiatement disponibles pour l'agent ou l'application LLM associée à l'instance de magasin d'exemples.

    • Si un agent basé sur l'Agent Development Kit (ADK) est associé à l'instance du 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 Example Store chaque fois que vous observez des performances inattendues du LLM, ou que vous rencontrez des requêtes utilisateur contradictoires 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 deviennent 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érez 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.

  • Filtrez les exemples par nom de fonction et affinez la liste des exemples candidats pour n'inclure que ceux qui représentent les réponses possibles du LLM.

  • Améliorez votre agent ou votre application LLM de manière itérative.

  • Partager des exemples avec plusieurs agents ou applications de LLM.

Consignes pour créer des 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 les pratiques généralement recommandées pour créer des exemples :

  • Pertinence et similarité : les exemples doivent être étroitement liés à la tâche ou au domaine spécifique. Cela aide le modèle à se concentrer sur les aspects les plus pertinents de ses connaissances, réduit l'utilisation des jetons et maintient, voire améliore, les 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 à être plus performant, utilisez des exemples peu complexes pour illustrer le raisonnement attendu.

  • Représentatif 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 de démontrer clairement un raisonnement cohérent avec le raisonnement attendu du LLM pour le prompt.

  • Format : pour des performances optimales, formatez les exemples de prompt few-shot de manière cohérente avec les données d'entraînement du LLM et différenciez-les de l'historique de la conversation. La mise en forme des exemples dans un prompt peut avoir un impact considérable sur les performances du LLM.

Exemple de cas d'utilisation : appel 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 de manière cohérente. 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 où 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 de requêtes few-shot pour corriger ce comportement pour les requêtes ultérieures.

Pour en savoir plus sur les appels de fonction, consultez Appel de fonction.

Pour en savoir plus, consultez le guide de démarrage rapide sur le magasin d'exemples.

Étapes suivantes