Перейти к содержанию

Установка 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:

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

Для графических карт Nvidia можете добавить Environment="OLLAMA_FLASH_ATTENTION=1" для улучшения скорости генерации токенов.

  1. Включаем сервис и запускаем его:

    sudo systemctl daemon-reload
    sudo systemctl enable ollama
    sudo systemctl start ollama
    

Ollama будет доступна по адресу http://127.0.0.1:11434 или http://<IP_адрес_сервера>:11434.

Обновление Ollama под Linux

Для обновления Ollama вам нужно заново скачать и установить ее бинарную сборку:

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

Примечание

Если доступа к Ollama нет, то возможно необходимо добавить в файл сервиса /etc/system.d/system/ollama.service следующие строки в секцию [Service]:

Environment="OLLAMA_HOST=0.0.0.0" 
Environment="OLLAMA_ORIGINS=*"

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

systemctl daemon-reload
service ollama restart

Установка языковых моделей LLM

Список актуальных доступных языковых моделей вы можете посмотреть здесь.

Чтобы установить нужную модель, нажмите на ее название и на следующей странице выберите размер и тип модели. После этого скопируйте команду для установки из правого окна и запустите в окне командной строки/терминала:

ollama run llama3

Примечание

Рекомендуемая к установке модель отмечена тегом latest.

Внимание

Для обеспечения приемлемой производительности работы размер модели должен быть в два раза меньше объема ОЗУ сервера и ⅔ объема доступной видеопамяти на GPU. Например для модели размером в 8Гб необходимо 16Гб ОЗУ и 12 ГБ видеопамяти на GPU.

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

service ollama restart

Подробнее об 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 (отключено)
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×