Skip to content

Как обновить Ollama?

Ollama на macOS и Windows автоматически загружает обновления. Нажмите на элемент в панели задач или меню, затем выберите «Перезапустить для обновления», чтобы применить обновление. Обновления также можно установить, загрузив последнюю версию вручную.

На Linux повторно запустите скрипт установки:

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

Как просмотреть логи?

Ознакомьтесь с документацией по устранению неполадок, чтобы получить больше информации о работе с логами.

Совместима ли моя GPU с Ollama?

Обратитесь к документации по GPU.

Как указать размер контекстного окна?

По умолчанию Ollama использует размер контекстного окна в 4096 токенов.

Это значение можно изменить с помощью переменной окружения OLLAMA_CONTEXT_LENGTH. Например, чтобы установить размер контекстного окна по умолчанию равным 8K, используйте:

shell
OLLAMA_CONTEXT_LENGTH=8192 ollama serve

Чтобы изменить это значение при использовании ollama run, используйте команду /set parameter:

shell
/set parameter num_ctx 4096

При использовании API укажите параметр num_ctx:

shell
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Why is the sky blue?",
  "options": {
    "num_ctx": 4096
  }
}'

Как понять, что моя модель загружена на GPU?

Используйте команду ollama ps, чтобы увидеть, какие модели в настоящее время загружены в память.

shell
ollama ps

INFO

Вывод:

NAME        ID            SIZE    PROCESSOR   UNTIL
llama3:70b  bcfb190ca3a7  42 GB   100% GPU    4 minutes from now

Столбец Processor показывает, в какую память загружена модель:

  • 100% GPU означает, что модель полностью загружена на GPU
  • 100% CPU означает, что модель полностью загружена в оперативную память системы
  • 48%/52% CPU/GPU означает, что модель частично загружена как на GPU, так и в оперативную память системы

Как настроить сервер Ollama?

Сервер Ollama можно настроить с помощью переменных окружения.

Настройка переменных окружения на macOS

Если Ollama запущен как приложение macOS, переменные окружения следует задавать с помощью launchctl:

  1. Для каждой переменной окружения выполните команду launchctl setenv.
    bash
    launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
  2. Перезапустите приложение Ollama.

Настройка переменных окружения на Linux

Если Ollama запущен как служба systemd, переменные окружения следует задавать с помощью systemctl:

  1. Отредактируйте службу systemd, выполнив команду systemctl edit ollama.service. После этого откроется текстовый редактор.
  2. Для каждой переменной окружения добавьте строку Environment в раздел [Service]:
    ini
    [Service]
    Environment="OLLAMA_HOST=0.0.0.0:11434"
  3. Сохраните файл и закройте редактор.
  4. Перезагрузите systemd и перезапустите Ollama:
    shell
    systemctl daemon-reload
    systemctl restart ollama

Настройка переменных окружения на Windows

В Windows Ollama наследует пользовательские и системные переменные окружения.

  1. Сначала закройте Ollama, нажав на его значок на панели задач.
  2. Откройте приложение «Параметры» (в Windows 11) или «Панель управления» (в Windows 10) и найдите пункт переменные окружения.
  3. Нажмите на пункт Изменение переменных окружения для вашей учетной записи.
  4. Отредактируйте существующую или создайте новую переменную для вашей учетной записи: для OLLAMA_HOST, OLLAMA_MODELS и т. д.
  5. Нажмите «ОК» или «Применить», чтобы сохранить изменения.
  6. Запустите приложение Ollama через меню «Пуск» Windows.

Как использовать Ollama через прокси-сервер?

Ollama загружает модели из интернета, и для доступа к ним может потребоваться прокси-сервер. Используйте переменную окружения HTTPS_PROXY, чтобы перенаправлять исходящие запросы через прокси. Убедитесь, что сертификат прокси установлен как системный сертификат. О том, как задавать переменные окружения на вашей платформе, см. в разделе выше.

Примечание

Не задавайте переменную HTTP_PROXY. Ollama не использует HTTP для загрузки моделей, только HTTPS. Задание HTTP_PROXY может привести к разрыву клиентских подключений к серверу.

Как использовать Ollama через прокси в Docker?

Образ контейнера Ollama для Docker можно настроить на использование прокси, передав параметр -e HTTPS_PROXY=https://proxy.example.com при запуске контейнера.

В качестве альтернативы можно настроить использование прокси для демона Docker. Инструкции доступны для Docker Desktop на macOS, Windows и Linux, а также для демона Docker с systemd.

При использовании HTTPS убедитесь, что сертификат установлен как системный. При использовании самоподписанного сертификата может потребоваться создать новый образ Docker.

dockerfile
FROM ollama/ollama
COPY my-ca.pem /usr/local/share/ca-certificates/my-ca.crt
RUN update-ca-certificates

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

shell
docker build -t ollama-with-ca .
docker run -d -e HTTPS_PROXY=https://my.proxy.example.com -p 11434:11434 ollama-with-ca

Отправляет ли Ollama мои запросы и ответы на ollama.com?

Ollama работает локально. Мы не видим ваши запросы и данные при локальном запуске. При использовании моделей, размещенных в облаке, мы обрабатываем ваши запросы и ответы для предоставления услуги, но не сохраняем и не регистрируем это содержимое и никогда не используем его для обучения. Мы собираем только базовую информацию об учетной записи и ограниченные метаданные об использовании для предоставления услуги, которые не включают содержимое запросов и ответов. Мы не продаем ваши данные. Вы можете удалить свою учетную запись в любое время.

Как отключить облачные функции Ollama?

Ollama может работать в режиме «только локально» при отключении облачных функций. При отключении облачных функций вы потеряете возможность использовать облачные модели Ollama и веб-поиск.

Задайте параметр disable_ollama_cloud в файле ~/.ollama/server.json:

json
{
  "disable_ollama_cloud": true
}

Также можно задать переменную окружения:

shell
OLLAMA_NO_CLOUD=1

После изменения конфигурации перезапустите Ollama. После отключения в логах Ollama будет отображаться запись Ollama cloud disabled: true.

Как сделать Ollama доступным в моей сети?

По умолчанию Ollama прослушивает порт 11434 на адресе 127.0.0.1. Измените адрес привязки с помощью переменной окружения OLLAMA_HOST.

О том, как задавать переменные окружения на вашей платформе, см. в разделе выше.

Как использовать Ollama с прокси-сервером?

Ollama запускает HTTP-сервер, который можно сделать доступным через прокси-сервер, например Nginx. Для этого настройте прокси на переадресацию запросов и при необходимости задайте требуемые заголовки (если Ollama не опубликована в сети). Например, для Nginx конфигурация будет выглядеть так:

nginx
server {
    listen 80;
    server_name example.com;  # Replace with your domain or IP
    location / {
        proxy_pass http://localhost:11434;
        proxy_set_header Host localhost:11434;
    }
}

Как использовать Ollama с ngrok?

Доступ к Ollama можно получить с помощью различных приложений для туннелирования. Например, с Ngrok:

shell
ngrok http 11434 --host-header="localhost:11434"

Как использовать Ollama с Cloudflare Tunnel?

Для использования Ollama с Cloudflare Tunnel используйте флаги --url и --http-host-header:

shell
cloudflared tunnel --url http://localhost:11434 --http-host-header="localhost:11434"

Как разрешить дополнительным веб-источникам доступ к Ollama?

По умолчанию Ollama разрешает кросс-доменные запросы с адресов 127.0.0.1 и 0.0.0.0. Дополнительные источники можно настроить с помощью переменной окружения OLLAMA_ORIGINS.

Для браузерных расширений необходимо явно разрешить шаблон источника расширения. Задайте для OLLAMA_ORIGINS значения chrome-extension://*, moz-extension://* и safari-web-extension://*, если хотите разрешить доступ всем браузерным расширениям, или конкретные расширения по необходимости:

# Разрешить доступ всем расширениям Chrome, Firefox и Safari
OLLAMA_ORIGINS=chrome-extension://*,moz-extension://*,safari-web-extension://* ollama serve

О том, как задавать переменные окружения на вашей платформе, см. в разделе выше.

Где хранятся модели?

  • macOS: ~/.ollama/models
  • Linux: /usr/share/ollama/.ollama/models
  • Windows: C:\Users\%username%\.ollama\models

Как изменить расположение хранилища моделей?

Если требуется использовать другой каталог, задайте для переменной окружения OLLAMA_MODELS значение пути к нужному каталогу.

Примечание

При использовании стандартного установщика на Linux пользователь ollama должен иметь права на чтение и запись в указанный каталог. Чтобы передать права на каталог пользователю ollama, выполните команду sudo chown -R ollama:ollama <directory>.

О том, как задавать переменные окружения на вашей платформе, см. в разделе выше.

Как использовать Ollama в Visual Studio Code?

Для VS Code, а также для других редакторов, уже доступна большая коллекция плагинов, использующих Ollama. Список расширений и плагинов приведен в нижней части основного файла README репозитория.

Как использовать Ollama с ускорением GPU в Docker?

Контейнер Ollama для Docker можно настроить на использование ускорения GPU в Linux или Windows (с WSL2). Для этого требуется nvidia-container-toolkit. Дополнительные сведения см. на странице ollama/ollama.

Ускорение GPU недоступно для Docker Desktop в macOS из-за отсутствия поддержки прямого доступа к GPU и его эмуляции.

Почему сеть работает медленно в WSL2 на Windows 10?

Это может влиять как на установку Ollama, так и на загрузку моделей.

Откройте «Панель управления > Сеть и интернет > Просмотр состояния сети и задач» и нажмите на пункт «Изменение параметров адаптера» в левой панели. Найдите адаптер vEthernet (WSL), нажмите на него правой кнопкой мыши и выберите «Свойства». Нажмите «Настроить» и откройте вкладку «Дополнительно». Просмотрите все параметры, пока не найдете Large Send Offload Version 2 (IPv4) и Large Send Offload Version 2 (IPv6). Отключите оба этих параметра.

Как предварительно загрузить модель в Ollama для ускорения времени ответа?

При использовании API вы можете предварительно загрузить модель, отправив серверу Ollama пустой запрос. Это работает для обоих конечных точек API: /api/generate и /api/chat.

Чтобы предварительно загрузить модель mistral с использованием конечной точки generate, используйте:

shell
curl http://localhost:11434/api/generate -d '{"model": "mistral"}'

Чтобы использовать конечную точку chat completions, используйте:

shell
curl http://localhost:11434/api/chat -d '{"model": "mistral"}'

Чтобы предварительно загрузить модель с помощью CLI, используйте команду:

shell
ollama run llama3.2 ""

Как удерживать модель в памяти или выгружать ее сразу же?

По умолчанию модели удерживаются в памяти в течение 5 минут перед выгрузкой. Это позволяет ускорить время ответа, если вы отправляете множество запросов LLM. Если вы хотите сразу же выгрузить модель из памяти, используйте команду ollama stop:

shell
ollama stop llama3.2

При использовании API используйте параметр keep_alive с конечными точками /api/generate и /api/chat, чтобы задать время, в течение которого модель будет оставаться в памяти. Параметр keep_alive может принимать следующие значения:

  • строка с указанием длительности (например, «10m» или «24h»)
  • число в секундах (например, 3600)
  • любое отрицательное число, которое будет удерживать модель в памяти (например, -1 или «-1m»)
  • «0», которое выгружает модель сразу же после генерации ответа

Например, чтобы предварительно загрузить модель и оставить ее в памяти, используйте:

shell
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "keep_alive": -1}'

Чтобы выгрузить модель и освободить память, используйте:

shell
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "keep_alive": 0}'

В качестве альтернативы вы можете изменить время удержания всех моделей в памяти, задав переменную окружения OLLAMA_KEEP_ALIVE при запуске сервера Ollama. Переменная OLLAMA_KEEP_ALIVE использует те же типы параметров, что и параметр keep_alive, описанный выше. О том, как правильно задать переменную окружения, см. в разделе о настройке сервера Ollama.

Параметр API keep_alive для конечных точек /api/generate и /api/chat имеет приоритет над значением переменной OLLAMA_KEEP_ALIVE.

Как управлять максимальным количеством запросов, которые сервер Ollama может поставить в очередь?

Если на сервер отправляется слишком много запросов, он возвращает ошибку 503, указывающую на перегрузку. Вы можете настроить максимальное количество запросов в очереди с помощью переменной OLLAMA_MAX_QUEUE.

Как Ollama обрабатывает параллельные запросы?

Ollama поддерживает два уровня параллельной обработки. Если в вашей системе достаточно свободной памяти (оперативной памяти при использовании вывода на CPU, или видеопамяти при использовании GPU), то одновременно можно загрузить несколько моделей. Для конкретной модели, если при ее загрузке достаточно свободной памяти, она настраивается на поддержку параллельной обработки запросов.

Если при уже загруженных одной или нескольких моделях недостаточно свободной памяти для загрузки новой модели, все новые запросы будут поставлены в очередь до тех пор, пока новая модель не будет загружена. По мере того как ранее загруженные модели становятся неактивными, одна или несколько из них будут выгружены, чтобы освободить место для новой. Запросы из очереди обрабатываются по порядку. При использовании вывода на GPU новые модели должны полностью помещаться в видеопамять, чтобы допустить параллельную загрузку моделей.

Параллельная обработка запросов для конкретной модели приводит к увеличению размера контекста в количество параллельных запросов. Например, контекст размером 2K при 4 параллельных запросах даст контекст размером 8K и потребует дополнительного выделения памяти.

Для настройки обработки параллельных запросов Ollama на большинстве платформ можно использовать следующие параметры сервера:

  • OLLAMA_MAX_LOADED_MODELS — максимальное количество моделей, которые можно загрузить одновременно, при условии что они помещаются в доступную память. Значение по умолчанию: 3 × количество GPU или 3 при выводе на CPU.
  • OLLAMA_NUM_PARALLEL — максимальное количество параллельных запросов, которые модель будет обрабатывать одновременно, значение по умолчанию — 1. Требуемый объем оперативной памяти будет масштабироваться по формуле OLLAMA_NUM_PARALLEL × OLLAMA_CONTEXT_LENGTH.
  • OLLAMA_MAX_QUEUE — максимальное количество запросов, которые Ollama будет ставить в очередь при высокой нагрузке перед отклонением дополнительных запросов. Значение по умолчанию — 512

Примечание: на Windows с GPU Radeon в настоящее время по умолчанию разрешена загрузка не более 1 модели из-за ограничений в ROCm v5.7 при отчете о доступной видеопамяти. После выхода ROCm v6.2 на Windows с GPU Radeon будут действовать стандартные значения, указанные выше. Вы можете включить параллельную загрузку моделей на Radeon в Windows, но убедитесь, что не загружаете больше моделей, чем помещается в видеопамять вашего GPU.

Как Ollama загружает модели на несколько GPU?

При загрузке новой модели Ollama сравнивает требуемый для нее объем видеопамяти с объемом, доступным в текущий момент. Если модель полностью помещается на любую отдельную GPU, Ollama загрузит ее на эту GPU. Обычно это обеспечивает наилучшую производительность, так как уменьшает объем данных, передаваемых по шине PCI во время вывода. Если модель не помещается полностью на одну GPU, она будет распределена по всем доступным GPU.

Как включить Flash Attention?

Flash Attention — это функция большинства современных моделей, которая позволяет значительно снизить потребление памяти по мере роста размера контекста. Ollama использует Flash Attention автоматически, если выбранный бэкенд и устройства поддерживают эту функцию. Чтобы принудительно включить Flash Attention, задайте переменную окружения OLLAMA_FLASH_ATTENTION=1 при запуске сервера Ollama. Чтобы отключить её, задайте OLLAMA_FLASH_ATTENTION=0.

Как задать тип квантования для кэша K/V?

Кэш контекста K/V можно квантовать, чтобы значительно снизить потребление памяти при включённом Flash Attention.

Чтобы использовать квантованный кэш K/V в Ollama, задайте следующую переменную окружения:

  • OLLAMA_KV_CACHE_TYPE — тип квантования для кэша K/V. Значение по умолчанию — f16.

Примечание

В настоящее время это глобальная опция — это означает, что все модели будут работать с заданным типом квантования.

В настоящее время доступны следующие типы квантования кэша K/V:

  • f16 — высокая точность и потребление памяти (значение по умолчанию).
  • q8_0 — 8-битное квантование, потребляет примерно в 2 раза меньше памяти, чем f16, при очень небольшой потере точности, что обычно не оказывает заметного влияния на качество модели (рекомендуется, если не используется f16).
  • q4_0 — 4-битное квантование, потребляет примерно в 4 раза меньше памяти, чем f16, при небольшом–среднем снижении точности, которое может быть более заметным при больших размерах контекста.

Влияние квантования кэша на качество ответов модели зависит от самой модели и решаемой задачи. Модели с большим количеством GQA (например, Qwen2) могут сильнее терять точность при квантовании, чем модели с небольшим количеством GQA.

Вам может потребоваться поэкспериментировать с разными типами квантования, чтобы найти оптимальный баланс между потреблением памяти и качеством.

Где найти мой публичный ключ Ollama?

Ваш публичный ключ Ollama — это открытая часть пары ключей, которая позволяет локальному экземпляру Ollama взаимодействовать с ollama.com.

Он понадобится вам для:

  • Загружать модели в Ollama
  • Загружать частные модели из Ollama на ваше устройство
  • Запускать модели, размещённые в Ollama Cloud

Как добавить ключ

  • Войти через страницу настроек в приложениях для Mac и Windows
  • Войти через CLI
shell
ollama signin

Где хранится публичный ключ Ollama

ОСПуть к файлу id_ed25519.pub
macOS~/.ollama/id_ed25519.pub
Linux/usr/share/ollama/.ollama/id_ed25519.pub
WindowsC:\Users\<username>\.ollama\id_ed25519.pub

Примечание

Замените <username> на ваше фактическое имя пользователя Windows.

Как отключить автоматический запуск Ollama при входе в систему?

При установке Ollama для Windows и macOS он регистрируется как элемент автозагрузки. Вы можете отключить эту опцию, если не хотите, чтобы Ollama запускался автоматически. Ollama будет сохранять эту настройку при обновлениях, если вы не удалите приложение.

Windows

  • В Диспетчере задач перейдите на вкладку Автозагрузка, найдите ollama и нажмите Отключить

MacOS

  • Откройте Настройки и найдите раздел «Элементы автозагрузки», найдите пункт Ollama в разделе Разрешить в фоне, затем переведите ползунок в положение выключено, чтобы отключить.