From 397d7387dc81732981a4a979ae98b6292666b8e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D1=91=D0=B4=D0=BE=D1=80?= Date: Fri, 13 Mar 2026 19:46:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20=D0=9F=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20ollama=20codex=20=D0=BA=20=D1=81=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=83.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Подключение ollama codex к серверу.md | 449 ++++++++------------------ 1 file changed, 136 insertions(+), 313 deletions(-) diff --git a/Подключение ollama codex к серверу.md b/Подключение ollama codex к серверу.md index 6c044d9..af0f148 100644 --- a/Подключение ollama codex к серверу.md +++ b/Подключение ollama codex к серверу.md @@ -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 +Подождите примерно **30–60 секунд**, пока сервер полностью загрузится. --- -# 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. \ No newline at end of file