Prompts multimodaux avec images
Capacites vision
La famille Claude 3 et au-dela possede des capacites de vision qui permettent de comprendre et d’analyser des images. Vous pouvez fournir a la fois du texte et des images dans vos prompts.
Format des messages avec images
Le content d’un message peut etre une liste de blocs :
messages = [
{
"role": "user",
"content": [
{"type": "text", "text": "Raconte-moi une histoire"},
]
}
]
Pour inclure une image, ajoutez un bloc de type image :
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "<donnees_base64>"
}
}
]
}
]
Les formats supportes sont : image/jpeg, image/png, image/gif et image/webp.
Encoder une image locale
import base64
with open("mon_image.jpg", "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
Image seule vs image + texte
Vous pouvez envoyer une image sans texte — Claude la decrira automatiquement. Pour des resultats plus precis, combinez image et texte :
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": image_data
}
},
{"type": "text", "text": "Decris cette image en detail."}
]
}
]
Plusieurs images
Ajoutez simplement plusieurs blocs image dans le content. Conseil pratique : avec certains modeles, labellisez chaque image avec un bloc texte (“Image 1”, “Image 2”, etc.) pour de meilleurs resultats.
Images depuis une URL
Pour des images distantes, recuperez-les avec une bibliotheque HTTP puis encodez-les :
import httpx
import base64
url = "https://example.com/image.jpg"
image_bytes = httpx.get(url).content
image_data = base64.standard_b64encode(image_bytes).decode("utf-8")
Fonction helper
Pour simplifier le travail repetitif, creez une fonction utilitaire :
import base64
import mimetypes
def image_block_from_path(path):
mime_type = mimetypes.guess_type(path)[0]
with open(path, "rb") as f:
data = base64.standard_b64encode(f.read()).decode("utf-8")
return {
"type": "image",
"source": {
"type": "base64",
"media_type": mime_type,
"data": data
}
}
Bonnes pratiques pour la vision
Soyez specifique
Comme pour les prompts texte, la precision ameliore les resultats. Au lieu de simplement demander “combien de personnes ?”, guidez Claude :
- Demandez-lui de reflechir etape par etape
- Precisez qu’il est un expert en comptage
- Mentionnez les cas limites (personnes partiellement visibles)
Utilisez des exemples
Le few-shot prompting fonctionne aussi avec les images. Fournissez un exemple d’image + reponse attendue dans l’historique de conversation, puis envoyez la nouvelle image a analyser.
Exercice
Utilisez Claude pour transcrire et resumer un document en images :
- Envoyez chaque page a Claude pour transcription
- Combinez les transcriptions
- Demandez a Claude un resume non technique du document complet