Skip to content

Ollama обеспечивает совместимость с API сообщений Anthropic, чтобы помочь подключить существующие приложения к Ollama, включая такие инструменты, как Claude Code.

Использование

Переменные окружения

Чтобы использовать Ollama с инструментами, которые работают с API Anthropic (например, с Claude Code), задайте следующие переменные окружения:

shell
export ANTHROPIC_AUTH_TOKEN=ollama  # требуется, но игнорируется
export ANTHROPIC_BASE_URL=http://localhost:11434

Простой пример /v1/messages

Пример потоковой передачи

Пример вызова инструментов

Использование с Claude Code

Claude Code можно настроить на использование Ollama в качестве бэкенда.

Рекомендуемые модели

Для задач, связанных с программированием, рекомендуются такие модели, как glm-4.7, minimax-m2.1 и qwen3-coder.

Скачайте модель перед использованием:

shell
ollama pull qwen3-coder

Примечание: Qwen 3 coder — это модель с 30 млрд параметров, для стабильной работы которой требуется не менее 24 ГБ видеопамяти. Для более длинных контекстов требуется больше памяти.

shell
ollama pull glm-4.7:cloud

Быстрая настройка

shell
ollama launch claude

Эта команда предложит вам выбрать модель, автоматически настроит Claude Code и запустит его. Чтобы выполнить только настройку без запуска:

shell
ollama launch claude --config

Ручная настройка

Задайте переменные окружения и запустите Claude Code:

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

Или задайте переменные окружения в профиле вашей оболочки:

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

Затем запустите Claude Code с любой моделью Ollama:

shell
claude --model qwen3-coder

Эндпоинты

/v1/messages

Поддерживаемые возможности

  • [x] Сообщения
  • [x] Потоковая передача
  • [x] Системные промпты
  • [x] Многоходовые диалоги
  • [x] Зрение (изображения)
  • [x] Инструменты (вызов функций)
  • [x] Результаты вызова инструментов
  • [x] Размышления/расширенные размышления

Поддерживаемые поля запроса

  • [x] model
  • [x] max_tokens
  • [x] messages
    • [x] Текстовый content
    • [x] Изображение content (base64)
    • [x] Массив блоков контента
    • [x] Блоки tool_use
    • [x] Блоки tool_result
    • [x] Блоки thinking
  • [x] system (строка или массив)
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] top_k
  • [x] stop_sequences
  • [x] tools
  • [x] thinking
  • [ ] tool_choice
  • [ ] metadata

Поддерживаемые поля ответа

  • [x] id
  • [x] type
  • [x] role
  • [x] model
  • [x] content (текстовые блоки, блоки tool_use, thinking)
  • [x] stop_reason (end_turn, max_tokens, tool_use)
  • [x] usage (input_tokens, output_tokens)

События потоковой передачи

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

Модели

Ollama поддерживает как локальные, так и облачные модели.

Локальные модели

Загрузите локальную модель перед использованием:

shell
ollama pull qwen3-coder

Рекомендуемые локальные модели:

  • qwen3-coder — отлично подходит для задач программирования
  • gpt-oss:20b — мощная модель общего назначения

Облачные модели

Облачные модели доступны сразу, без необходимости загрузки:

  • glm-4.7:cloud — высокопроизводительная облачная модель
  • minimax-m2.1:cloud — быстрая облачная модель

Имена моделей по умолчанию

Для инструментов, которые используют стандартные имена моделей Anthropic, такие как claude-3-5-sonnet, используйте команду ollama cp, чтобы скопировать существующее имя модели:

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

После этого новое имя модели можно указать в поле 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!"
            }
        ]
    }'

Отличия от API Anthropic

Различия в поведении

  • API-ключ принимается, но не проверяется
  • Заголовок anthropic-version принимается, но не используется
  • Количество токенов является приблизительным и рассчитывается на основе токенизатора базовой модели

Не поддерживается

Следующие возможности API Anthropic в настоящее время не поддерживаются:

ВозможностьОписание
/v1/messages/count_tokensЭндпоинт для подсчёта токенов
tool_choiceПринудительный вызов конкретного инструмента или отключение инструментов
metadataМетаданные запроса (user_id)
Кэширование промптовБлоки cache_control для кэширования префиксов
API пакетной обработки/v1/messages/batches для асинхронной пакетной обработки
ЦитированияБлоки контента citations
Поддержка PDFБлоки контента document с PDF-файлами
Ошибки, отправляемые серверомСобытия error во время потоковой передачи (ошибки возвращаются в виде HTTP-статуса)

Частичная поддержка

ВозможностьСтатус
ИзображенияПоддерживаются изображения в base64; изображения по URL не поддерживаются
Расширенные размышленияБазовая поддержка; параметр budget_tokens принимается, но не применяется