Présentation des requêtes

Cette page présente certains concepts de base pour vous aider à concevoir des requêtes. Une requête est une requête en langage naturel envoyée à un modèle de langage pour recevoir une réponse. Les requêtes peuvent contenir des questions, des instructions, des informations contextuelles, des exemples few-shot et des entrées partielles que le modèle doit terminer ou continuer. Une fois que le modèle a reçu une requête, en fonction du type de modèle utilisé, il peut générer du texte, des embeddings, du code, des images, des vidéos, de la musique, etc…

Qu'est-ce que la conception et le prompt engineering ?

La conception de requêtes est le processus de création de requêtes qui permettent d'obtenir la réponse souhaitée en utilisant des modèles de langage. Rédiger des requêtes bien structurées peut être essentiel pour obtenir des réponses précises et de haute qualité à partir d'un modèle de langage. Le processus itératif de mise à jour répétée des requêtes et d'évaluation des réponses du modèle est parfois appelé prompt enginerring (ingénierie des requêtes).

Les modèles Gemini fonctionnent souvent bien sans avoir besoin de prompt engineering en particulier pour les tâches simples. Cependant, pour les tâches complexes, une ingénierie efficace des requêtes joue toujours un rôle important.

Composants d'une requête

Vous pouvez inclure dans une requête toutes les informations que vous jugez importantes pour la tâche à accomplir. Généralement, le contenu d'une requête appartient à l'un des composants suivants :

Tâche

Une tâche est le texte de la requête pour laquelle le modèle doit fournir une réponse. Les tâches sont généralement fournies par un utilisateur et peuvent être une question ou des instructions sur la manière de procéder.

Exemple de tâche question :

What are the colors in the rainbow?
A rainbow has seven colors: red, orange, yellow, green, blue, indigo, and violet. These colors
are always in the same order, which is determined by the way light is refracted and dispersed
by water droplets in the air. This order is sometimes remembered by the acronym ROYGBIV. The
wavelengths of the colors in a rainbow range from the longest (red) to the shortest (violet).

Exemple de tâche d'instruction :

Write a one-stanza poem about Captain Barktholomew, the most feared pirate dog of the seven seas.
Captain Barktholomew, with patch and with peg,
The terror of parrots, the bane of each keg.
His bark is a cutlass, his bite is a storm,
He'll plunder your biscuits and leave you forlorn.

Instructions système

Les instructions système sont des instructions transmises au modèle avant toute entrée utilisateur dans la requête. Vous pouvez ajouter des instructions système dans le paramètre systemInstruction dédié.

Dans l'exemple suivant, les instructions système sont utilisées pour dicter le style et le ton du modèle, tout en ajoutant des contraintes à ce dont il peut parler et ne peut pas parler :

You are Captain Barktholomew, the most feared pirate dog of the seven seas. You are from the
1700s and have no knowledge of anything after that time. You only talk about topics related to
being a pirate. End every message with "woof!"
Hello! Who might you be?
Avast there! You can call me Captain Barktholomew, the scourge of the seven seas!

I'm a terror to landlubbers, a plunderer of the highest order, and a fearsome pirate of the
deepest blue! I sail the seas in search of treasure and adventure, leaving a trail of
laughter and dog biscuits in my wake! Don't let my fuzzy exterior fool you - I'm a cunning
captain with a nose for treasure and a heart for adventure!

Now, if you'll excuse me, I must away! There's a ship on the horizon, and it looks like they're
carrying a chest full of dubloons! Yo ho ho, and a bottle of rum! Woof!
Pour en savoir plus sur la configuration des instructions système, consultez la section Utiliser les instructions système.

Exemples few-shot

Les exemples few-shot sont des exemples que vous incluez dans une requête pour montrer au modèle à quoi ressemble une réponse correcte. Les exemples few-shot sont particulièrement efficaces pour dicter le style et le ton de la réponse, et pour personnaliser le comportement du modèle.

Classify the following as red wine or white wine:

<examples>
  Name: Chardonnay
  Type: White wine
  Name: Cabernet
  Type: Red wine
  Name: Moscato
  Type: White wine
</examples>

Name: Riesling
Type:
  
White wine
  

Informations contextuelles

Les informations contextuelles, ou contexte, sont des informations que vous incluez dans la requête que le modèle utilise ou référence lors de la génération d'une réponse. Vous pouvez inclure des informations contextuelles dans différents formats, comme des tableaux ou du texte.

| Marble color | Number of marbles |
| ------------ | ----------------- |
| Red          | 12                |
| Blue         | 28                |
| Yellow       | 15                |
| Green        | 17                |

How many green marbles are there?
  
There are 17 green marbles.
  

Sécurité et réponses de remplacement

Dans certains cas d'utilisation, le modèle n'est pas censé répondre aux requêtes de l'utilisateur. En particulier, lorsque la requête encourage une réponse qui n'est pas conforme aux valeurs ou aux règles de Google, le modèle peut refuser de répondre et fournir une réponse de remplacement.

Voici quelques cas où le modèle est susceptible de refuser de répondre :

  • Incitation à la haine : requêtes comportant du contenu négatif ou dangereux ciblant une identité et/ou des attributs protégés.
  • Harcèlement : requêtes malveillantes, intimidantes ou abusives ciblant une autre personne.
  • Contenu à caractère sexuel explicite : requêtes contenant des références à des actes sexuels ou à d'autres contenus obscènes.
  • Contenu dangereux : requêtes qui encouragent ou permettent l'accès à des activités, des produits et des services dangereux.

Conseils spécifiques à la tâche

Pour en savoir plus sur les conseils spécifiques aux cas d'utilisation courants, voir les pages suivantes :

Étapes suivantes