Ollama для начинающих: установка, скачивание моделей, сервер и API

Введение

Ollama собирает веса модели, среду выполнения и API, совместимый с OpenAI, в одну команду. Этот урок ведёт вас с нуля до работающей локальной модели: установка, скачивание, выбор размера, настройка через Modelfile, вызов API из кода и подключение OpenCode к ней. Страница-хаб: «Ollama: локальные модели простым способом».

Всё остаётся на вашей машине: нет счетов за API, данные никуда не уходят, и это работает офлайн.

Установка в любой ОС

Linux и WSL2, одна команда:

curl -fsSL https://ollama.com/install.sh | sh

macOS и Windows: скачайте приложение с официального сайта:

https://ollama.com

Проверьте, что оно работает:

ollama --version

Скачивание, запуск и управление моделями

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

ollama pull qwen3:8b

Чат в терминале:

ollama run qwen3:8b

Список скачанных моделей:

ollama list

Удалите ту, которая больше не нужна:

ollama rm qwen3:8b

Обновить веса позже можно, скачав тот же тег снова. Внутри ollama run команда /bye выходит из чата, а /show печатает конфигурацию модели.

Какая модель и какой размер

Практическое правило: 7–8 миллиардов параметров помещаются в 8 ГБ оперативной памяти и справляются с чатом и черновиками; 70 миллиардов требуют серьёзной видеокарты и окупаются на коде и рассуждениях. Начинайте с малого — быстрая маленькая модель, которой вы реально пользуетесь, лучше огромной, которую вы так и не запустили.

Теги и размеры ищите в библиотеке:

https://ollama.com/library

Судите по своим задачам, а не по рейтингам: три характерных запроса, оценённые вами, за один вечер отделят «достаточно хорошо локально» от «нужно облако».

Свои модели через Modelfile

Modelfile запекает системный промпт и параметры в именованную модель. Файл Modelfile рядом с проектом:

FROM qwen3:8b PARAMETER temperature 0.2 SYSTEM You are a concise senior reviewer. Answer with code first.

Соберите и запустите её:

ollama create my-reviewer -f Modelfile

ollama run my-reviewer

Сервер и HTTP API

ollama serve открывает два API на localhost, порт 11434: родной REST API Ollama и совместимый с OpenAI, поэтому ассистенты-программисты и скрипты подключаются к нему, меняя один базовый URL.

Список моделей по HTTP:

curl http://localhost:11434/api/tags

Разовая генерация, родной API:

curl http://localhost:11434/api/generate -d "{\"model\": \"qwen3:8b\", \"prompt\": \"Why is the sky blue?\", \"stream\": false}"

Чат, эндпоинт, совместимый с OpenAI:

curl http://localhost:11434/v1/chat/completions -H "Content-Type: application/json" -d "{\"model\": \"qwen3:8b\", \"messages\": [{\"role\": \"user\", \"content\": \"Hi\"}]}"

Вызов из кода

Тот же код работает с настоящим OpenAI, если поменять только base_url:

from openai import OpenAI client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama") resp = client.chat.completions.create( model="qwen3:8b", messages=[{"role": "user", "content": "Explain LoRA in one paragraph."}], ) print(resp.choices[0].message.content)

Подключение к OpenCode

Когда ollama serve работает, OpenCode находит локальные модели сам — откройте /models и выберите ollama/qwen3:8b или свою ollama/my-reviewer. Ключ не нужен. Закрепите её за проектом, как в разделе «Подключение модели», и используйте как приватный запасной вариант, когда бесплатные облачные тарифы исчезают, как в материале «Три модели, один проект». Держите загруженной одну модель: переключение вытесняет память и тормозит.

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

Решение проблем

Автор статьи: Клавдия Кондакова