Inclure des exemples few-shot

Vous pouvez inclure des exemples dans l'invite afin de montrer au modèle à quoi ressemble une bonne réponse. Le modèle tente d'identifier des schémas et des relations à partir des exemples, et les applique lors de la génération d'une réponse. Les requêtes contenant des exemples sont appelées des requêtes few-shot, tandis que les requêtes qui ne fournissent aucun exemple sont appelées requêtes zero-shot. Les requêtes few-shot sont souvent utilisées pour réguler la mise en forme de sortie, la formulation, le champ d'application ou la mise en forme générale des réponses du modèle. Utilisez des exemples spécifiques et variés pour aider le modèle à affiner sa cible et à générer des résultats plus précis.

Inclure des exemples few-shot dans vos requêtes permet de les rendre plus fiables et efficaces. Cependant, vous devez toujours accompagner les exemples few-shot avec des instructions claires. Sans instructions claires, les modèles peuvent détecter des modèles ou des relations inattendus à partir des exemples, ce qui peut entraîner des résultats médiocres.

Les points clés de cette stratégie sont les suivants :

  • L'inclusion d'exemples de réponse dans la requête aide le modèle à apprendre comment répondre.
  • Utilisez un balisage de type XML pour baliser les exemples.
  • Testez le nombre de requêtes à inclure. Selon le modèle, un nombre insuffisant d'exemples peut ne pas suffir à changer le comportement du modèle. Un trop grand nombre d'exemples peut entraîner un surapprentissage du modèle.
  • Utiliser une mise en forme cohérente pour tous les exemples

Requêtes zero-shot et few-shot

L'invite zero-shot suivante demande au modèle d'extraire les caractéristiques techniques d'un texte et de les générer au format JSON :

Extract the technical specifications from the text below in JSON format.

Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass
  
    {
      "Network": "5G",
      "RAM": "8GB",
      "Processor": "Tensor G2",
      "Storage": "128GB",
      "Color": "Lemongrass"
    }
  

Supposons que votre cas d'utilisation nécessite une mise en forme spécifique, par exemple les noms de clés en minuscules. Vous pouvez inclure des exemples dans la requête qui montre au modèle comment mettre en forme le JSON. La requête few-shot suivante illustre un format de sortie dans lequel les clés JSON sont en minuscules :

Extract the technical specifications from the text below in a JSON format.

<EXAMPLE>
  INPUT: Google Nest Wifi, network speed up to 1200Mpbs, 2.4GHz and 5GHz frequencies, WP3 protocol

  OUTPUT:
  {
    "product":"Google Nest Wifi",
    "speed":"1200Mpbs",
    "frequencies": ["2.4GHz", "5GHz"],
    "protocol":"WP3"
  }
</EXAMPLE>

  Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass
  
    {
      "product": "Google Pixel 7",
      "network": "5G",
      "ram": "8GB",
      "processor": "Tensor G2",
      "storage": "128GB",
      "color": "Lemongrass"
    }
  

Notez que l'exemple utilise une mise en forme semblable à celle de XML pour séparer les composants de la requête. Pour en savoir plus sur la mise en forme optimale des requêtes few-shot à l'aide d'un format de type XML, consultez la section Structurer les requêtes.

Trouver le nombre optimal d'exemples

Vous pouvez tester le nombre d'exemples à fournir dans la requête pour obtenir les résultats les plus satisfaisants. Des modèles tels que PaLM et Gemini peuvent souvent détecter des schémas avec seulement quelques exemples, mais vous devrez peut-être tester le nombre d'exemples vous permettant d'obtenir les résultats souhaités. Cependant, si vous incluez trop d'exemples, le modèle peut manifester un surapprentissage qui biaise les réponses obtenues.

Étapes suivantes