Інструкція з встановлення та використання Ollama
Зміст
- Підготовка до встановлення
- Встановлення на Arch Linux
- Встановлення на Debian
- Базові команди та використання
Підготовка до встановлення
Системні вимоги
Залізо:
- x86_64 процесор з підтримкою AVX2
- NVIDIA GPU
Linux
- Ядро версії 5.10 або новіше
-
Nvidia драйвер: Arch-based repo: Debian-based repo
Встановлення на Linux
Перевірте наявність/версію NVIDIA драйверу:
nvidia-smi
Arch based:
- Встановіть необхідні залежності:
sudo pacman -S base-devel git cuda nvidia-utils curl
- Встановіть Ollama:
curl -fsSL https://ollama.com/install.sh | sh
- Запустіть сервіс:
sudo systemctl start ollama
3.1 Ввімкнути автостарт сервісу при запуску комп'ютера (рекомендовано):
sudo systemctl enable ollama
Debian based:
- Встановіть необхідні залежності:
sudo apt update && sudo apt install -y ca-certificates curl gnupg
- Встановіть Ollama:
curl -fsSL https://ollama.com/install.sh | sh
- Запустіть сервіс:
sudo systemctl start ollama
3.1 Ввімкнути автостарт сервісу при запуску комп'ютера (рекомендовано):
sudo systemctl enable ollama
Post-installation:
Перевірка викорстання GPU:
Запустіть модель:
ollama run dolphin-mistral:7b
Веддіть команду /bye щоб вийти з інтерактивного чату з моделлю^
/bye
Отримайте список активних моделей:
ollama ps
Якщо значення колонки Proccessor має GPU - Ollama використовує відеокарту
Обмеження доступу до API
!!!УВАГА: Ollama не має механізмів автентифікації, тому за необхіднсти обмежити доступ, помістити АРІ під обернений проксі (reverse proxy) або обмежити доступ через fierwall
Зміна адреси хоста і порту
Ollama за налаштуваннями запускається та очікує на запити на 127.0.0.1:11434 і не прийматиме запитів, надісланих на машину на іншу адресу. Для того щоб Ollama приймала запити надіслані на іншу адресу, необхідно вказати змінну оточення (ENV variable): OLLAMA_HOST з бажаною IP адресою і портом. Для зручности можна вказати 0.0.0.0 адресу і Ollama прийматиме будь-які запити на машину. Для того щоб змінити OLLAMA_HOST:
Linux:
-
Відредагуйте cервіс systemd за допомогою
systemctl edit ollama.service. Це відкриє редактор. -
Для кожної змінної оточення додайте рядок Environment у розділі [Service]:
[Service] Environment="OLLAMA_HOST=0.0.0.0» -
Збережіть і вийдіть.
-
Перезавантажте systemd і перезапустіть Ollama:
sudo systemctl daemon-reload sudo systemctl restart ollama
Базові команди та використання
Запуск сервера
Linux:
ollama serve
Завантаження моделей
ollama pull dolphin-mistral:7b
ollama pull mistral:latest
Запуск з моделей
ollama run dolphin-mistral:7b # Інтерактивний режим
ollama run ldolphin-mistral:7b
Керування моделями
ollama list # Список встановлених моделей
ollama rm ldolphin-mistral:7b # Видалення моделі
API використання
Ollama надає REST API за адресою 127.0.0.1:11434 або адресою, вкащаною в змінній OLLAMA_HOST.
Потокові відповіді
Деякі ендпоїнти передають відповіді у вигляді потоку JSON-об'єктів. Потокове передавання можна вимкнути, вказавши {"stream": false} для цих ендпоїнтів.
POST /api/chat
Генерація тексту, базовано на історії сповіщень
Параметри: Базові:
- `model` (обов'ящковий): назва моделі
- `messages`: список сповіщень чату щоб віслідковувати його історію
- `tools` (опціональний): набір описів інструментів доступних до виклику моделлю. Для використання інтсрументів має бути `{"stream": false}`
Об'єкт сповіщення має наступні поля:
- `role`: роль сповіщення. `system`, `user`, `assistant`, or `tool`
- `content`: зміст сповіщення
- `images` (опціональний): список зображеннь для мультимодальних моделей
- `tool_calls` (опціональний): список викликів інструментів, які модель хоче використати
Просунуті(Опціональні):
format: форматування для відповіді моделі. Може мати значенняjsonабо JSON схемуoptions: додаткові параметри моделі. Наприкладtemperatureдля регулювання відхилення ('креативності') моделіstream: якщоfalse, едпоїнт повертатиме повну відповідь моделі після закінчення генераціїkeep_alive: як довго модель буде знаходитись вивантаженю в пам'ять після запиту
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [
{
"role": "system",
"content": "You are an experienced forecaster, your task is to answer user questions"
},
{
"role": "user",
"content": "why is the sky blue?"
},
{
"role": "assistant",
"content": "due to rayleigh scattering."
},
{
"role": "user",
"content": "how is that different than mie scattering?"
}
],
"options": {
"temperature": 0.7
},
"stream": false
}'
Відповідь:
{
"model": "llama3.2",
"created_at": "2023-08-04T19:22:45.499127Z",
"response": "mie scattering involves larger particles and scatters light more evenly.",
"done": true,
"context": [1, 2, 3],
"total_duration": 5043500667,
"load_duration": 5025959,
"prompt_eval_count": 26,
"prompt_eval_duration": 325953000,
"eval_count": 290,
"eval_duration": 4709213000
}
Налаштування GPU
- Для NVIDIA GPU: Переконайтеся, що встановлені останні драйвери та CUDA
- Ollama автоматично використовуватиме GPU, якщо вона доступна
- Можна обмежити використання GPU через змінні середовища:
export CUDA_VISIBLE_DEVICES=0 # Використовувати тільки першу GPU
Загрузка другой моделями
https://github.com/ollama/ollama/blob/main/docs/import.md инструкция
Загружаем фаил на сервер с моделью. Создаем фаил Modelfile с содержанием пути к модели FROM /path/to/file.gguf Запускае команду ollama create my-model (Сменить на название которое хочешь) где находиться фаил Modelfile. Модель интегрируеться в олама с названием которое вы указали.
sudo apt-mark hold nvidia-driver-535 nvidia-utils-535 nvidia-dkms-535 linux-image-generic linux-headers-generic Отключил автообновление драйверов что бы не падала видяха для генерации
Обновление руками
sudo apt-mark unhold nvidia-driver-535
sudo apt upgrade nvidia-driver-535