Files
Local_Perplexity/README (1).md

7.0 KiB
Raw Blame History

cat << 'EOF' > README.md

Ollama Remote AI Server Setup

Полная инструкция по настройке сервера для запуска локальных LLM через Ollama
и подключению к нему с удалённого компьютера (ноутбука).

Сервер: Ubuntu-server 24.04
API Ollama: порт 11434


Архитектура системы

Ноутбук используется для разработки и запуска инструментов (VS Code / Codex).
Сервер выполняет вычисления модели.

Ноутбук подключается к серверу через SSH туннель.

Схема:

Laptop ↓ SSH tunnel ↓ Ollama Server ↓ LLM models


1. Установка драйверов GPU и CUDA

На сервере были установлены:

  • драйверы видеокарты

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

GPU можно будет вернуть позже.


2. Установка Ollama

Установка выполняется официальным install-script.

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

После установки бинарный файл появляется:

/usr/local/bin/ollama


3. Создание systemd сервиса

Чтобы Ollama работал как сервер и автоматически запускался, создаётся systemd сервис.

sudo nano /etc/systemd/system/ollama.service

Содержимое:

[Unit] Description=Ollama Service After=network.target

[Service] ExecStart=/usr/local/bin/ollama serve Restart=always User=ollama Group=ollama

Environment="OLLAMA_HOST=0.0.0.0" Environment="OLLAMA_FLASH_ATTENTION=1" Environment="OLLAMA_KV_CACHE_TYPE=q8_0"

[Install] WantedBy=multi-user.target


Разбор параметров

OLLAMA_HOST=0.0.0.0

Позволяет принимать подключения с других устройств. Если использовать 127.0.0.1 — сервер будет доступен только локально.

OLLAMA_FLASH_ATTENTION=1

Оптимизированная реализация attention для ускорения.

OLLAMA_KV_CACHE_TYPE=q8_0

Квантизированный KV cache для экономии памяти.

При данной видеокарте я также добавил в конфигурацию, что работа должна быть от CPU.


4. Создание пользователя сервиса

Сервис Ollama запускается не от root.

sudo useradd -r -s /bin/false ollama

Параметры:

-r системный пользователь
-s запрет входа в shell


5. Запуск сервиса

sudo systemctl daemon-reload

sudo systemctl enable ollama

sudo systemctl start ollama

Проверка:

sudo systemctl status ollama

Если всё работает:

Active: active (running)


6. Проверка API Ollama

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

Если сервер работает — возвращается JSON.


7. Установка моделей

Пример установки:

ollama pull qwen2.5-coder:1.5b

Также была установлена:

gpt-oss:20b

Проверка:

ollama list


8. ПРОБЛЕМА: после reboot исчезли модели

После перезагрузки сервера:

sudo reboot

команда

ollama list

показывала:

NAME ID SIZE MODIFIED

то есть список моделей был пустым.

Хотя модели были скачаны ранее.


9. Причина проблемы

Модели были скачаны под пользователем:

user

и лежали в директории:

/home/user/.ollama

Но сервис Ollama работает под пользователем:

ollama

Поэтому он ищет модели в:

/usr/share/ollama/.ollama

Получилась ситуация:

модели существуют
но Ollama их не видит


10. Диагностика

Проверяем пользователя процесса:

ps -o user= -p 1035

результат:

ollama

Проверяем пользователя:

getent passwd ollama

ollama:x:999:988::/usr/share/ollama:/bin/false


Проверяем папки:

sudo ls /usr/share/ollama/.ollama/models

Но модели лежали здесь:

/home/user/.ollama/models


11. Поиск manifests

sudo find / -type d -name "manifests" 2>/dev/null

результат:

/home/user/.ollama/models/manifests /usr/share/ollama/.ollama/models/manifests

Это подтвердило наличие двух разных директорий моделей.


12. Решение: перенос моделей

sudo mv /home/user/.ollama/models/* /usr/share/ollama/.ollama/models/


13. Исправление прав

sudo chown -R ollama:ollama /usr/share/ollama/.ollama


14. Перезапуск сервиса

sudo systemctl restart ollama


15. Проверка

ollama list

результат:

qwen2.5-coder:1.5b gpt-oss:20b

Модели снова доступны.


16. Удаление старой директории

sudo rm -rf /home/user/.ollama

Теперь существует только одна директория моделей.


17. Проверка порта Ollama

ss -ltnp | grep 11434

результат:

LISTEN *:11434

Это означает, что сервер принимает подключения из сети.


18. Просмотр файлов моделей

cd /usr/share/ollama/.ollama/models/blobs

ls -lhS --reverse

Самые большие файлы — сами модели.


19. Подключение с ноутбука

На ноутбуке в отдельном терминале открывается SSH туннель:

ssh -N -L 11434:localhost:11434 user@10.111.111.40

Это создаёт соединение:

localhost:11434 (ноутбук) ↓ 10.111.111.40:11434 (сервер Ollama)

Теперь любые программы на ноутбуке могут использовать сервер.


20. Проверка подключения

curl http://localhost:11434

Ответ:

Ollama is running


21. Использование моделей

В отдельном терминале запускаем codex через ollama:

ollama launch codex

Выбираем нужную модель - всё!

Итог

Сервер работает как удалённый backend для LLM.

Он:

  • принимает подключения по сети
  • хранит модели централизованно
  • управляется через systemd
  • поддерживает CPU и GPU режим