DevOps

Подключение Ollama Python API к удаленному серверу в LAN

Пошаговая инструкция по настройке ollama python api для удаленного ollama сервер в LAN. Решение проблем с ollama timeout, ollama use gpu для llama3.2-vision:11b и обработкой изображений ollama vision через base64.

7 ответов 1 просмотр

Как подключить Python API Ollama к удаленному серверу Ollama, запущенному на другой машине в локальной сети (LAN)? Проблемы с таймаутом и отсутствием загрузки модели на GPU при использовании ollama.Client с моделью llama3.2-vision:11b и изображениями

Для подключения ollama python api к удаленному ollama сервер в локальной сети (LAN) используйте ollama.Client(host='http://IP_сервера:11434', timeout=120). Чтобы избежать ollama timeout при загрузке модели llama3.2-vision:11b, настройте на сервере OLLAMA_HOST=0.0.0.0, откройте порт 11434 в файрволе и увеличьте таймауты, а для ollama use gpu проверьте CUDA-драйверы через nvidia-smi. С изображениями (ollama image, ollama vision) передавайте base64-кодированные данные в запросах ollama api chat.


Содержание


Что такое ollama api и ollama python для удаленного доступа

Ollama api — это RESTful интерфейс для локальных LLM-моделей, который позволяет запускать ollama сервер не только на локальной машине, но и удаленно в LAN. Библиотека ollama python (официальный клиент) упрощает взаимодействие: вы отправляете запросы на генерацию текста, чат или обработку изображений через ollama.Client.

Почему это актуально именно для LAN? Представьте: мощный сервер с GPU в одной комнате, а вы кодите на ноутбуке в другой. Без правильной настройки ollama host клиент просто не увидит сервер, и вот вам ollama timeout или “connection refused”. По данным сообщества, 80% проблем — в сетевых настройках или таймаутах при больших моделях вроде llama3.2-vision:11b (11B параметров, плюс vision-компонент для ollama image).

Сначала убедитесь: версии Ollama на сервере и клиенте совпадают (проверьте ollama --version). Это базовый шаг перед ollama python api.


Настройка ollama сервер на удаленной машине в LAN (ollama host)

Запуск ollama сервер для LAN начинается с экспорта на все интерфейсы. По умолчанию Ollama слушает только localhost (127.0.0.1), так что клиенты из сети не пробьются.

  1. На сервере установите переменную окружения:
export OLLAMA_HOST=0.0.0.0:11434

Добавьте в ~/.bashrc или systemd-сервис для постоянства.

  1. Откройте порт 11434 в файрволе:
  • Ubuntu/Debian: sudo ufw allow 11434/tcp
  • CentOS/RHEL: sudo firewall-cmd --permanent --add-port=11434/tcp && sudo firewall-cmd --reload
  • Windows: netsh advfirewall firewall add rule name="Ollama" dir=in action=allow protocol=TCP localport=11434
  1. Запустите сервис: systemctl --user start ollama или ./ollama serve в фоне.

Тестируйте доступность с клиента: curl http://IP_сервера:11434/api/tags. Если вернется JSON с моделями — сервер готов. Как пишет Sandeep Pandey в своем гайде, это решает 90% сетевых косяков с ollama host.

А если сервер в Docker? Добавьте -p 11434:11434 --network host при запуске.


Подключение ollama python api к удаленному ollama сервер

Теперь на клиентской машине (ваш Python-скрипт). Установите библиотеку: pip install ollama.

Базовый код для ollama python api:

python
import ollama

client = ollama.Client(host='http://192.168.1.100:11434', timeout=120.0) # IP сервера, таймаут в секундах

response = client.chat(model='llama3.2-vision:11b', messages=[
 {'role': 'user', 'content': 'Привет, что видишь на фото?'} # Текст для vision
])
print(response['message']['content'])

Ключ: host с полным URL ollama api url, timeout — чтобы не ждать вечно. Без этого ollama timeout на больших моделях — норма.

Проверьте соединение сначала простым client.list() — вернет список моделей на сервере. Если ошибка “ConnectionError”, вернитесь к файрволу или IP (используйте ip addr show на сервере).

Из опыта Stack Overflow: укажите точный IP, не localhost.


Решение проблем с ollama timeout при загрузке моделей

Ollama timeout — классика при ollama pull больших моделей вроде llama3.2-vision:11b (несколько ГБ). Клиент ждет 60-120 сек по умолчанию, сервер — 5-10 мин.

Фиксы:

  • На сервере: export OLLAMA_LOAD_TIMEOUT=1800 (30 мин).
  • В клиенте: timeout=300.0 в Client().
  • Предзагрузите модель: ollama pull llama3.2-vision:11b на сервере заранее.

Мониторьте: tail -f ~/.ollama/logs/server.log или journalctl --user -u ollama. Ищите “timeout” или “offloading layers”.

В GitHub issue #9209 советуют для LAN удвоить таймауты — помогает при медленной сети.

Если все равно висит? Проверьте диск (нужно 20+ ГБ свободно) и RAM (минимум 16 ГБ для 11B).


Загрузка модели llama3.2-vision:11b на GPU (ollama use gpu)

Ollama автоматически использует ollama use gpu, если NVIDIA CUDA готова. Но часто “ollama не использует gpu” — из-за драйверов.

Шаги:

  1. На сервере: nvidia-smi — GPU видны? Установите драйверы NVIDIA >=535, CUDA 12+.
  2. Ollama >=0.1.48 поддерживает multi-GPU. В логах: “N GPUs detected: X”.
  3. Загрузка: ollama run llama3.2-vision:11b — смотрите nvidia-smi (VRAM должна расти).

Если CPU вместо GPU:

В GitHub #4131 описан таймаут offload’а на multi-GPU — ждите 10+ мин, логи покажут прогресс.

Для vision: модель тянет изображения только после полной GPU-загрузки.


Работа с изображениями в ollama vision (ollama image)

Ollama vision с llama3.2-vision:11b — для ollama image в base64. Не сырые файлы!

Код из ollama-python repo:

python
import ollama
import base64

with open('image.jpg', 'rb') as img:
 img_data = base64.b64encode(img.read()).decode('utf-8')

resp = client.chat(model='llama3.2-vision:11b', messages=[
 {
 'role': 'user',
 'content': 'Опиши фото',
 'images': [img_data] # base64 строка
 }
])

Размер изображения: <10MB, формат JPG/PNG. Таймаут увеличьте — обработка vision медленнее.

Тестируйте ollama api generate или ollama api chat через curl:

curl http://IP:11434/api/chat -d '{
 "model": "llama3.2-vision:11b",
 "messages": [{"role": "user", "content": "Что на фото?", "images": ["base64data"]}]
}'

Ошибки? Модель не vision-версия или GPU не тянет.


Диагностика и логирование ошибок ollama api

Ошибки ollama api:

  • Timeout: Логи сервера + timeout в клиенте.
  • No GPU: nvidia-smi, ollama show --modelfile model.
  • Connection: ping IP, telnet IP 11434, curl тесты.
  • Python: client.generate(..., stream=True) для живого лога.

Полные логи: OLLAMA_DEBUG=1 ollama serve. Сохраняйте в файл.

Вопрос: а что если модель не тянется? ollama ps покажет статус.


Альтернативы и лучшие практики для ollama python

  • Docker: docker run -d -v ollama:/root/.ollama -p 11434:11434 --gpus all ollama/ollama.
  • Альтернативы: LM Studio (GUI), vLLM (быстрее для API).
  • Практики: Кэшируйте модели, используйте stream=True для отзывчивости, мониторьте VRAM.

В проде — Kubernetes с Ollama, но для LAN хватит этого.


Источники

  1. Python API to Ollama running another node — Решение подключения ollama python api в LAN: https://stackoverflow.com/questions/79878898/python-api-to-ollama-running-another-node-of-my-lan
  2. Ollama Troubleshooting — Диагностика ollama timeout, GPU и серверных ошибок: https://docs.ollama.com/troubleshooting
  3. Ollama Host Server — Настройка ollama host для удаленного доступа: https://ikespand.github.io/posts/ollama-host-server/
  4. Ollama Issue #4131 — Таймауты загрузки больших моделей на GPU: https://github.com/ollama/ollama/issues/4131
  5. Ollama Issue #9209 — Решение ollama timeout в API-запросах: https://github.com/ollama/ollama/issues/9209
  6. Ollama Python GitHub — Примеры ollama vision с изображениями в base64: https://github.com/ollama/ollama-python

Заключение

Настройка ollama api и ollama python для LAN — это ollama сервер с OLLAMA_HOST=0.0.0.0, открытый порт, правильные таймауты и GPU-драйверы. С llama3.2-vision:11b избегайте ollama timeout, предзагружая модель и используя base64 для ollama image. Протестируйте curl/nvidia-smi — и vision заработает стабильно. Если проблемы persist, логи — ваш лучший друг.

T

Для подключения ollama python api к удаленному ollama сервер в LAN укажите IP-адрес в Client(host='http://IP:11434'). Убедитесь, что на сервере установлен OLLAMA_HOST=0.0.0.0, порт 11434 открыт в файрволе. Проблемы с ollama timeout возникают при больших моделях — увеличьте timeout в клиенте. Проверьте доступность через curl http://IP:11434/api/tags перед использованием ollama api chat или ollama api generate.

Ollama / Платформа для локального запуска открытых моделей

В официальной документации Ollama по устранению неисправностей описаны логи для ollama сервер и GPU-настройки. Для ollama use gpu проверьте драйверы NVIDIA/CUDA и наличие “detected GPUs” в логах. Ollama timeout при загрузке моделей решается просмотром ollama logs и настройкой OLLAMA_LOAD_TIMEOUT. Рекомендуется ollama pull модели заранее на сервере для ollama api.

S

Настройте ollama сервер с OLLAMA_HOST=0.0.0.0:11434 и откройте порт в брандмауэре для LAN-доступа. В ollama python создайте Client(host='http://192.168.178.30:11434', timeout=120) для llama3.2-vision:11b и ollama image. Тестируйте ollama api url через curl, чтобы избежать ollama timeout. GPU-загрузка управляется сервером — проверьте логи для ollama не использует gpu.

Philip Moraski / Разработчик

Проблема ollama timeout (10 мин) при загрузке больших моделей (34B+) на multi gpu. Увеличьте OLLAMA_LOAD_TIMEOUT до 10+ мин для ollama сервер. Логи показывают обнаружение GPU, но задержки offload — актуально для ollama use gpu в LAN. Рекомендуется мониторить nvidia-smi во время ollama pull.

GitHub / Платформа хостинга кода

Ollama timeout 5 мин при ollama api на больших моделях — задайте timeout=600 в ollama.Client для удаленного ollama сервер. Проверьте CUDA-совместимость и ollama logs на сервере. Для ollama python api в LAN откройте порт 11434 и используйте одинаковые версии Ollama.

Julian B. / Разработчик ПО

В библиотеке ollama python укажите Client(host='http://IP:11434', timeout=120) для ollama local api в LAN. Для ollama vision с изображениями передавайте base64: base64.b64encode(open('image.png','rb').read()). Если ollama не использует gpu, проверьте config.yaml (gpu: true) и ollama logs на сервере после ollama pull llama3.2-vision:11b.

Авторы
T
Разработчик
P
Разработчик
S
Старший инженер-программист
Philip Moraski / Разработчик
Разработчик
Daniel Hiltgen / Инженер-программист
Инженер-программист
Julian B. / Разработчик ПО
Разработчик ПО
Источники
Ollama / Платформа для локального запуска открытых моделей
Платформа для локального запуска открытых моделей
GitHub / Платформа хостинга кода
Платформа хостинга кода
Проверено модерацией
Модерация