Chargement

Prise en charge des images

Leçon 439 min

Les capacités de vision de Claude vous permettent d'inclure des images dans vos messages et de demander à Claude d'analyser, de comparer, de compter des objets, ou d'effectuer pratiquement toute tâche visuelle que vous pouvez imaginer. Cela ouvre des possibilités puissantes pour des applications allant de l'analyse de documents aux évaluations automatisées.

Principes de base de la gestion des images

Lorsque vous travaillez avec des images dans Claude, vous devez comprendre quelques limitations clés :

  • Jusqu'à 20 images sur l'ensemble des messages dans une seule requête
  • Taille maximale de 3,75 Mo
  • Hauteur/largeur maximale de 8000 px
  • Chaque image compte pour un certain nombre de tokens : tokens = ⌈largeur / 28⌉ × ⌈hauteur / 28⌉

Pour inclure une image, vous l'ajoutez comme un autre type de partie de message. Pour chaque image que vous souhaitez envoyer, vous incluez une partie image dans votre message utilisateur. La structure ressemble à ceci :

python
with open("image.png", "rb") as f:
    image_bytes = f.read()

add_user_message(messages, [
    {
        "image": {
            "format": "png",
            "source": {"bytes": image_bytes}
        }
    },
    {"text": "What do you see in this image?"}
])

Images multiples

Vous pouvez envoyer plusieurs images dans un seul message en ajoutant plusieurs parties image. Claude peut alors analyser les relations entre les images, les comparer, ou répondre à des questions qui nécessitent de comprendre plusieurs entrées visuelles.

Techniques de prompting

L'élément le plus important à comprendre concernant les capacités de vision de Claude est que toutes les mêmes techniques d'ingénierie de prompt s'appliquent aux images. Vous pouvez augmenter considérablement la précision visuelle de Claude en fournissant des directives, des étapes d'analyse, ou en utilisant des exemples one-shot/multi-shot.

Par exemple, au lieu de simplement demander « Combien de billes y a-t-il dans cette image ? », vous pouvez fournir une approche structurée :

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?

Une autre technique efficace est le prompting one-shot, où vous fournissez une image d'exemple avec l'analyse correcte avant de demander à Claude d'analyser votre image cible :

Exemple concret : évaluations des risques d'incendie

Une application pratique des capacités de vision de Claude est l'évaluation automatisée des risques d'incendie pour les compagnies d'assurance. Au lieu d'envoyer des inspecteurs sur chaque propriété, les entreprises peuvent utiliser des images satellite haute résolution et demander à Claude d'évaluer les risques d'incendie.

Le système peut analyser plusieurs facteurs clés :

  • Arbres denses et rapprochés près de la résidence
  • Voies d'accès difficiles pour les véhicules d'urgence
  • Branches surplombant la résidence
  • Densité et espacement global des arbres

Voici comment vous pourriez structurer une telle analyse :

python
with open('./images/prop7.png', 'rb') as f:
    image_bytes = f.read()

messages = []

add_user_message(messages, [
    {"image": {"format": "png", "source": {"bytes": image_bytes}}},
    {"text": prompt}
])

response = chat(messages)

La clé du succès avec ce type d'analyse visuelle complexe est de fournir des prompts détaillés et structurés qui guident Claude à travers des étapes d'analyse spécifiques plutôt que de demander une simple évaluation.

Rappelez-vous : lorsque vous travaillez avec des images, ne tombez pas dans le piège d'utiliser des prompts simples. Appliquez les mêmes techniques d'ingénierie de prompt que vous avez apprises pour les interactions basées sur du texte afin d'améliorer considérablement la précision de l'analyse visuelle de Claude.