Установка Ollama¶
В этой статье
Ollama - фреймворк для запуска и управления большими языковыми моделями (LLM) на локальных вычислительных ресурсах. Он обеспечивает загрузку и развертывание выбранной LLM и доступ к ней через API.
Внимание
Если вы планируете использовать GPU-ускорение работы с LLM, то в начале установите драйвера на видеокарту NVIDIA и CUDA.
Системные требования:
| Требования | Спецификация |
|---|---|
| Операционная система | Linux: Ubuntu 22.04 или выше |
| Оперативная память | 16 ГБ для запуска моделей размером 7B |
| Объем диска | 12 ГБ для установки Ollama и базовых моделей. Дополнительное пространство требуется для хранения данных моделей в зависимости от используемых моделей |
| Процессор | Рекомендуется использовать современный ЦП с не менее 4 ядрами. Для запуска моделей размером 13B рекомендуется ЦП с не менее 8 ядрами |
| Графический процессор(опционально) | GPU не требуется для запуска Ollama, но может улучшить производительность, особенно при работе с большими моделями. Если у вас есть GPU, вы можете использовать его для ускорения обучения пользовательских моделей. |
Примечание
Системные требования могу отличаться в зависимости от конкретных языковых моделей (LLMs) и задач, которые вы планируете выполнять.
Установка Ollama под Linux¶
Скачиваем и устанавливаем Ollama:
Для графических карт Nvidia можете добавить Environment="OLLAMA_FLASH_ATTENTION=1" для улучшения скорости генерации токенов.
-
Включаем сервис и запускаем его:
Ollama будет доступна по адресу http://127.0.0.1:11434 или http://<IP_адрес_сервера>:11434.
Обновление Ollama под Linux¶
Для обновления Ollama вам нужно заново скачать и установить ее бинарную сборку:
Примечание
Если доступа к Ollama нет, то возможно необходимо добавить в файл сервиса /etc/system.d/system/ollama.service следующие строки в секцию [Service]:
и перезапустить сервис командами:
Установка языковых моделей LLM¶
Список актуальных доступных языковых моделей вы можете посмотреть здесь.
Чтобы установить нужную модель, нажмите на ее название и на следующей странице выберите размер и тип модели. После этого скопируйте команду для установки из правого окна и запустите в окне командной строки/терминала:
Примечание
Рекомендуемая к установке модель отмечена тегом latest.
Внимание
Для обеспечения приемлемой производительности работы размер модели должен быть в два раза меньше объема ОЗУ сервера и ⅔ объема доступной видеопамяти на GPU. Например для модели размером в 8Гб необходимо 16Гб ОЗУ и 12 ГБ видеопамяти на GPU.
После скачивания модели, перезапустите сервис:
Подробнее об Ollama вы можете прочитать в документации разработчиков.
Переменные окружения¶
Установите эти переменные в сервисе Ollama как Environment="VARIABLE=VALUE".
| Переменная | Описание | Возможные значения / формат | Значение по умолчанию |
|---|---|---|---|
OLLAMA_DEBUG | Уровень детализации логирования: INFO (по умолчанию), DEBUG или TRACE | 0, 1, false, true, или целое число ≥2 (уровень TRACE) | 0 (уровень INFO) |
OLLAMA_HOST | Адрес и порт, на которых запускается сервер Ollama | [http://\|https://]<host>[:<port>] (например, 127.0.0.1:11434, https://ollama.local) | 127.0.0.1:11434 |
OLLAMA_KEEP_ALIVE | Время, в течение которого модель остаётся загруженной в памяти после последнего запроса | Строка длительности (5m, 1h, 30s) или целое (секунды); отрицательное → бесконечно | 5m |
OLLAMA_LOAD_TIMEOUT | Максимальное время ожидания загрузки модели до таймаута (для обнаружения зависаний) | Строка длительности или целое (секунды); ≤0 → бесконечно | 5m |
OLLAMA_MAX_LOADED_MODELS | Максимальное количество моделей, которые могут быть одновременно загружены в память | Неотрицательное целое (uint) | 0 (автоматическое управление) |
OLLAMA_MAX_QUEUE | Максимальная длина очереди запросов, ожидающих обработки | Неотрицательное целое (uint) | 512 |
OLLAMA_MODELS | Путь к директории, где хранятся модели | Абсолютный или относительный путь | $HOME/.ollama/models |
OLLAMA_NOHISTORY | Отключает сохранение истории команд в интерактивном режиме CLI | 0, 1, false, true | false |
OLLAMA_NOPRUNE | Запрещает удаление (pruning) неиспользуемых BLOB-файлов моделей при запуске | 0, 1, false, true | false |
OLLAMA_NUM_PARALLEL | Максимальное количество параллельных запросов к одной модели | Неотрицательное целое (uint) | 1 |
OLLAMA_ORIGINS | Список разрешённых CORS-origins для веб-запросов (через запятую) | Список origins через запятую (например, https://myapp.com,http://localhost:3000) | — (добавляются встроенные значения) |
OLLAMA_FLASH_ATTENTION | Включает экспериментальную оптимизацию flash attention (ускорение на Apple Silicon и NVIDIA GPU) | 0, 1, false, true | false |
OLLAMA_KV_CACHE_TYPE | Тип квантования кэша ключей и значений (K/V cache) | f16, q8_0, q4_0 | — (пустая строка → f16) |
OLLAMA_LLM_LIBRARY | Принудительно использовать указанную LLM-библиотеку вместо автоопределения | cpu, cpu_avx, cpu_avx2, cuda_v11, rocm_v5, rocm_v6 | — (автоопределение) |
OLLAMA_SCHED_SPREAD | Распределять загрузку модели равномерно по всем доступным GPU (вместо использования одного) | 0, 1, false, true | false |
OLLAMA_MULTIUSER_CACHE | Оптимизирует кэширование промптов в сценариях с множеством пользователей (уменьшает дублирование) | 0, 1, false, true | false |
OLLAMA_CONTEXT_LENGTH | Максимальная длина контекста (в токенах), используемая по умолчанию, если модель не задаёт иное | Положительное целое (uint) | 4096 |
OLLAMA_NEW_ENGINE | Использовать новый экспериментальный движок вместо llama.cpp | 0, 1, false, true | false |
OLLAMA_AUTH | Включает базовую аутентификацию между клиентом и сервером Ollama | 0, 1, false, true | false |
OLLAMA_INTEL_GPU | Включает экспериментальную поддержку Intel GPU | 0, 1, false, true | false |
OLLAMA_GPU_OVERHEAD | Объём видеопамяти (VRAM) в байтах, который резервируется на каждый GPU (для системных нужд) | Неотрицательное целое (uint64, в байтах) | 0 |
OLLAMA_NEW_ESTIMATES | Включает новую систему оценки объёма памяти, необходимого для загрузки модели | 0, 1, false, true | 0 (отключено) |