Coding for AI - Как я быстро запускаю сервера с AI сервисами Меня очень радует, когда в небольшой слайс времени и внимания получается упихнуть заметный объем работ за счет эффективного использования современных технологий. Сейчас как раз случился аналогичный пример - не могу не поделититься. Итак, нужно быстро завести и запустить с нуля сервер с парой AI сервисов на разных языках, разными зависимостями, нормальным HTTPS, настройками network и SystemD? Чтобы все конфигурации были версионированы, применялись автоматически, а в случае проблем AI сервер можно было перезагрузить на любую предыдущую конфигурацию. Плюс, естественно, надо дать доступ разработчикам к deployment pipelines, чтобы они могли сами выкатывать новые версии. И чтобы новые сервисы, DEV/PROD слоты втыкались в сервер без проблем, а сам AI сервер с потрохами можно было при желании перенести на другое железо или переупаковать в виртуальную машину. На все это суммарно ушло несколько часов, включая отладку, организационные нюансы, постановку пары небольших процессов, документацию итп. Как все это делается? - Разработчики заранее сами разрабатывают сервисы так, как им это удобно. Используют ChatGPT/Claude и их друзей. Один сервис на Python, другой в данном случае - Golang. Не суть столь важно - Заводим виртуальную машину, где быстрее и проще, переключаем на NixOS. - Кидаем ChatGPT в проект “DevOps Wizard” краткое описание сервисов, путей, необходимых ресурсов и просим одним файлом описать виртуальную машину. - копируем выхлоп на 100 строчек, проглядываем глазами и запускаем команду `nixos-rebuild switch`. Через десяток секунд все будет развернуто, в OS установятся нужные зависимости, добавятся нужные ключи инженеров и переменные окружения, появятся SystemD слоты для запуска самих сервисов, Reverse Proxy получит HTTPS сертификаты и настроит раутинг, а порты - откроются. В чем фишка? Проект “DevOps Wizard” - это просто типовая инструкция, которая велит LLM-ке подумать и написать аккуратную конфигурацию для NixOS. Там есть пара примеров разворачивания аналогичных систем просто для того, чтобы LLM-ка видела привычные правила форматирования и названия переменных. Плюс поскольку все проекты уже спокойно укладываются в портфель из известных кейсов и паттернов, то и конфигурация достаточно типизированная (если только не нужно возиться с хитростями CUDA). А если есть host.nix, то полностью перенастроить сервер на новую конфигурацию - это дело секунд. Технология на базе NixOS настолько безотказная, простая и работающая (на моих кейсах), что все просто работает. Главный недостаток системы - по-своему упоротый синтаксис и относительная нишевость (админы обычно знают про Ansible, Chef или puppet). Но если бОльшую часть работы по возне с Nix DSL берет на себя LLM, а результаты налицо, то это мало кого волнует. В итоге - одно удовольствие быстро разворачивать AI сервисы, если вдруг это надо срочно сделать самому. А у вас есть свои примеры технологий, которые доставляют сплошную радость от использования? Ваш, @llm_under_hood 🤗