Concevoir des requêtes multimodales

L'API Gemini vous permet d'envoyer des requêtes multimodales au modèle Gemini. Les modalités acceptées sont le texte, l'image et la vidéo.

Pour obtenir des conseils généraux de conception de requêtes, consultez la section Stratégies de conception de requêtes.

Modèles compatibles

Les modèles suivants acceptent les réponses d'invites multimodales.

  • Gemini 1.5 Flash
  • Gemini 1.5 Pro
  • Gemini 1.0 Pro Vision

Vous pouvez améliorer vos requêtes multimodales en suivant ces bonnes pratiques :

  • Principes de base de la conception d'invites

    • Soyez précis dans vos instructions : définissez des instructions claires et concises qui laissent peu de place aux erreurs d'interprétation.
    • Ajoutez quelques exemples à votre requête :utilisez des exemples réalistes pour illustrer votre objectif.
    • Décomposez la tâche étape par étape : divisez les tâches complexes en sous-objectifs gérables pour guider le modèle tout au long du processus.
    • Spécifiez le format de sortie : dans votre requête, demandez la sortie au format souhaité, tel que Markdown, JSON, HTML, etc.
    • Mettez en avant votre image pour les requêtes liées à une seule image : bien que Gemini puisse gérer les entrées d'image et de texte dans n'importe quel ordre, les requêtes qui contiennent une seule image peuvent fonctionner mieux si cette image (ou vidéo) est placée avant la requête de texte. Cependant, pour les requêtes qui nécessitent que les images soient étroitement entrelacées avec du texte pour avoir du sens, utilisez l'ordre le plus naturel.
  • Résoudre les problèmes liés à une requête multimodale

    • Si le modèle n'extrait pas d'informations de la partie pertinente de l'image : ajoutez des indications sur les aspects de l'image à partir desquels vous souhaitez que la requête puise des informations.
    • Si le résultat du modèle est trop générique (non adapté à l'entrée image/vidéo) : au début de la requête, essayez de demander au modèle de décrire les images ou les vidéos avant de fournir les instructions de la tâche. ou essayez de demander au modèle de faire référence à ce qui est illustré.
    • Dépannage : demandez au modèle de décrire l'image ou demandez au modèle d'expliquer sa raisonnement pour évaluer sa compréhension initiale.
    • Si votre requête génère du contenu incohérent, essayez de réduire le paramétrage de la température ou de demander au modèle des descriptions plus courtes afin de réduire les risques d'extrapolation.
    • Réglez les paramètres d'échantillonnage : testez différents paramètres de température et des sélections en haut de la plage pour ajuster la créativité du modèle.

Principes de base de la conception d'invites

Cette section développe les bonnes pratiques mentionnées dans la section précédente.

Remarque : Les résultats des modèles présentés dans les exemples Gemini suivants peuvent varier d'une exécution à l'autre.

Soyez précis dans vos instructions

Les requêtes sont plus efficaces lorsqu'elles sont claires et détaillées. Si vous avez un résultat spécifique en tête, il est préférable d'inclure cette exigence dans la requête pour vous assurer d'obtenir le résultat souhaité.

Parfois, l'intent d'une requête peut sembler clair pour celui qui l'a écrit, mais en réalité manquer d'informations. Pour personnaliser le comportement du modèle, réfléchissez à la façon dont votre requête peut être (mal) interprétée et assurez-vous que les instructions que vous fournissez sont spécifiques et claires. N'oubliez pas de laisser suffisamment de place aux erreurs d'interprétation

Pour cette image de tableau d'aéroport, demander au modèle de "décrire cette image" peut générer une description générale. Si vous avez besoin du modèle pour analyser une heure et une ville à partir de l'image, vous pouvez inclure cette requête directement dans votre requête.

Requête Réponse de modèle

Décrivez cette image.

L'image montre un tableau des arrivées et des départs d'aéroport.

Requête mise à jour Réponse améliorée
Horaires de transport

Analysez les heures et les villes du tableau d'aéroport présent l'image ci-dessous et affichez-les sous forme de liste.

  • 10:50 Moscou
  • 11:05 Édimbourg
  • 11:05 Londres
  • 11:10 Bucarest
  • 11:30 Kiev
  • 11:35 Dublin
  • 11:45 Midlands de l'Est
  • 12:15 Sofia
  • 12:30 Londres
  • 12:30 Newcastle
  • 12:40 Saint-Pétersbourg
  • 12:40 Londres
  • 12:45 Manchester
  • Ajouter quelques exemples

    Le modèle Gemini peut accepter plusieurs entrées qu'il peut utiliser comme exemples pour comprendre la sortie que vous souhaitez. L'ajout de ces exemples peut aider le modèle à identifier les modèles et à appliquer la relation entre les images et les réponses données au nouvel exemple. C'est ce qu'on appelle l'apprentissage few-shot.

    Dans l'exemple ci-dessous, le résultat initial est écrit sous forme de phrase et contient également le pays (Brésil). Supposons que vous souhaitiez obtenir un format ou un style différent, et que vous souhaitiez uniquement afficher la ville, et non le pays. En ajoutant des exemples few-shot à votre requête, vous pouvez orienter le modèle pour qu'il réponde comme vous le souhaitez.

    Prompt (Requête) Réponse de modèle
    Horaires de transport

    Déterminez la ville et le repère.

    Le repère est la statue du Christ Rédempteur à Rio de Janeiro, au Brésil.

    Requête mise à jour Réponse améliorée

    Déterminez la ville et le repère.

    colisée

    ville : Rome ; repère : le Colisée.

    Cité interdite

    ville : Pékin ; repère : la Cité interdite

    forbidden-city

    Ville : Rio de Janeiro ; repère : statue du Christ Rédempteur

    Examiner étape par étape

    Pour les tâches complexes telles que celles nécessitant une compréhension visuelle et un raisonnement, il peut être utile de diviser la tâche en étapes plus petites et plus simples. Cela peut également être efficace si vous demandez directement au modèle de "penser étape par étape" dans votre requête.

    Requête Réponse de modèle

    Quand vais-je manquer de papier toilette ?

    Bientôt, car il ne vous reste que trois rouleaux.

    Requête mise à jour Réponse améliorée

      1. Commencez par compter le nombre de rouleaux de papier toilette apparaissant sur cette photo.
      2. Déterminez ensuite la quantité de papier toilette qu'une personne type utilise par jour.
      3. Calculez la durée de vie de ces rouleaux de papier toilette.

      1. Sur cette photo, on voit trois rouleaux de papier toilette.
      2. Une personne type utilise environ 20 feuilles de papier toilette par jour.
      3. Si un rouleau contient 200 feuilles, chaque rouleau dure environ 10 jours. Par conséquent, les trois rouleaux dureront environ un mois.

    Les problèmes mathématiques ou les problèmes basés sur les mots sont d'excellents candidats pour demander au modèle de réfléchir étape par étape.

    Prompt (Requête) Response (Réponse)

    Quel est le quatrième terme de la séquence ?

    -135

    La réponse du modèle est incorrecte. Pour améliorer ce résultat, vous pouvez demander au modèle d'analyser le problème avant de répondre à l'invite.

    Prompt (Requête) Response (Réponse)

    Commencez par analyser la formule dans l'image.

    Ensuite, en fonction de la formule, répondez à la question "Quel est le quatrième terme de la séquence ?".

    Cliquez pour développer le résultat

    $$ b(n) = b(n-1) * (-3) $$

    $$ b(1) = 15 $$

    1. Remplacez "n = 4" dans la formule :
    2. $$ b(4) = b(4-1) * (-3) $$

      $$ b(4) = b(3) * (-3) $$

    3. Nous ne connaissons pas la valeur de b(3). Remplacez donc n = 3 dans la formule :
    4. $$ b(3) = b(3-1) * (-3) $$

      $$ b(3) = b(2) * (-3) $$

    5. Nous ne connaissons pas la valeur de b(2). Remplacez donc n = 2 dans la formule :
    6. $$ b(2) = b(2-1) * (-3) $$

      $$ b(2) = b(1) * (-3) $$

    7. Nous savons que la valeur de b(1) est 15. Remplacez-la par la formule :
    8. $$ b(2) = 15 * (-3) $$

      $$ b(2) = -45 $$

    9. Maintenant que nous connaissons la valeur de b(2), remplacez-la dans la formule de b(3) :
    10. $$ b(3) = b(2) * (-3) $$

      $$ b(3) = -45 * (-3) $$

      $$ b(3) = 135 $$

    11. Maintenant que nous connaissons la valeur de b(3), remplacez-la dans la formule de b(4) :
    12. $$ b(4) = b(3) * (-3) $$

      $$ b(4) = 135 * (-3) $$

      $$ b(4) = -405 $$

    Par conséquent, le quatrième terme de la séquence est -405.

    Cette réponse est correcte. Pour la rendre encore plus fluide, vous pouvez demander au modèle de réfléchir étape par étape.

    Requête mise à jour Réponse améliorée

    Quel est le quatrième terme de la séquence ? Réfléchir étape par étape

    Le premier terme est 15.

    Le deuxième terme est b(1) * (-3) = 15 * (-3) = -45.

    Le troisième terme est b(2) * (-3) = -45 * (-3) = 135.

    Le quatrième terme est b(3) * (-3) = 135 * (-3) = -405.

    Essayez de spécifier le format de sortie

    Un problème courant est le besoin d'avoir un format spécifique pour la sortie du modèle (par exemple, Markdown, JSON, HTML), en particulier si celle-ci doit être ingérée par une tâche en aval. Vous pouvez essayer de produire un résultat dans ce format en demandant au modèle via la requête. Vous trouverez deux exemples ci-dessous :

    Requête Réponse de modèle

    Analysez le tableau de cette image au format Markdown

    | Objet | État | Heure | Date de début | Date limite |

    | ------- | ------ | ---- | --------- | ------ |

    | Mathématiques | OK | 1,5 heure | 29/11/2023 | 01/12/2023 |

    | Zone géographique | OK | 30 min | 02/12/2023 | 04/12/2023 |

    | Physique | En cours | 2 heures | 3/12/2023 | 5/12/2023 |

    | Biologie | Non commencé | 6 heures | 02/11/2016 | 06/12/2023 |

    Prompt (Requête) Réponse de modèle

    Fournissez la liste de tous les attributs suivants :

    ingrédients, type de cuisine, végétarien ou non, au format JSON

    ```json```

    {

    "ingredients": [

    "rice",

    "shrimp",

    "clams",

    "mussels",

    "peas",

    "tomatoes",

    "onions",

    "garlic",

    "olive oil",

    "paprika",

    "salt",

    "pepper"

    ],

    "type of cuisine": "Spanish",

    "vegetarian": false

    Utilisez votre image en premier pour les requêtes liées à une seule image

    Bien que Gemini puisse interpréter l'image et le texte dans n'importe quel ordre dans une requête, le fait de placer une seule image avant la requête de texte peut offrir de meilleurs résultats. Dans les exemples suivants, vous remarquerez que l'image ou la vidéo apparaît en premier avant le texte de chaque requête.

    Résoudre les problèmes liés à une requête multimodale

    Vous devrez peut-être résoudre les problèmes liés à votre requête si vous n'obtenez pas de réponse utile. Voici quelques stratégies à tester.

    Si le modèle n'extrait pas d'informations de la partie pertinente de l'image

    Pour obtenir une réponse plus spécifique, vous pouvez indiquer les aspects de l'image à partir desquels vous souhaitez que la requête extraie des informations pour éclairer sa réponse.

    Requête Réponse de modèle

    Combien de jours ces couches vont-elles durer avec un bébé ?

    Les couches vont durer 198 jours avant d'être épuisées.

    Requête mise à jour Réponse améliorée

    Combien de temps vont durer ces couches avant d'être épuisées ?

    Utilisez le poids indiqué sur la boîte pour déterminer l'âge de l'enfant et le nombre total de couches dans la boîte.

    Divisez le nombre total par le nombre de couches utilisées par l'enfant chaque jour.

    La boîte contient 198 couches. La boîte indique que les couches sont destinées à un enfant pesant entre 22 et 37 livres.

    L'enfant correspondant à cette plage de poids a probablement 1 à 2 ans.

    Un enfant de deux ans utilise généralement six couches par jour. Par conséquent, les couches vont durer environ 33 jours (198/6).

    Si les résultats du modèle sont trop génériques et ne sont pas suffisamment adaptés à l'entrée de type image ou vidéo

    Pour aider le modèle à adapter sa réponse à l'image ou aux images, essayez de lui demander de décrire les images avant d'effectuer sa tâche de raisonnement.

    Requête Réponse de modèle

    Quel est le point commun entre ces images ?

    Les quatre images sont des exemples de photographies de paysage.

    Requête mise à jour Réponse améliorée

    Commencez par décrire en détail le contenu de chaque image. Quel est le point commun entre ces images ?

    La première image montre une personne préparant une valise. La deuxième image montre un couloir vide dans un centre commercial. La troisième image montre un rouleau de papier toilette. La quatrième image montre une mer sombre et orageuse.

    Le point commun de ces images est qu'elles sont toutes des exemples d'espaces liminaux. Les espaces liminaux sont des lieux ou des situations situés entre deux autres lieux ou situations. Ils sont souvent caractérisés par un sentiment d'incertitude ou d'ambiguïté.

    La première image montre la personne entre chez elle et en voyage. La deuxième image montre le couloir entre deux magasins. La troisième image montre du papier toilette, ce qui peut représenter une salle de bain. Une salle de bain est un espace de transition entre les domaines privé et public. C'est un endroit où nous nous préparons à pénétrer ou à quitter le monde extérieur.

    La quatrième image montre la mer entre le calme et la tempête.

    Les espaces liminaux peuvent être à la fois intéressants et étranges. Ils peuvent constituer un début ou une fin. Ils peuvent représenter un lieu de réflexion ou d'action.

    Vous pouvez également essayer de demander explicitement au modèle de faire référence au contenu de l'image.

    Requête mise à jour Réponse améliorée

    Quel est le point commun entre ces images ? Reportez-vous au contenu des images dans votre réponse.

    Toutes les images sont liées au voyage. La première image montre une personne préparant une valise, la deuxième montre un couloir vide dans un centre commercial, la troisième une pile de rouleaux de papier toilette, et la quatrième image montre une mer sombre et orageuse.

    Ces images sont toutes liées au voyage, car elles correspondent à tout ce dont les gens ont besoin ou utilisent lorsqu'ils voyagent. La première image montre une personne préparant une valise. C'est une chose que font les personnes qui partent en voyage. La deuxième image montre un couloir vide dans un centre commercial. C'est un lieu où les gens se rendent pour acheter les articles dont ils ont besoin pour leur voyage. La troisième image montre une pile de rouleaux de papier toilette. C'est quelque chose que les gens utilisent lorsqu'ils voyagent. La quatrième image montre une mer sombre et orageuse. C'est ce que les gens rencontrent souvent lorsqu'ils voyagent.

    Il en va de même pour les sorties créatives issues des images ou des vidéos. Dans l'exemple suivant, avec le lapin, demandez explicitement au modèle d'inclure certains aspects de l'image pouvant améliorer le résultat.

    Requête Réponse de modèle

    Peux-tu m'écrire un poème sur cette image ?

    Petit lapin, si doux et marron,
    Sautant à travers champ, de haut en bas.
    Tes oreilles sont si longues, ta queue si petite,
    tu es la créature la plus mignonne de toutes.

    Tu grignotes l'herbe, si verte et douce,
    et tu sautes lorsque tu me vois.
    Mais je serai toujours ton ami,
    Petit lapin, jusqu'à la fin.

    Requête mise à jour Réponse améliorée

    Peux-tu m'écrire un poème descriptif et théâtral sur cette image et y inclure le lieu ?

    Petit lapin sur la pelouse,
    Les oreilles sont si longues, si fines.
    Que vois-tu là-bas,
    Au loin, là où tu regardes ?

    Est-ce le bleu de l'océan,
    Étincelant dans la lumière du soleil ?
    Ou les vagues qui s'écrasent et rugissent,
    Un rythme que tu adores ?

    Petit lapin, dis-moi la vérité,
    Qu'est-ce qui retient tant ton attention ?
    Est-ce la brise salée,
    ou les cris des mouettes qui supplient ?

    Peut-être est-ce toute cette immensité,
    un monde si grand et si petit à la fois.
    Un lieu où les rêves peuvent vagabonder
    et où les aventures peuvent être créées.

    Petit lapin, je me demande à quoi à quoi tu rêves,
    Quand tu es assis sur l'herbe, si serein.
    As-tu envie d'explorer les profondeurs,
    ou de rester sur la terre ferme, là où tu peux sauter ?

    Quoi qu'il en soit, petit lapin,
    Garde cette étincelle qui brille en toi.
    Car dans tes rêves et tes aspirations,
    se trouve un monde qui n'attend que d'être créé.

    Savoir quelle partie de la requête a échoué

    Il peut être difficile de savoir si une requête a échoué car le modèle n'a pas compris l'image avec laquelle commencer, ou s'il a compris l'image, mais n'a pas effectué les bonnes étapes de raisonnement.

    Pour faire la distinction entre les deux, demandez au modèle de décrire le contenu de l'image.

    Dans l'exemple ci-dessous, si le modèle répond avec un aliment qui ne semble pas correspondre au thé (par exemple, du pop-up), vous pouvez d'abord chercher à déterminer si le modèle a correctement reconnu que l'image contient du thé.

    Requête Inviter l'utilisateur à résoudre le problème

    Quel aliment puis-je préparer en une minute qui pourrait être associé à cela ?

    Décris ce que tu vois sur cette image.

    Une autre stratégie consiste à demander au modèle d'expliquer son raisonnement. Cela peut vous aider à déterminer la partie du raisonnement qui a échoué, le cas échéant.

    Requête Inviter l'utilisateur à résoudre le problème

    Quel aliment puis-je préparer en une minute qui pourrait être associé à cela ?

    Quel aliment puis-je préparer en une minute qui pourrait être associé à cela ? Merci d'indiquer pour quelle raison.

    Régler les paramètres d'échantillonnage

    Dans chaque requête, vous envoyez non seulement la requête multimodale, mais aussi un ensemble de paramètres d'échantillonnage au modèle. Le modèle peut générer différents résultats pour différentes valeurs de paramètre. Testez les différents paramètres pour obtenir les meilleures valeurs pour la tâche. Les paramètres les plus couramment ajustés sont les suivants :

    • Température
    • top-P
    • top-K

    Température

    La température est utilisée pour l'échantillonnage lors de la génération de la réponse, ce qui se produit lorsque les paramètres top-p et top-k sont appliqués. La température permet de contrôler le degré de hasard dans la sélection des jetons. Des températures basses sont idéales pour les requêtes qui nécessitent une réponse plus déterministe et moins ouverte ou créative, tandis que des températures plus élevées peuvent entraîner des résultats plus diversifiés ou créatifs. Une température de 0 est déterministe, ce qui signifie que la réponse dont la probabilité est la plus élevée est toujours sélectionnée.

    Dans la plupart des cas, essayez de démarrer avec une température de 0,4. Si vous avez besoin de résultats plus créatifs, essayez d'augmenter la température. Si vous observez des incohérences évidentes, essayez de réduire la température.

    Top-K

    Top-K modifie la façon dont le modèle sélectionne les jetons pour la sortie. Une valeur top-K de 1 signifie que le prochain jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage glouton), tandis qu'une valeur top-K de 3 signifie que le jeton suivant est sélectionné parmi les trois jetons les plus probables à l'aide de la température.

    Pour chaque étape de sélection des jetons, les jetons top-K ayant les plus fortes probabilités sont échantillonnés. Les jetons sont ensuite filtrés en fonction du top-P avec le jeton final sélectionné à l'aide de l'échantillonnage de température.

    Spécifiez une valeur inférieure pour obtenir des réponses moins aléatoires et une valeur supérieure pour des réponses plus aléatoires. La valeur par défaut de "top-K" est de 32.

    Top-P

    Top-P modifie la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés en partant de la probabilité la plus forte (voir top-K) à la plus basse, jusqu'à ce que la somme de leurs probabilités soit égale à la valeur top-P. Par exemple, si les jetons A, B et C ont une probabilité de 0,6, 0,3 et 0,1 et que la valeur de top-P est 0,9, le modèle sélectionne A ou B comme jeton suivant à l'aide de la température et exclut le jeton C comme candidat.

    Spécifiez une valeur inférieure pour obtenir des réponses moins aléatoires et une valeur supérieure pour des réponses plus aléatoires. La valeur par défaut de "top-P" est de 1,0.

    Étape suivante