Ollama
Запуск LLM локально или на самохостинговой инфраструктуре с Ollama. Поддержка зрения, нативного вызова инструментов, моделей рассуждения и опциональной облачной маршрутизации через Ollama Cloud.
Предварительные требования
- Установленный и запущенный Ollama локально, или
- Удалённый экземпляр Ollama с сетевым доступом
Быстрая настройка
1. Установка Ollama
# macOS
brew install ollama
# Linux
curl -fsSL https://ollama.com/install.sh | sh
# Запуск сервера
ollama serve2. Загрузка модели
ollama pull qwen33. Конфигурация
[default]
provider = "ollama"
model = "qwen3"Для локального использования API-ключ не требуется.
4. Проверка
prx doctor modelsДоступные модели
Можно использовать любую модель, доступную через Ollama. Популярные варианты:
| Модель | Параметры | Зрение | Вызов инструментов | Примечания |
|---|---|---|---|---|
qwen3 | 8B | Нет | Да | Отличная мультиязычная модель для кода |
qwen2.5-coder | 7B | Нет | Да | Специализирована для кода |
llama3.1 | 8B/70B/405B | Нет | Да | Семейство открытых моделей Meta |
mistral-nemo | 12B | Нет | Да | Эффективное рассуждение |
deepseek-r1 | 7B/14B/32B | Нет | Да | Модель рассуждения |
llava | 7B/13B | Да | Нет | Зрение + язык |
gemma2 | 9B/27B | Нет | Да | Открытая модель Google |
codellama | 7B/13B/34B | Нет | Нет | Специализированный Llama для кода |
Выполните ollama list для просмотра установленных моделей.
Справочник конфигурации
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
api_key | string | опционально | API-ключ для удалённых/облачных экземпляров Ollama |
api_url | string | http://localhost:11434 | Базовый URL сервера Ollama |
model | string | обязательный | Имя модели (например, qwen3, llama3.1:70b) |
reasoning | bool | опционально | Включить режим think для моделей рассуждения |
Возможности
Нулевая конфигурация для локального использования
При локальном запуске Ollama не требуется API-ключ или специальная настройка. PRX автоматически подключается к http://localhost:11434.
Нативный вызов инструментов
PRX использует нативную поддержку вызова инструментов Ollama через /api/chat. Определения инструментов отправляются в теле запроса, и совместимые модели (qwen2.5, llama3.1, mistral-nemo и т.д.) возвращают структурированные tool_calls.
PRX также обрабатывает нестандартное поведение моделей:
- Вложенные вызовы инструментов:
{"name": "tool_call", "arguments": {"name": "shell", ...}}автоматически разворачиваются - Префиксированные имена:
tool.shellнормализуется вshell - Маппинг результатов инструментов: ID вызовов инструментов отслеживаются и сопоставляются с полями
tool_nameв последующих сообщениях с результатами
Поддержка зрения
Модели с поддержкой зрения (например, LLaVA) получают изображения через нативное поле images Ollama. PRX автоматически извлекает base64-данные изображений из маркеров [IMAGE:...] и отправляет их как отдельные записи изображений.
Режим рассуждения
Для моделей рассуждения (QwQ, DeepSeek-R1 и т.д.) включите параметр think:
[providers.ollama]
reasoning = trueЭто отправляет "think": true в запросе, включая внутренний процесс рассуждения модели. Если модель возвращает только поле thinking с пустым содержимым, PRX предоставляет корректное резервное сообщение.
Удалённые и облачные экземпляры
Для подключения к удалённому серверу Ollama:
[providers.ollama]
api_url = "https://my-ollama-server.example.com:11434"
api_key = "${OLLAMA_API_KEY}"Аутентификация отправляется только для нелокальных эндпоинтов (когда хост не localhost, 127.0.0.1 или ::1).
Облачная маршрутизация
Добавьте :cloud к имени модели для принудительной маршрутизации через удалённый экземпляр Ollama:
prx chat --model "qwen3:cloud"Облачная маршрутизация требует:
- Нелокальный
api_url - Настроенный
api_key
Расширенный таймаут
Запросы Ollama используют 300-секундный таймаут (по сравнению со 120 секундами для облачных провайдеров), учитывая потенциально более медленный инференс на локальном оборудовании.
Устранение неполадок
«Is Ollama running?»
Наиболее распространённая ошибка. Решения:
- Запустите сервер:
ollama serve - Проверьте доступность порта:
curl http://localhost:11434 - При использовании пользовательского порта обновите
api_urlв конфигурации
Модель не найдена
Сначала загрузите модель:
ollama pull qwen3Пустые ответы
Некоторые модели рассуждения могут возвращать только содержимое thinking без финального ответа. Обычно это означает, что модель завершила работу преждевременно. Попробуйте:
- Отправить запрос повторно
- Использовать другую модель
- Отключить режим рассуждения, если модель его плохо поддерживает
Вызов инструментов не работает
Не все модели Ollama поддерживают вызов инструментов. Модели с хорошей поддержкой:
qwen2.5/qwen3llama3.1mistral-nemocommand-r
Ошибки облачной маршрутизации
- «requested cloud routing, but Ollama endpoint is local»: Установите
api_urlна удалённый сервер - «requested cloud routing, but no API key is configured»: Установите
api_keyилиOLLAMA_API_KEY