Skip to content

Ollama offre compatibilità con l'API Messages di Anthropic per aiutare a collegare applicazioni esistenti a Ollama, compresi strumenti come Claude Code.

Utilizzo

Variabili d'ambiente

Per utilizzare Ollama con strumenti che si aspettano l'API Anthropic (come Claude Code), imposta queste variabili d'ambiente:

shell
export ANTHROPIC_AUTH_TOKEN=ollama  # obbligatoria ma ignorata
export ANTHROPIC_BASE_URL=http://localhost:11434

Esempio semplice di /v1/messages

Esempio di streaming

Esempio di chiamata a strumenti

Utilizzo con Claude Code

Claude Code può essere configurato per utilizzare Ollama come suo backend.

Modelli consigliati

Per casi d'uso relativi alla programmazione, sono consigliati modelli come glm-4.7, minimax-m2.1 e qwen3-coder.

Scarica un modello prima dell'uso:

shell
ollama pull qwen3-coder

Nota: Qwen 3 coder è un modello con 30B di parametri che richiede almeno 24GB di VRAM per funzionare senza problemi. È necessaria più memoria per lunghezze di contesto più elevate.

shell
ollama pull glm-4.7:cloud

Configurazione rapida

shell
ollama launch claude

Ti verrà chiesto di selezionare un modello, configurare automaticamente Claude Code e avviarlo. Per configurare senza avviare:

shell
ollama launch claude --config

Configurazione manuale

Imposta le variabili d'ambiente ed esegui Claude Code:

shell
ANTHROPIC_AUTH_TOKEN=ollama ANTHROPIC_BASE_URL=http://localhost:11434 claude --model qwen3-coder

Oppure imposta le variabili d'ambiente nel profilo della tua shell:

shell
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_BASE_URL=http://localhost:11434

Quindi esegui Claude Code con qualsiasi modello Ollama:

shell
claude --model qwen3-coder

Endpoint

/v1/messages

Funzionalità supportate

  • [x] Messaggi
  • [x] Streaming
  • [x] Prompt di sistema
  • [x] Conversazioni multi-turno
  • [x] Visione (immagini)
  • [x] Strumenti (chiamata di funzioni)
  • [x] Risultati degli strumenti
  • [x] Pensiero/pensiero esteso

Campi di richiesta supportati

  • [x] model
  • [x] max_tokens
  • [x] messages
    • [x] Contenuto testuale
    • [x] Contenuto immagine (base64)
    • [x] Array di blocchi di contenuto
    • [x] Blocchi tool_use
    • [x] Blocchi tool_result
    • [x] Blocchi thinking
  • [x] system (stringa o array)
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] top_k
  • [x] stop_sequences
  • [x] tools
  • [x] thinking
  • [ ] tool_choice
  • [ ] metadata

Campi di risposta supportati

  • [x] id
  • [x] type
  • [x] role
  • [x] model
  • [x] content (testo, blocchi tool_use, thinking)
  • [x] stop_reason (end_turn, max_tokens, tool_use)
  • [x] usage (input_tokens, output_tokens)

Eventi di streaming

  • [x] message_start
  • [x] content_block_start
  • [x] content_block_delta (text_delta, input_json_delta, thinking_delta)
  • [x] content_block_stop
  • [x] message_delta
  • [x] message_stop
  • [x] ping
  • [x] error

Modelli

Ollama supporta sia modelli locali che modelli cloud.

Modelli locali

Scarica un modello locale prima dell'uso:

shell
ollama pull qwen3-coder

Modelli locali consigliati:

  • qwen3-coder - Eccellente per compiti di programmazione
  • gpt-oss:20b - Modello generale performante

Modelli cloud

I modelli cloud sono disponibili immediatamente senza bisogno di scaricarli:

  • glm-4.7:cloud - Modello cloud ad alte prestazioni
  • minimax-m2.1:cloud - Modello cloud veloce

Nomi di modello predefiniti

Per strumenti che si basano su nomi di modello Anthropic predefiniti come claude-3-5-sonnet, utilizza ollama cp per copiare un nome di modello esistente:

shell
ollama cp qwen3-coder claude-3-5-sonnet

Successivamente, questo nuovo nome di modello può essere specificato nel campo model:

shell
curl http://localhost:11434/v1/messages \
    -H "Content-Type: application/json" \
    -d '{
        "model": "claude-3-5-sonnet",
        "max_tokens": 1024,
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'

Differenze rispetto all'API Anthropic

Differenze di comportamento

  • La chiave API viene accettata ma non convalidata
  • L'intestazione anthropic-version viene accettata ma non utilizzata
  • I conteggi di token sono approssimazioni basate sul tokenizzatore del modello sottostante

Non supportate

Le seguenti funzionalità dell'API Anthropic non sono attualmente supportate:

FunzionalitàDescrizione
/v1/messages/count_tokensEndpoint per il conteggio dei token
tool_choiceForzare l'uso di uno strumento specifico o disabilitare gli strumenti
metadataMetadati della richiesta (user_id)
Caching dei promptBlocchi cache_control per il caching dei prefissi
API Batch/v1/messages/batches per l'elaborazione di batch asincrona
CitazioniBlocchi di contenuto citations
Supporto PDFBlocchi di contenuto document con file PDF
Errori inviati dal serverEventi error durante lo streaming (gli errori restituiscono lo stato HTTP)

Supporto parziale

FunzionalitàStato
Contenuto immagineImmagini base64 supportate; immagini da URL non supportate
Pensiero estesoSupporto di base; budget_tokens viene accettato ma non applicato