backend.

RuntimeNodes: как мы, ML‑щики, стали писать рантайм

продолжить чтение

Почему LLMProvider недостаточно: проектируем AI Gateway для SaaS на Go

Когда начинаешь делать AI-фичу в backend-приложении, первая архитектурная идея обычно выглядит очень здраво: спрятать конкретного провайдера за интерфейсом.Что-то вроде:type LLMProvider interface { Generate(ctx context.Context, req Request) (Response, error) }Сегодня за ним OpenAI-compatible API, завтра другой провайдер, послезавтра локальная модель. Код бизнес-логики от конкретного SDK не зависит, значит архитектурная задача вроде бы решена.

продолжить чтение

Как AI‑ассистент вырос в production‑систему: путь от NLU к оркестрации и надёжной обработке сообщений

В 2025 году Volga AI Assistant начинался как отдельный Telegram‑бот. Пользователь отправлял сообщение, NLU определял намерение, после чего бот возвращал подготовленный ответ.Архитектура первой версии почти полностью повторяла этот сценарий:

продолжить чтение

Что изучить в начале осени: 34 открытых урока для тех, кто развивает карьеру в IT

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

продолжить чтение

Фронтенд никогда не умрёт

Каждые пять лет я слышу одно и то же: фронтенд больше не нужен, ему остался последний год. Сначала говорили про визуальные конструкторы - Wix, Tilda, все дела. Потом, когда ИИ выстрелил, начали хоронить разработчиков под флагом «AI напишет тебе кнопку за секунду». А сейчас новая мода - фулстекеры. Приходят такие ребята и говорят: «Да зачем нам отдельный фронт, я сам и бэк, и фронт на коленке соберу, проект сэкономит, все будут счастливы».Давай просто выдохнем и разберемся, что на самом деле происходит, без паники и хайпа.

продолжить чтение

Как я стал разработчиком и что бы сделал иначе, начиная путь заново: история студента онлайн-магистратуры ИТМО

Привет, Хабр! Меня зовут Влад Лундышев, мне 23 года, я учусь в онлайн-магистратуре ИТМО в партнёрстве с Яндекс Практикумом на направлении «Фронтенд-, бэкенд-разработка и ИИ-решения»

продолжить чтение

Go без мифов: переход с C++, highload, рынок, зарплаты и путь разработчика — интервью с Владимиром Балуном

продолжить чтение

Esp-Monitor: архитектура и развертывание self-hosted IoT-платформы для микроконтроллеров ESP

Одним из самых вдохновляющих моментов в разработке микроконтроллерных устройств является их первая установка и запуск в локальной сети. И этот же момент может превратиться в настоящий ад, когда процедуру приходится повторять десятки или сотни раз. Множество однотипных контроллеров, развертываемых одновременно, требуют часов монотонного конфигурирования — времени, которое любому инженеру хотелось бы провести с большей творческой пользой.Для решения этой проблемы был разработан легкий open-source сервис с открытым исходным кодом и условным названием «esp-monitor».Проблема конфигурации и выбор протокола

продолжить чтение

Где заканчивается вызов LLM и начинается backend система: локальный RAG на FastAPI и Ollama

На практике хотел понять где заканчивается простой вызов локальной LLM и начинается backend система: с API контрактом, логированием, request_id, источниками, индексом документов, диагностикой и честными ограничениями.Сначала проект выглядел просто: frontend отправляет вопрос, FastAPI принимает POST /ask, backend вызывает локальную модель через Ollama и возвращает ответ. Это уже работало, но стало понятно такой вариант ещё нельзя назвать системой по документации. Модель отвечает, но непонятно на что она опирается, откуда взяла ответ, сколько времени занял каждый этап и что делать если документы изменились.

продолжить чтение

Локальный RAG без магии: sources, timings, request_id и отказ от генерации

На практике было интересно не просто вызвать локальную LLM из Python а понять, в какой момент такой вызов превращается в backend-систему: с API-контрактом, логами, request_id, источниками ответа, индексом документов, диагностикой и честным отказом отвечать, если данных в документах нет.В этой статье показываю не теорию RAG, а небольшой локальный проект, где хорошо видно, какие инженерные проблемы появляются вокруг LLM:что попадает в prompt;какие sources были найдены;сколько заняли retrieval и generation;когда backend должен не вызывать LLM;почему stale index может давать странное поведение;

продолжить чтение