Aller au contenu principal

Support des images

Les capacites de vision de Claude permettent d’inclure des images dans les messages et de lui demander de les analyser de multiples facons : description du contenu, comparaison d’images, comptage d’objets, analyse visuelle complexe, etc.

Limites et specifications techniques

Avant de commencer, voici les contraintes a connaitre :

ParametreLimite
Nombre max d’images par requete100 (tous messages confondus)
Taille max par image5 Mo
Dimensions max (1 seule image)8000 x 8000 px
Dimensions max (plusieurs images)2000 x 2000 px
Formats acceptesbase64 ou URL
Calcul des tokens(largeur px x hauteur px) / 750

Envoyer une image a Claude

Pour inclure une image, on ajoute un bloc image dans le message utilisateur, a cote des blocs texte. Voici la structure :

import base64

# Charger et encoder l'image en base64
with open("image.png", "rb") as f:
    image_bytes = base64.standard_b64encode(f.read()).decode("utf-8")

# Construire le message avec image + texte
add_user_message(messages, [
    # Bloc image
    {
        "type": "image",
        "source": {
            "type": "base64",
            "media_type": "image/png",
            "data": image_bytes,
        }
    },
    # Bloc texte
    {
        "type": "text",
        "text": "Que voyez-vous dans cette image ?"
    }
])

La conversation fonctionne exactement comme avec du texte seul : le serveur envoie un message utilisateur contenant les blocs image et texte, et Claude repond avec son analyse.

Techniques de prompting pour les images

La cle pour obtenir de bons resultats avec les images est d’appliquer les memes techniques de prompt engineering qu’avec le texte. Un prompt simple donne souvent des resultats mediocres.

Par exemple, demander simplement “Combien de billes y a-t-il dans cette image ?” peut renvoyer un compte incorrect.

On peut ameliorer nettement la precision en :

  • Fournissant des directives detaillees et des etapes d’analyse
  • Utilisant des exemples one-shot ou multi-shot
  • Decomposant les taches complexes en sous-etapes

Analyse etape par etape

Plutot qu’une question simple, on fournit a Claude une methodologie :

Analyze this image of marbles and determine the exact count using this methodology:
1. Begin by identifying each unique marble one at a time. Assign each a number
   as you identify it.
2. Verify your result by counting with a different method. Start from the
   bottom-left corner and work row by row, from left to right.

What is the exact, verified number of marbles in this image?

Exemples one-shot

On peut aussi ameliorer la precision en fournissant des exemples dans le message. On inclut une image avec un resultat connu, on donne la bonne reponse, puis on pose la question sur l’image cible. Cela donne a Claude un point de reference pour le type d’analyse attendu.

Cas pratique : evaluation du risque incendie

Voici une application concrete : l’automatisation des evaluations de risque incendie pour l’assurance habitation. Au lieu d’envoyer des inspecteurs sur chaque propriete, les assureurs peuvent utiliser des images satellite et l’analyse de Claude.

Le systeme analyse les images satellite pour identifier :

  • Vegetation dense et arbres serres pres de la residence
  • Acces difficiles pour les services d’urgence
  • Branches surplombant la residence

Plutot qu’un prompt simpliste (“donne un score de risque incendie”), un prompt bien structure decompose l’analyse en etapes specifiques :

Analyze the attached satellite image of a property with these specific steps:

1. Residence identification: Locate the primary residence on the property
   by looking for:
   - The largest roofed structure
   - Typical residential features (driveway connection, regular geometry)
   - Distinction from other structures (garages, sheds, pools)

2. Tree overhang analysis: Examine all trees near the primary residence:
   - Identify any trees whose canopy extends directly over any portion of
     the roof
   - Estimate the percentage of roof covered by overhanging branches
     (0-25%, 25-50%, 50-75%, 75%+)
   - Note particularly dense areas of overhang

3. Fire risk assessment: For any overhanging trees, evaluate:
   - Potential wildfire vulnerability (ember catch points, continuous fuel
     paths to structure)
   - Proximity to chimneys, vents, or other roof openings if visible
   - Areas where branches create a "bridge" between wildland vegetation
     and the structure

4. Defensible space identification: Assess the property's overall
   vegetative structure:
   - Identify if trees connect to form a continuous canopy over or near
     the home
   - Note any obvious fuel ladders (vegetation that can carry fire from
     ground to tree to roof)

5. Fire risk rating: Based on your analysis, assign a Fire Risk Rating
   from 1-4:
   - Rating 1 (Low Risk): No tree branches overhanging the roof, good
     defensible space
   - Rating 2 (Moderate Risk): Minimal overhang (<25% of roof), some
     separation between canopies
   - Rating 3 (High Risk): Significant overhang (25-50% of roof),
     connected canopies
   - Rating 4 (Severe Risk): Extensive overhang (>50% of roof), dense
     vegetation against structure

For each item above (1-5), write one sentence summarizing your findings,
with your final response being the numerical rating.

Ce prompt detaille guide Claude a travers une analyse systematique, ce qui donne des evaluations bien plus precises qu’une simple requete.

A retenir

Les memes techniques de prompting qui fonctionnent pour le texte s’appliquent aux images. Investissez du temps dans la redaction de prompts detailles et structures plutot que de vous reposer sur des questions simples si vous voulez des resultats fiables.

Exercice pratique
  1. Envoyez une image simple a Claude via l’API et demandez une description
  2. Testez avec un prompt simple vs un prompt structure sur la meme image
  3. Implementez un exemple one-shot : fournissez une image annotee puis demandez l’analyse d’une seconde image
  4. Creez un pipeline d’analyse d’images satellite (ou de photos produit) avec un prompt multi-etapes
  5. Mesurez l’impact du prompt engineering sur la qualite des reponses