La famiglia di modelli Claude 3 è dotata di nuove capacità di visione che permettono a Claude di comprendere e analizzare le immagini, aprendo interessanti possibilità di interazione multimodale. Con Claude, ora puoi fornire input sia testuali che visivi per arricchire le tue conversazioni e abilitare nuovi potenti casi d’uso.

Modelli con capacità di visione

Non è necessario utilizzare versioni speciali dei nostri modelli Claude 3 per accedere alle capacità di visione di Claude. Tutti i modelli Claude 3 sono in grado di comprendere e analizzare le immagini.

Questa guida ti illustrerà come lavorare con le immagini in Claude, incluse le best practice, esempi di codice e limitazioni da tenere a mente.

Prova subito a chattare con le immagini su claude.ai!


Per iniziare

Attualmente, puoi utilizzare le capacità di visione di Claude in tre modi:

  • Direttamente tramite claude.ai nella finestra di chat. Basta caricare un’immagine come faresti con un file, o trascinare e rilasciare un’immagine direttamente nella finestra!
  • Tramite la nostra Console Workbench. Se selezioni un modello che accetta immagini (solo modelli Claude 3), apparirà un pulsante per aggiungere immagini in alto a destra di ogni blocco di messaggio User.
  • Tramite richiesta API - vedi istruzioni di seguito.

Per questa guida, useremo l’SDK Python di Anthropic e le seguenti variabili di esempio. Recupereremo immagini di esempio da Wikipedia usando la libreria httpx, ma puoi usare qualsiasi sorgente di immagini che funzioni per te.

Python
import anthropic
import base64
import httpx

client = anthropic.Anthropic()

image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.b64encode(httpx.get(image1_url).content).decode("utf-8")

image2_url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg"
image2_media_type = "image/jpeg"
image2_data = base64.b64encode(httpx.get(image2_url).content).decode("utf-8")

Per utilizzare le immagini quando fai una richiesta API, puoi fornire le immagini a Claude come immagini codificate in base64 nei blocchi di contenuto image. Ecco un semplice esempio in Python che mostra come includere un’immagine codificata in base64 in una richiesta all’API Messages:

Python

= client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Descrivi questa immagine."
                }
            ],
        }
    ],
)
print(message)

I formati di immagine supportati sono JPEG, PNG, GIF e WebP. Vedi gli esempi dell’API Messages per ulteriori esempi di codice e dettagli sui parametri.


Dimensioni dell’immagine

Per prestazioni ottimali, consigliamo di ridimensionare le immagini prima di caricarle se è probabile che superino i limiti di dimensione o token. Se il lato lungo dell’immagine supera i 1568 pixel o l’immagine è più di ~1600 token, verrà prima ridimensionata, mantenendo le proporzioni, finché non rientra nei limiti di dimensione. Se l’immagine di input è troppo grande e deve essere ridimensionata, aumenterà la latenza del time-to-first-token, senza fornire alcuna prestazione aggiuntiva del modello. Immagini molto piccole sotto i 200 pixel su qualsiasi lato possono portare a prestazioni degradate.

Se vuoi migliorare il time-to-first-token, consigliamo di ridimensionare le immagini a non più di 1,15 megapixel (e entro 1568 pixel in entrambe le dimensioni).

Ecco una tabella delle dimensioni massime delle immagini accettate dalla nostra API che non verranno ridimensionate per i rapporti d’aspetto comuni. Tutte queste immagini approssimano a circa ~1600 token e ~$4,80/1000 immagini (supponendo l’uso di Claude 3 Sonnet):

Rapporto d’aspettoDimensioni immagine
1:11092x1092 px
3:4951x1268 px
2:3896x1344 px
9:16819x1456 px
1:2784x1568 px

Best practice per le immagini

Quando fornisci immagini a Claude, tieni a mente le seguenti linee guida per ottenere i migliori risultati:

  • Chiarezza dell’immagine: Assicurati che le tue immagini siano chiare e non troppo sfocate o pixelate. Claude potrebbe avere difficoltà a interpretare accuratamente immagini poco chiare o di bassa qualità.
  • Posizionamento dell’immagine: Proprio come con il posizionamento documento-query, Claude funziona meglio quando le immagini vengono prima del testo. Le immagini posizionate dopo il testo o interpolate con il testo funzioneranno comunque bene, ma se il tuo caso d’uso lo consente, consigliamo una struttura immagine-poi-testo. Vedi i suggerimenti per il prompting visivo per ulteriori dettagli.
  • Testo: Se la tua immagine contiene testo importante, assicurati che sia leggibile e non troppo piccolo. Tuttavia, evita di ritagliare il contesto visivo chiave solo per ingrandire il testo.
  • Immagini multiple: Puoi includere più immagini in una singola richiesta (fino a 5 per claude.ai e 20 per le richieste API). Claude analizzerà tutte le immagini fornite quando formulerà la sua risposta. Questo può essere utile per confrontare o contrastare le immagini.

Vedi le limitazioni per ulteriori dettagli e linee guida.


Suggerimenti per il prompting

Molte delle tecniche di prompting che funzionano bene per le interazioni basate su testo con Claude possono essere applicate anche ai prompt basati su immagini. Vedi il nostro ricettario multimodale per una panoramica delle tecniche di elaborazione delle immagini e dei casi d’uso, completi di tecniche e strategie di prompting di accompagnamento.

Di seguito sono riportate alcune strutture di prompt di esempio di best practice che coinvolgono immagini. In generale, è meglio posizionare le immagini prima nel prompt rispetto alle domande su di esse o alle istruzioni per le attività che le utilizzano, e in situazioni in cui ci sono più immagini, introdurre ogni immagine con Immagine 1: e Immagine 2: e così via. Non è necessario inserire nuove righe tra le immagini o tra le immagini e il prompt.

1. Esempio: Un’immagine

Ecco la struttura del prompt:

RuoloContenuto
User[Immagine] Descrivi questa immagine.

Ecco la chiamata API corrispondente:

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Descrivi questa immagine."
                }
            ],
        }
    ],
)

2. Esempio: Immagini multiple

Ecco la struttura del prompt:

RuoloContenuto
UserImmagine 1: [Immagine 1] Immagine 2: [Immagine 2] In cosa differiscono queste immagini?

Ecco la chiamata API corrispondente:

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Immagine 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Immagine 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "In cosa differiscono queste immagini?"
                }
            ],
        }
    ],
)

3. Esempio: Immagini multiple con un prompt di sistema

Ecco la struttura del prompt:

Contenuto
SystemRispondi solo in spagnolo.
UserImmagine 1: [Immagine 1] Immagine 2: [Immagine 2] In cosa differiscono queste immagini?

Ecco la chiamata API corrispondente:

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    system="Rispondi solo in spagnolo.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Immagine 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Immagine 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "In cosa differiscono queste immagini?"
                }
            ],
        }
    ],
)

4. Esempio: Quattro immagini in due turni di conversazione

Le capacità di visione di Claude brillano davvero nelle conversazioni multimodali che mescolano sia immagini che testo. Puoi portare avanti scambi estesi avanti e indietro con Claude, aggiungendo nuove immagini o domande di follow-up in qualsiasi momento. Questo abilita potenti flussi di lavoro per l’analisi iterativa delle immagini, il confronto o la combinazione di elementi visivi con altre conoscenze.

Ecco un esempio di struttura di prompt:

RuoloContenuto
UserImmagine 1: [Immagine 1] Immagine 2: [Immagine 2] In cosa differiscono queste immagini?
Assistant[Risposta di Claude]
UserImmagine 1: [Immagine 3] Immagine 2: [Immagine 4] Queste immagini sono simili alle prime due?
Assistant[Risposta di Claude]

Quando usi l’API, inserisci semplicemente nuove immagini nell’array di Messages nel ruolo user come parte di qualsiasi struttura standard di conversazione a più turni.


Costi delle immagini

Ogni immagine che includi in una richiesta a Claude conta per il tuo utilizzo di token. Per calcolare il costo approssimativo, moltiplica il numero approssimativo di token dell’immagine per il prezzo per token del modello che stai usando. Puoi trovare i dettagli sui prezzi dei modelli sulla nostra pagina dei prezzi.

Supponendo che la tua immagine non debba essere ridimensionata, puoi stimare il numero di token utilizzati tramite questo semplice algoritmo:

token = (larghezza px * altezza px)/750

Ecco alcuni esempi di tokenizzazione approssimativa e costi per diverse dimensioni di immagine entro i vincoli di dimensione della nostra API, supponendo l’uso di Claude 3 Sonnet a $3 per milione di token di input:

Dimensioni immagine# di TokenCosto / immagineCosto / 1000 immagini
200x200 px(0,04 megapixel)~54~$0,00016~$0,16
1000x1000 px(1 megapixel)~1334~$0,004~$4,00
1092x1092 px(1,19 megapixel)~1590~$0,0048~$4,80

Limitazioni

Sebbene le capacità di comprensione delle immagini di Claude siano all’avanguardia, ci sono alcune limitazioni di cui essere consapevoli:

  • Identificazione delle persone: Claude non può essere utilizzato per identificare (cioè nominare) le persone nelle immagini e si rifiuterà di farlo.
  • Precisione: Claude potrebbe avere allucinazioni o commettere errori quando interpreta immagini di bassa qualità, ruotate o molto piccole sotto i 200 pixel.
  • Ragionamento spaziale: Le capacità di ragionamento spaziale di Claude sono limitate. Potrebbe avere difficoltà con compiti che richiedono una localizzazione o disposizioni precise, come leggere il quadrante di un orologio analogico o descrivere le posizioni esatte dei pezzi degli scacchi.
  • Conteggio: Claude può fornire conteggi approssimativi di oggetti in un’immagine ma potrebbe non essere sempre precisamente accurato, specialmente con un gran numero di piccoli oggetti.
  • Immagini generate dall’AI: Claude non sa se un’immagine è generata dall’AI e potrebbe sbagliarsi se gli viene chiesto. Non fare affidamento su di esso per rilevare immagini false o sintetiche.
  • Contenuti inappropriati: Claude non elaborerà immagini inappropriate o esplicite che violano la nostra Politica di utilizzo accettabile.
  • Applicazioni sanitarie: Sebbene Claude possa analizzare immagini mediche generali, non è progettato per interpretare scansioni diagnostiche complesse come TC o MRI. Gli output di Claude non devono essere considerati un sostituto di una consulenza o diagnosi medica professionale.

Rivedi e verifica sempre attentamente le interpretazioni delle immagini di Claude, specialmente per casi d’uso ad alto rischio. Non utilizzare Claude per attività che richiedono una precisione perfetta o un’analisi delle immagini sensibile senza supervisione umana.


FAQ

Quali tipi di file immagine supporta Claude?

Claude attualmente supporta i formati di immagine JPEG, PNG, GIF e WebP, in particolare image/jpeg, image/png, image/gif e image/webp.

Claude può leggere gli URL delle immagini?

Claude non può leggere gli URL delle immagini su nessuna interfaccia, incluso claude.ai. La nostra API attualmente non supporta l’aggiunta di URL nei blocchi text o image. L’aggiunta di URL di immagini (o URL di qualsiasi tipo) nel blocco text potrebbe causare allucinazioni di Claude, poiché Claude attualmente non è in grado di recuperare informazioni da quell’URL.

C’è un limite alla dimensione del file immagine che posso caricare?

Sì, la dimensione massima consentita del file immagine è di 5 MB per immagine (10 MB per immagine su claude.ai). Le immagini più grandi di 5 MB verranno rifiutate e restituiranno un errore quando si utilizza la nostra API.

Quante immagini posso includere in una singola richiesta?

Puoi includere fino a 20 immagini in una singola richiesta tramite l’API Messages. Puoi includere fino a 5 immagini per turno su claude.ai. I conteggi di immagini superiori a quel limite verranno rifiutati e restituiranno un errore quando si utilizza la nostra API.

Claude legge i metadati delle immagini?

No, Claude non analizza né riceve alcun metadato dalle immagini che gli vengono passate.

Posso eliminare le immagini che ho caricato?

No. Inoltre, i caricamenti di immagini sono effimeri e non vengono memorizzati oltre la durata della richiesta API. Le immagini caricate vengono automaticamente eliminate dopo essere state elaborate.

Dove posso trovare maggiori dettagli sulla privacy dei dati e sulla sicurezza per i caricamenti di immagini?

Fai riferimento alla nostra pagina informativa sulla privacy per informazioni su come gestiamo le immagini caricate e altri dati. Non utilizziamo le immagini caricate per addestrare i nostri modelli.

Cosa devo fare se l’interpretazione dell’immagine di Claude sembra sbagliata?

Se ottieni un’interpretazione dell’immagine da Claude che sembra errata, prima controlla che l’immagine sia chiara, di alta qualità e orientata correttamente. Se il problema persiste, prova a migliorare i risultati impiegando tecniche di prompt engineering. Se il problema non può essere risolto, faccelo sapere contrassegnando l’output preoccupante direttamente in claude.ai tramite l’interfaccia pollice su / giù o contattando il nostro team di supporto. Il tuo feedback ci aiuta a migliorare!

Claude può generare, produrre, modificare, manipolare o creare immagini?

No, Claude è solo un modello di comprensione delle immagini. Può interpretare e analizzare le immagini, ma non può generare, produrre, modificare, manipolare o creare immagini.


Approfondisci la visione

Sei pronto per iniziare a costruire con le immagini usando Claude? Ecco alcune risorse utili:

Se hai altre domande, non esitare a contattare il nostro team di supporto. Puoi anche unirti alla nostra comunità di sviluppatori per connetterti con altri creatori e ottenere aiuto dagli esperti di Anthropic.

Siamo entusiasti di vedere cosa creerai con le potenti nuove capacità di visione di Claude!