Skip to content

Ollama menyediakan kompatibilitas dengan Anthropic Messages API untuk membantu menghubungkan aplikasi yang sudah ada ke Ollama, termasuk alat seperti Claude Code.

Penggunaan ​

Variabel Lingkungan ​

Untuk menggunakan Ollama dengan alat yang mengharapkan API Anthropic (seperti Claude Code), atur variabel lingkungan berikut:

shell
export ANTHROPIC_AUTH_TOKEN=ollama  # wajib diisi tetapi diabaikan
export ANTHROPIC_BASE_URL=http://localhost:11434

Contoh sederhana /v1/messages ​

Contoh streaming ​

Contoh pemanggilan alat ​

Menggunakan dengan Claude Code ​

Claude Code dapat dikonfigurasi untuk menggunakan Ollama sebagai backendnya.

Model yang direkomendasikan ​

Untuk kasus penggunaan pemrograman, model seperti glm-4.7, minimax-m2.1, dan qwen3-coder direkomendasikan.

Unduh model sebelum menggunakannya:

shell
ollama pull qwen3-coder

Catatan: Qwen 3 coder adalah model dengan 30B parameter yang membutuhkan setidaknya 24GB VRAM untuk berjalan dengan lancar. Diperlukan lebih banyak VRAM untuk panjang konteks yang lebih panjang.

shell
ollama pull glm-4.7:cloud

Pengaturan cepat ​

shell
ollama launch claude

Ini akan meminta Anda untuk memilih model, mengonfigurasi Claude Code secara otomatis, dan menjalankannya. Untuk mengonfigurasi tanpa menjalankannya:

shell
ollama launch claude --config

Pengaturan manual ​

Atur variabel lingkungan dan jalankan Claude Code:

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

Atau atur variabel lingkungan di profil shell Anda:

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

Kemudian jalankan Claude Code dengan model Ollama apa pun:

shell
claude --model qwen3-coder

Endpoint ​

/v1/messages ​

Fitur yang didukung ​

  • [x] Pesan
  • [x] Streaming
  • [x] Prompt sistem
  • [x] Percakapan multi-turn
  • [x] Vision (gambar)
  • [x] Alat (pemanggilan fungsi)
  • [x] Hasil alat
  • [x] Pemikiran/pemikiran lanjutan

Bidang permintaan yang didukung ​

  • [x] model
  • [x] max_tokens
  • [x] messages
    • [x] Konten teks content
    • [x] Konten gambar content (base64)
    • [x] Array blok konten
    • [x] Blok tool_use
    • [x] Blok tool_result
    • [x] Blok thinking
  • [x] system (string atau array)
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] top_k
  • [x] stop_sequences
  • [x] tools
  • [x] thinking
  • [ ] tool_choice
  • [ ] metadata

Bidang respons yang didukung ​

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

Event 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

Model ​

Ollama mendukung baik model lokal maupun cloud.

Model lokal ​

Tarik model lokal sebelum menggunakannya:

shell
ollama pull qwen3-coder

Model lokal yang direkomendasikan:

  • qwen3-coder - Sangat baik untuk tugas pemrograman
  • gpt-oss:20b - Model umum yang kuat

Model cloud ​

Model cloud tersedia langsung tanpa perlu menarik:

  • glm-4.7:cloud - Model cloud berperforma tinggi
  • minimax-m2.1:cloud - Model cloud cepat

Nama model default ​

Untuk alat yang bergantung pada nama model Anthropic default seperti claude-3-5-sonnet, gunakan ollama cp untuk menyalin nama model yang ada:

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

Setelah itu, nama model baru ini dapat ditentukan di bidang 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!"
            }
        ]
    }'

Perbedaan dari API Anthropic ​

Perbedaan perilaku ​

  • Kunci API diterima tetapi tidak divalidasi
  • Header anthropic-version diterima tetapi tidak digunakan
  • Jumlah token adalah perkiraan berdasarkan tokenizer model yang mendasarinya

Tidak didukung ​

Fitur API Anthropic berikut saat ini tidak didukung:

FiturDeskripsi
/v1/messages/count_tokensEndpoint penghitungan token
tool_choiceMemaksa penggunaan alat tertentu atau menonaktifkan alat
metadataMetadata permintaan (user_id)
Caching promptBlok cache_control untuk caching prefiks
API Batch/v1/messages/batches untuk pemrosesan batch asinkron
SitasiBlok konten citations
Dukungan PDFBlok konten document dengan file PDF
Kesalahan yang dikirim serverEvent error selama streaming (kesalahan mengembalikan status HTTP)

Dukungan parsial ​

FiturStatus
Konten gambarGambar base64 didukung; gambar URL tidak didukung
Pemikiran lanjutanDukungan dasar; budget_tokens diterima tetapi tidak dipaksa