Cette page décrit le formatage des requêtes et les instructions système pour les modèles PaliGemma. Ces variantes de modèles Gemma utilisent le même formatage général que les modèles de base Gemma, et sont également compatibles avec une syntaxe spéciale pour des tâches spécifiques liées aux images.
Format de requête
Les modèles PaliGemma utilisent le même format d'invite que les modèles de base Gemma sur lesquels ils sont basés. Toutefois, les modèles PaliGemma sont également compatibles avec une syntaxe de tâche spéciale, décrite dans la section suivante. Pour en savoir plus sur la mise en forme des requêtes Gemma, consultez la section Invite Gemma et instructions système.
Ordre des données image et texte
Lorsque vous fournissez des données textuelles et d'image aux modèles PaliGemma, les données d'image doivent toujours être fournies en premier, puis les données de requête textuelle. Inverser l'ordre des données des requêtes d'image et de texte, ou mélanger les données d'image et de texte génère généralement des réponses inutilisables.
Syntaxe de la tâche d'invite
Les modèles PaliGemma sont entraînés avec des modèles et une syntaxe d'invite spécifiques pour des tâches telles que l'identification d'objets et le sous-titrage d'images. Vous pouvez utiliser cette syntaxe de tâche d'invite pour demander un comportement spécifique aux modèles PaliGemma, comme suit:
"cap {lang}\n"
:courte légende très brute (de WebLI-alt)"caption {lang}\n"
:sous-titres courts de qualité, comme ceux de COCO"describe {lang}\n"
:sous-titres un peu plus longs et plus descriptifs"ocr"
:reconnaissance optique des caractères"answer {lang} {question}\n"
:système de questions/réponses sur le contenu des images"question {lang} {answer}\n"
:génération de questions pour une réponse donnée"detect {object} ; {object}\n"
:permet de localiser les objets listés dans une image et de renvoyer les cadres de délimitation de ces objets."segment {object}\n"
:permet de localiser la zone occupée par l'objet dans une image afin de créer une segmentation d'image pour cet objet.
Les options {lang}
sont destinées aux codes de langue. Avec cette option, PaliGemma prend en charge la reconnaissance de 34 langues différentes pour les invites de tâche. Vous trouverez la liste des langues acceptées sur GitHub.
Pour obtenir des exemples de code détaillés montrant comment utiliser cette syntaxe, consultez le tutoriel Générer une sortie PaliGemma avec Keras.
Commandes d'invite groupées
Vous pouvez fournir plusieurs commandes d'invite dans une même invite en tant que lot d'instructions. Chaque commande d'invite doit se terminer par un caractère \n
. L'exemple suivant montre comment structurer le texte de votre requête pour fournir plusieurs instructions.
prompts = [
'answer en where is the cow standing?\n',
'answer en what color is the cow?\n',
'describe en\n',
'detect cow\n',
'segment cow\n',
]
images = [cow_image, cow_image, cow_image, cow_image, cow_image]
outputs = paligemma.generate(
inputs={
"images": images,
"prompts": prompts,
}
)
for output in outputs:
print(output)
Instructions système
Les modèles PaliGemma ne sont compatibles avec aucune instruction système supplémentaire au-delà des instructions système Gemma des modèles de base sur lesquels ils sont basés.