Skip to content

Ollama oferuje zgodność z Anthropic Messages API, aby ułatwić podłączenie istniejących aplikacji do Ollamy, w tym narzędzi takich jak Claude Code.

Użycie

Zmienne środowiskowe

Aby używać Ollamy z narzędziami oczekującymi interfejsu API Anthropic (takimi jak Claude Code), ustaw następujące zmienne środowiskowe:

shell
export ANTHROPIC_AUTH_TOKEN=ollama  # wymagane, ale ignorowane
export ANTHROPIC_BASE_URL=http://localhost:11434

Prosty przykład /v1/messages

Przykład przesyłania strumieniowego

Przykład wywoływania narzędzi

Używanie z Claude Code

Claude Code można skonfigurować do używania Ollamy jako swojego backendu.

Zalecane modele

Do zastosowań związanych z programowaniem zaleca się modele takie jak glm-4.7, minimax-m2.1 i qwen3-coder.

Pobierz model przed użyciem:

shell
ollama pull qwen3-coder

Uwaga: Qwen 3 coder to model o 30 miliardach parametrów, który do płynnego działania wymaga co najmniej 24 GB VRAM. Dla dłuższych kontekstów wymagana jest większa ilość pamięci.

shell
ollama pull glm-4.7:cloud

Szybka konfiguracja

shell
ollama launch claude

Spowoduje to wyświetlenie monitu o wybranie modelu, automatyczną konfigurację Claude Code i jego uruchomienie. Aby skonfigurować bez uruchamiania:

shell
ollama launch claude --config

Ręczna konfiguracja

Ustaw zmienne środowiskowe i uruchom Claude Code:

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

Lub ustaw zmienne środowiskowe w profilu powłoki:

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

Następnie uruchom Claude Code z dowolnym modelem Ollamy:

shell
claude --model qwen3-coder

Punkty końcowe

/v1/messages

Obsługiwane funkcje

  • [x] Wiadomości
  • [x] Przesyłanie strumieniowe
  • [x] Prompty systemowe
  • [x] Wieloetapowe rozmowy
  • [x] Wizja (obrazy)
  • [x] Narzędzia (wywoływanie funkcji)
  • [x] Wyniki narzędzi
  • [x] Myślenie/rozszerzone myślenie

Obsługiwane pola żądania

  • [x] model
  • [x] max_tokens
  • [x] messages
    • [x] Tekstowe content
    • [x] Obrazowe content (base64)
    • [x] Tablica bloków zawartości
    • [x] Bloki tool_use
    • [x] Bloki tool_result
    • [x] Bloki thinking
  • [x] system (ciąg znaków lub tablica)
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] top_k
  • [x] stop_sequences
  • [x] tools
  • [x] thinking
  • [ ] tool_choice
  • [ ] metadata

Obsługiwane pola odpowiedzi

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

Zdarzenia przesyłania strumieniowego

  • [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

Modele

Ollama obsługuje zarówno modele lokalne, jak i chmurowe.

Modele lokalne

Pobierz model lokalny przed użyciem:

shell
ollama pull qwen3-coder

Zalecane modele lokalne:

  • qwen3-coder - Doskonały do zadań związanych z programowaniem
  • gpt-oss:20b - Wydajny model ogólnego przeznaczenia

Modele chmurowe

Modele chmurowe są dostępne od razu, bez konieczności pobierania:

  • glm-4.7:cloud - Wydajny model chmurowy
  • minimax-m2.1:cloud - Szybki model chmurowy

Domyślne nazwy modeli

Dla narzędzi, które polegają na domyślnych nazwach modeli Anthropic, takich jak claude-3-5-sonnet, użyj ollama cp, aby skopiować istniejącą nazwę modelu:

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

Następnie tę nową nazwę modelu można określić w polu 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!"
            }
        ]
    }'

Różnice w porównaniu do API Anthropic

Różnice w zachowaniu

  • Klucz API jest akceptowany, ale nie weryfikowany
  • Nagłówek anthropic-version jest akceptowany, ale nie używany
  • Liczby tokenów są przybliżeniami opartymi na tokenizatorze podstawowego modelu

Nieobsługiwane funkcje

Następujące funkcje API Anthropic nie są obecnie obsługiwane:

FunkcjaOpis
/v1/messages/count_tokensPunkt końcowy do liczenia tokenów
tool_choiceWymuszenie użycia konkretnego narzędzia lub wyłączenie narzędzi
metadataMetadane żądania (user_id)
Buforowanie promptówBloki cache_control do buforowania prefiksów
API partii/v1/messages/batches do asynchronicznego przetwarzania wsadowego
CytowaniaBloki zawartości citations
Obsługa PDFBloki zawartości document z plikami PDF
Błędy wysyłane przez serwerZdarzenia error podczas przesyłania strumieniowego (błędy zwracają status HTTP)

Częściowa obsługa

FunkcjaStatus
Zawartość obrazowaObrazy base64 są obsługiwane; obrazy z adresu URL nie są obsługiwane
Rozszerzone myśleniePodstawowa obsługa; budget_tokens jest akceptowany, ale nie wymuszany