Processo di richiesta
Per utilizzare Claude Messages API, puoi prima andare alla pagina Claude Messages API e cliccare sul pulsante “Acquire” per ottenere le credenziali necessarie per la richiesta:
Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla pagina di login che ti invita a registrarti e accedere; dopo aver effettuato il login o la registrazione, verrai automaticamente riportato alla pagina corrente.
Alla prima richiesta, verrà offerto un credito gratuito, che ti consente di utilizzare gratuitamente questa API.
Utilizzo di base
Il percorso di richiesta per Claude Messages API è/v1/messages, mantenendo la coerenza con l’API ufficiale di Anthropic. Dobbiamo fornire almeno tre parametri obbligatori:
model: seleziona il modello Claude da utilizzare, comeclaude-opus-4-20250514,claude-sonnet-4-20250514, ecc.messages: array di messaggi in input, ogni messaggio contienerole(ruolo) econtent(contenuto), doverolesupportausereassistant.max_tokens: numero massimo di token in output, utilizzato per limitare la lunghezza della risposta singola.
system: prompt di sistema, utilizzato per impostare il comportamento e il ruolo del modello.temperature: casualità nella generazione, tra 0 e 1, valori più alti producono risposte più disperse.stream: se utilizzare la risposta in streaming, impostato sutrueper ottenere un effetto di restituzione parola per parola.stop_sequences: sequenze di arresto personalizzate, il modello smetterà di generare quando incontra questi testi.top_p: parametro di campionamento nucleare, in combinazione con la temperatura per controllare la casualità della generazione.top_k: campiona solo tra le K opzioni con la probabilità più alta.tools: definizione degli strumenti, per consentire al modello di chiamare funzioni esterne.tool_choice: controlla come il modello utilizza gli strumenti forniti.
Esempio cURL
Esempio Python
id: identificatore unico per questo messaggio.type: sempremessage.role: sempreassistant.content: array di contenuti di risposta, ogni elemento contienetype(cometext) e il contenuto corrispondente.model: nome del modello che ha elaborato la richiesta.stop_reason: motivo dell’arresto, i valori possibili includonoend_turn(fine normale),max_tokens(raggiunta la lunghezza massima),stop_sequence(incontro con la sequenza di arresto),tool_use(chiamata a strumenti).stop_sequence: se l’arresto è avvenuto a causa di una sequenza di arresto personalizzata, mostra il testo della sequenza di arresto corrispondente.usage: statistiche sull’uso dei token, che includonoinput_tokens(numero di token in input) eoutput_tokens(numero di token in output).
Prompt di sistema
Claude Messages API supporta la definizione di prompt di sistema tramite il camposystem, utilizzato per definire il comportamento, il ruolo e il contesto del modello.
Esempio Python
system, è possibile controllare con precisione il ruolo e il comportamento di Claude.
Risposta in streaming
Questa interfaccia supporta anche la risposta in streaming; impostando il parametrostream su true, è possibile ottenere un effetto di restituzione graduale, molto adatto per implementare la visualizzazione parola per parola in una pagina web.
Esempio Python
event: e data:. I tipi di eventi in streaming includono:
message_start: inizio del messaggio, contiene le informazioni di base del messaggio e il nome del modello.content_block_start: inizio del blocco di contenuto.content_block_delta: aggiornamento incrementale del blocco di contenuto, contiene nuovi frammenti di testo generati.content_block_stop: fine del blocco di contenuto.message_delta: aggiornamento incrementale a livello di messaggio, contienestop_reasone informazioni finali suusage.message_stop: fine del messaggio.
content_block_delta nella risposta in streaming contiene il testo generato passo dopo passo, unendo tutti i text_delta si può ottenere la risposta completa.
Esempio JavaScript
Conversazione multipla
Se desideri integrare la funzionalità di conversazione multipla, devi alternare i messaggi dei ruoliuser e assistant nell’array messages, includendo la cronologia della conversazione precedente.
Esempio Python
messages, Claude può fornire risposte accurate in base al contesto.
Modello di pensiero profondo
Claude supporta la funzionalità di Pensiero Esteso, che consente al modello di effettuare un ragionamento interno prima di rispondere, migliorando l’accuratezza nella gestione di problemi complessi. Per utilizzare questa funzionalità, è necessario inviare il parametrothinking.
Esempio Python
content contiene due blocchi di contenuto:
type: "thinking": il processo di pensiero interno del modello, che mostra i passaggi di ragionamento.type: "text": il risultato finale della risposta.
- Quando si utilizza
thinking,max_tokensdeve essere maggiore dibudget_tokens, poichébudget_tokensè il budget di token assegnato al processo di pensiero. - Maggiore è
budget_tokens, maggiore è lo spazio per un ragionamento più profondo del modello, adatto per affrontare problemi complessi.
Modello visivo
Claude supporta input multimodali, in grado di gestire contemporaneamente testo e immagini. Nella Messages API, è possibile utilizzare le capacità visive impostandocontent in formato array e includendo i blocchi di contenuto dell’immagine.
Utilizzo di immagini codificate in Base64
Utilizzo di immagini da URL
cURL 示例
image/jpeg, image/png, image/gif, image/webp.
Esempio di risultato restituito:
Utilizzo degli strumenti (Tool Use)
L’API dei messaggi di Claude supporta nativamente la funzionalità di chiamata degli strumenti, consentendo al modello di chiamare strumenti/funzioni predefiniti quando necessario.Esempio Python
tool_use:
stop_reason è tool_use, il che indica che il modello ha bisogno di chiamare uno strumento. Dopo aver ricevuto questo risultato, è necessario eseguire la funzione dello strumento e restituire il risultato al modello sotto forma di tool_result:
Differenze con l’API di completamento chat
Ace Data Cloud offre due formati di API Claude, le principali differenze sono le seguenti:| Caratteristica | API dei messaggi (/v1/messages) | API di completamento chat (/v1/chat/completions) |
|---|---|---|
| Formato | Formato nativo di Anthropic | Formato compatibile con OpenAI |
| Prompt di sistema | Campo system indipendente | Passato tramite role: "system" in messages |
| Struttura della risposta | Array content (supporta più tipi) | Array choices (contiene message) |
| Formato streaming | Eventi SSE (diversi tipi di eventi) | Righe SSE data |
| Pensiero profondo | Parametro thinking nativo | Attivato tramite nomi di modelli speciali (es. suffisso -thinking) |
| Chiamata di strumenti | tools nativi + input_schema | Formato functions compatibile con OpenAI |
| Statistiche sui token | input_tokens / output_tokens | prompt_tokens / completion_tokens |
Gestione degli errori
Quando si chiama l’API, se si verifica un errore, l’API restituirà il codice di errore e le informazioni corrispondenti. Ad esempio:400 token_mismatched: Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.400 api_not_implemented: Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.401 invalid_token: Non autorizzato, token di autorizzazione non valido o mancante.429 too_many_requests: Troppe richieste, hai superato il limite di frequenza.500 api_error: Errore interno del server, qualcosa è andato storto sul server.

