Обновить Подключение ollama codex к серверу.md

This commit is contained in:
2026-03-13 19:46:05 +03:00
parent e583b316f4
commit 397d7387dc

View File

@@ -1,350 +1,173 @@
cat << 'EOF' > README.md
# Ollama Remote AI Server Setup
# Как подключиться к серверу с моделями (Codex + Ollama)
Полная инструкция по настройке сервера для запуска локальных LLM через Ollama
и подключению к нему с удалённого компьютера (ноутбука).
Сервер: Ubuntu-server 24.04
API Ollama: порт 11434
Это инструкция по подключению к серверу с моделями через Codex.
Следуйте шагам **точно в указанном порядке**.
---
# Архитектура системы
# Шаг 1. Включить сервер
Ноутбук используется для разработки и запуска инструментов (VS Code / Codex).
Сервер выполняет вычисления модели.
Сначала нужно включить сервер.
Ноутбук подключается к серверу через SSH туннель.
Сервер находится в сети и имеет IP:
10.111.111.40
Схема:
Laptop
SSH tunnel
Ollama Server
LLM models
Подождите примерно **3060 секунд**, пока сервер полностью загрузится.
---
# 1. Установка драйверов GPU и CUDA
# Шаг 2. Подключиться к серверу через SSH
На сервере были установлены:
Откройте **терминал** на ноутбуке.
- драйверы видеокарты
Введите команду:
Однако позже было принято решение временно использовать CPU,
так как установленная видеокарта оказалась слишком слабой.
GPU можно будет вернуть позже.
ssh user@10.111.111.40
После этого система попросит пароль.
Введите пароль и нажмите **Enter**.
(Пароль будет выдан отдельно.)
Если всё прошло успешно, вы увидите примерно такое:
user@neuro:~$
Это означает, что вы подключились к серверу.
Этот терминал можно оставить открытым или закрыть — он нужен только для проверки.
---
# 2. Установка Ollama
# Шаг 3. Создать SSH-туннель к серверу
Установка выполняется официальным install-script.
Теперь нужно создать **туннель**, через который Codex будет обращаться к серверу.
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)
После этого снова будет запрос пароля.
Теперь любые программы на ноутбуке могут использовать сервер.
Введите пароль и нажмите **Enter**.
После ввода пароля терминал **ничего не покажет — это нормально**.
Он будет выглядеть примерно так:
(пустой терминал)
Это означает, что туннель работает.
**ВАЖНО**
Не закрывайте этот терминал.
Если его закрыть, туннель пропадёт и Codex перестанет видеть сервер.
---
# 20. Проверка подключения
# Шаг 4. Запустить Codex
curl http://localhost:11434
Теперь откройте **ещё один новый терминал**.
Ответ:
Введите команду:
Ollama is running
---
# 21. Использование моделей
В отдельном терминале запускаем codex через ollama:
ollama launch codex
Выбираем нужную модель - всё!
# Итог
Сервер работает как удалённый backend для LLM.
Он:
- принимает подключения по сети
- хранит модели централизованно
- управляется через systemd
- поддерживает CPU и GPU режим
---
# Шаг 5. Настройка Codex
При первом запуске Codex может предложить разные настройки.
Если появляется вопрос — выбирайте:
skip
---
# Шаг 6. Выбор модели
Codex предложит выбрать модель.
Рекомендуемые модели:
qwen2.5-coder:0.5b
или
qwen2.5-coder:1.5b
**Не выбирайте**
gpt-oss
У сервера недостаточно памяти для этой модели.
---
# Шаг 7. Работа
После выбора модели Codex начнёт работать.
Теперь можно:
- писать код
- задавать вопросы
- просить Codex редактировать файлы
Все запросы будут отправляться на сервер с моделями.
---
# Важное предупреждение
Во время работы должны быть открыты **два терминала**.
### Терминал №1 — SSH-туннель
ssh -N -L 11434:localhost:11434 user@10.111.111.40
### Терминал №2 — Codex
ollama launch codex
Если закрыть **терминал с туннелем**, Codex перестанет работать.
---
# Если Codex перестал отвечать
Проверьте:
1. открыт ли терминал с SSH-туннелем
2. работает ли сервер
3. работает ли интернет
После этого можно перезапустить Codex.