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