Найти в Дзене

Как я приручал Ollama: DevOps-костыли, которые реально работают

Вы когда-нибудь сталкивались с задачей, которая кажется простой, но внезапно превращается в настоящий квест? Вот и я решил поэкспериментировать с Ollama — локальным сервером для больших языковых моделей. Но на этот раз я пошёл дальше: впервые запустил Ollama в режиме 24/7, чтобы проверить, как она поведёт себя в условиях, максимально приближённых к продакшену. Это был осознанный тест — мне важно было понять, выдержит ли система настоящую боевую нагрузку, ведь именно так её будут использовать в реальных проектах “конечно нет))”. Казалось бы, что может пойти не так?
— Всё! 😁 Вот это называется попробовал Ollama на Windows в режиме 24/7. Да, я знаю, «Windows must die», у самого такой плакат есть, но иногда хочется и поиграть, и поработать, и всё на одном компе — кто меня осудит? Да потому, что по-настоящему интересно разбираться с такими задачами! Любопытство — главный двигатель: всегда хочется понять, как можно выкрутиться, если вдруг подобная проблема возникнет в работе, когда нужно бу
Оглавление

Проблема

Вы когда-нибудь сталкивались с задачей, которая кажется простой, но внезапно превращается в настоящий квест?

Вот и я решил поэкспериментировать с Ollama — локальным сервером для больших языковых моделей. Но на этот раз я пошёл дальше: впервые запустил Ollama в режиме 24/7, чтобы проверить, как она поведёт себя в условиях, максимально приближённых к продакшену. Это был осознанный тест — мне важно было понять, выдержит ли система настоящую боевую нагрузку, ведь именно так её будут использовать в реальных проектах “конечно нет))”.

Казалось бы, что может пойти не так?
Всё! 😁

  • Ollama стабильно работала… ровно до тех пор, пока не решала, что хватит с меня счастья.
  • GPU-память утекала, как бюджет на стартапе без CTO.
  • API не рвал соединение, но сервер зависал намертво — классика жанра.

Вот это называется попробовал Ollama на Windows в режиме 24/7.

Да, я знаю, «Windows must die», у самого такой плакат есть, но иногда хочется и поиграть, и поработать, и всё на одном компе — кто меня осудит?

Почему не сдался?

Да потому, что по-настоящему интересно разбираться с такими задачами!

Любопытство — главный двигатель: всегда хочется понять, как можно выкрутиться, если вдруг подобная проблема возникнет в работе, когда нужно будет срочно и быстро выпустить в мир MVP, а тут — бац! — и всё зависло.

Я не из тех, кто сдаётся при первой же трудности “да и второй трудностью, да даже N-ной меня не остановить, пафос +1000

Наоборот, именно в таких ситуациях проявляется настоящий профессионализм: когда важно не только знание технологий, но и умение быстро находить нестандартные решения, даже если времени в обрез.

В продакшене такие ситуации — не редкость и именно здесь важна скорость реакции.

Решение

«Если что-то не работает — перезапусти, а если ты программист — автоматизируй перезапуск!»

Я перепробовал всё: обновил Ollama, драйвера, CUDA, даже попробовал шаманские танцы с бубном “и не в настройках”. Но проблема осталась: сервер зависал, а мои данные ждали своей очереди на обработку.

И тут сработал принцип:

«Если что-то делаешь больше 5 раз — автоматизируй!»

Написал небольшой сервис на Golang, который предоставил API для удалённой перезагрузки Ollama. Теперь, если что-то идёт не так — достаточно отправить POST-запрос на специальный эндпоинт и Ollama перезапускается без лишних телодвижений. ‘тут будет ссылка на githab’

А ещё лучше: видим, что ответа долго нет — отправляем команду, всё перезагружается и вуаля!

Результат?

  • Перезапуск стал делом одной команды (запускаемой автоматически).
  • Не нужно лезть на сервер или вручную убивать процессы.
  • Можно интегрировать этот API в любые свои скрипты, мониторинги и автоматизации.
Сервис работает нон-стоп и даже «зависания» лечатся автоматически. Звучат фанфары, вы великолепны!

Почему это важно?
(или «В защиту костылей»)

Давайте честно: это не автоматизация в классическом смысле, а ‘инженерный костыль’.

Но именно такие решения спасают, когда нужно быстро что-то починить, запустить MVP или просто не хочется тратить вечность на «идеальную архитектуру».

  • Костыли — это не стыдно, если они работают.
  • В реальных проектах побеждает не тот, кто пишет самый красивый код, а тот, кто быстрее всех решает проблему.
  • А если костыль ещё и с API — это уже почти фреймворк! 😉
Так что не бойтесь временных решений. Иногда именно они становятся началом чего-то большого “или хотя бы позволяют спокойно дожить до утра”. Позже будут примеры, когда так делать не стоит.

Что дальше?

Буду делиться такими историями, лайфхаками и инсайтами из мира IT и автоматизации.

Если вам интересно узнать, как решать сложные задачи просто, быстро и с юмором — подписывайтесь на мой канал, ставьте лайк и делитесь этим постом с друзьями!

Если хотите поддержать канал — донаты всегда приветствуются и отлично сказываются на вашей карме 😉

А с какими «неубиваемыми» багами сталкивались вы?

Пишите в комментариях — всегда рад новым знакомствам и профессиональным диалогам!

С вами был Алекс — тот, кто не боится сложностей и умеет превращать их в возможности. Давайте делать крутые вещи вместе!

P.S.

Если нужен совет или хотите обсудить проект — пишите, всегда открыт к новым интересным задачам и сотрудничеству.

Если нужно, могу доработать структуру или добавить больше технических деталей — дайте знать в комментариях!

-2