
Python *
Высокоуровневый язык программирования
Облачная LLM на 16 ГБ VRAM — часть 3: ChatGPT-интерфейс для ваших LangGraph-агентов

Финал цикла про облачную LLM на 16 ГБ VRAM.
За две предыдущие статьи мы подняли собственную локальную модель на облачном сервере с GPU на 16 ГБ VRAM, разобрались с vLLM и tool calling, собрали агентный бэкенд на LangGraph с MCP-серверами, получили вокруг него полноценный REST API из коробки и обернули все это в FastAPI-сервис через LangGraph SDK.
В этой части закрываем полный стек: к готовому агентному бэкенду на LangGraph подключаем официальный ChatGPT-подобный фронтенд от LangChain — agent-chat-ui. Переводим на русский, добавляем переключатель между тремя агентами разной архитектуры и удаление чатов. Закрываем API Bearer-авторизацией с разбором нюансов, которых нет в документации. Деплоим всё на VPS с доменом и SSL — LangGraph внутри контура, наружу смотрит только фронт.
Django-style фильтры поверх SQLAlchemy: зачем я написал python пакет sqlalchemy-query-manager

TL;DR: я сделал sqlalchemy-query-manager — небольшой слой поверх SQLAlchemy для типовых backend-запросов. Он не заменяет SQLAlchemy, а добавляет более компактную запись для частых операций: фильтры в стиле number__gte=100, условия через Q, фильтрацию по связанным моделям, eager loading, CRUD helpers, агрегаты и просмотр итогового SQL. Идея в том, чтобы оставить SQLAlchemy в основе, но убрать повторяющийся код там, где запросы становятся слишком большими.
Что такое нейросети и как они устроены под капотом (на пальцах, с примерами на python)

Привет, Хабр! В этой статье я хочу рассмотреть нейросети: как они обучаются, как работают и из чего состоят. На примере перцептрона с реализацией на python.
Эта статья — не очередной обзор готовых библиотек вроде PyTorch/TensorFlow, а разбор нейросетей с нуля. Вы узнаете, из чего состоят нейроны и слои, как данные проходят через сеть, как она учится на ошибках и почему не всё всегда гладко. Материал рассчитан на новичков, которые хотят узнать как работают простейшие нейросети со стороны математики.
Построили рекомендательную систему для игр и поняли, почему простые решения работают, а сложные нет

Каждый месяц в игры внутри приложения Альфа-Банка заходят миллионы пользователей. В игре человек выполняет задания ради бонусов или энергии, а для банка эти задания — реальные действия: оплата ЖКХ, заправка через приложение или заказ новой карты. Это отличный способ нативно продвигать продукты без назойливых рекламных баннеров.
Если в играх мало заданий, то их можно просто показать всем. Но когда механик становится много, появляется классическая рекомендательная задача: что именно предложить конкретному клиенту, в каком порядке, и как оценить эффект?
Ниже история о том, как мы автоматизировали этот процесс, почему простые решения победили сложные архитектуры и к чему это привело на практике.
Science‑purpose‑RAG: туда и обратно

Я хотел написать маленький локальный RAG для научных статей: графы, hybrid search, HyDE, reranker, всё красиво. В итоге Full Pipeline проиграл почти всем простым baseline’ам, графы начали портить контекст, HyDE вредил, а локальная LLM уверенно делала вид, что всё хорошо. Потом я разобрался, что ломалось, выкинул лишние LLM‑вызовы, починил trimming и получил систему, которая, наконец, начала выигрывать там, где должна.
Сикофантия? Или ускорение динамического пересчета определителя от O(n³) до O(n)?

Всем привет. Хотел бы поделиться своими результатами и обратиться за ответным мнением.
Представлюсь: Шевченко Максим Юрьевич. Работал мануальным тестировщиком (в том числе); считаю себя исследователем, в основном, в области математики.
Лет 10 тому назад мне удалось вывести обобщение тождества Деснано‑Якоби, связанное с методом конденсации Чарльза Доджсона (более известного как Льюис Кэрролл). Тогда это обобщение показалось мне интересным лишь с теоретической точки зрения, и никакого практического применения его я не предполагал. Некоторое время эта работа «пылилась в сундуке», пока я ее, наконец, не опубликовал на GitVerse (там же Python код, о котором позже).
В настоящее время, оказавшись без работы, я вдруг понял, что мой труд, как и я сам, снова пылится без дела и пользы, и почувствовал досаду. Дело еще в том, что будучи человеком без ученой степени, в академических кругах я часто сталкивался с так называемым «недоумением» в свой адрес по поводу моих научных изысканий. Работа моя была опубликована в нерецензируемом журнале. Так что до поры мне не удавалось осознать степень ее новизны и область применения.
И потому в качестве рецензента я решил наконец обратиться к искусственному интеллекту (далее «AI»). LLM‑модели не интересуются регалиями, не затягивают ответ на полгода и готовы отвечать на вопросы до бесконечности.
Конечно, с другой стороны AI может «галлюцинировать», а также выдавать желаемое за действительное, то есть заниматься «цифровым подхалимством»: сикофантией.
Неочевидная мина в использовании docker compose

2 июня мой мониторинг аптайма разом отрапортовал, что упало почти всё: 932 инцидента за 25 минут. Сайты были живы — все до единого. Виноваты дефолтный лимит файловых дескрипторов 1024 и «оптимизация», тихо размножившаяся в 60 раз. Разбираю по приборам: /proc, ss, EMFILE и почему docker compose restart не спасает.
Nexus 3 как прокси для npm и PyPI: опыт команды из 16 разработчиков

За последние пару лет доступность внешних реестров и CDN для российских команд стала менее предсказуемой. Для пользователя это обычно выглядит как «сайт не открывается», а для разработчиков — как внезапно упавший CI, зависшая сборка или сорванный деплой.
Привет, Хабр! Меня зовут Рахимов Искандер, я фронтенд-разработчик в компании Sofoil.
Для понимания контекста: речь идёт о подразделении Sofoil, которое занимается разработкой интерактивных обучающих систем. В команде работает 16 разработчиков, а основной стек — Angular на фронтенде и Python на бэкенде.
Со временем проблемы с внешними реестрами начали накапливаться: сборки замедлялись, периодически возникали таймауты, а стабильность релизов всё чаще зависела не от нашего кода, а от доступности сторонних сервисов.
В какой-то момент стало понятно, что проблему нужно решать системно. В качестве решения мы выбрали Sonatype Nexus 3. Расскажу, как внедряли его в инфраструктуру, какие задачи он закрыл и с какими нюансами пришлось столкнуться.
PyOffline2: простой офлайн-менеджер для Python-пакетов без лишней головной боли
PyOffline2 — мой «чемоданчик с инструментами» для Python. Он позволяет один раз сохранить всё нужное и разворачивать проекты где угодно без интернета и системного python. Работает из коробки, без Docker и дополнительных серверов.
Как утки с СДВГ довели меня до опенсорса: зачем я собрал утилиту для перевода коротких видео на домашней видеокарте

Всем привет! Листал ленту тиктока и попался американский ролик про СДВГ, где всё объясняют на утках. Понравилось. И я подумал: классно было бы сделать такой же тикток, только на русском.
Но я ленивый. Снимать, писать сценарии, делать всё с нуля - это скучно. А вот взять готовый ролик и перевести-переозвучить его на русский - вот это уже интересно, подумал я, а потом задумался, о том, как это автоматизировать. Это оказалось интересной инженерной задачей, которая увлекла меня на неделю времени, и привела к созданию ИИ утилиты с открытым исходным кодом. А тикток с утками я так и не создал...
Сколько стоит контекст для кодового агента: grep vs граф vs LSP на большом проекте (936 прогонов)
Я взял одного и того же агента (Claude Code), менял у него ровно одну вещь — какой MCP-сервер отдаёт контекст по коду, — и гонял по 26 задачам на apache/superset. Четыре «руки»: filesystem (grep + read), graphlens (структурный граф), serena (LSP) и codegraph. Три модели (haiku / sonnet / opus), три сида — 936 прогонов.
Главный результат: вывод переворачивается в зависимости от типа задачи.
Как разобрать .exe всего двумя инструментами: практический разбор с DeNuitkanizator и HxD

Возможно ли разобрать .exe всего двумя инструментами?
В данной статье будет практический разбор программ с помощью двух инструментов: HxD и DeNuitkanizator. Без Ghidra, без IDA, без x64dbg.
Посмотрим что получится, а что нет. Вам понравится :)
Ближайшие события
Okama.io: профессиональные инструменты для анализа инвестиционных стратегий

Сайт okama.io — набор бесплатных интерактивных инструментов для портфельного анализа инвестиционных стратегий: граница эффективности, сравнение активов, бэктестинг портфелей с денежными потоками и прогнозом Монте-Карло, поиск по базе финансовых данных и макроэкономика. Весь проект — open-source на Python (приложение okama-dash на Dash/Plotly).
Бесплатный фото-хостинг на Youtube, Rutube, Telegram, Max

Из фото делаем слайдшоу видео и его заливаем (можно unlisted/private, чтобы никто не видел) на любую площадку, где хранят видео. Затем, если надо - скачиваем видео и извлекаем фото обратно. Потери качества - есть, но допустимые.
Идеально для резервного хранения фото.
Browser Policy Manager: распаковка

В предыдущих публикациях я уже рассказывал, зачем вообще появился Browser Policy Manager, почему я начал с Firefox Enterprise Policies и почему не стал делать «просто генератор policies.json». Эта статья — более техническая. Здесь я хочу разобрать, как Browser Policy Manager устроен внутри на версии 0.8.8.
Версия 0.8.8 для проекта важна тем, что в ней фактически сложилась основная архитектура продукта:
Создаем описания изображений для sigplus (Joomla) без боли

У CMS Joomla есть одно замечательное расширение для вывода галерей на страницах сайта - sigplus, и он может выводить описания для изображений в галерее, но разработчик не предусмотрел инструмент для комфортного создания файлов с описаниями, за него это сделал я.
Книга: «Анализ данных с LLM. Текст, таблицы, изображения и аудио»

Привет, Хаброжители! Большие языковые модели (LLM) позволяют оптимизировать и ускорить решение практически любой задачи в области анализа данных. Освойте методы для анализа больших массивов текстовых, табличных и графовых данных, изображений, видео и многого другого с помощью понятных запросов на естественном языке и нескольких строк кода на Python.
Как я подключил Obsidian к Claude и Codex: домашний сервер, CouchDB, MCP и баг, который съедал заметки

Статья про то, как я связал Obsidian с Claude и Codex через домашний сервер, CouchDB и MCP, а по дороге поймал баг, который тихо съедал куски заметок.
🔧 Это не про «как всё стало умным», а про нормальную историю с self-hosted, авторизацией, странностями LiveSync, мобильными клиентами, CORS, OAuth 2.1.
Внутри выводы о том, как давать AI доступ к базе знаний и не потерять эти самые данные.
Заходите, читайте и делитесь своим опытом ❤️
Хватит засовывать всё в контейнеры: возвращаем комфорт в локальную разработку

Всем привет! Сегодня хочу поделиться своим подходом к локальной разработке backend‑приложений. Речь пойдёт о том, как вернуться к использованию виртуальных окружений, отказавшись от контейнеризации там, где она начинает мешать, а не помогать.
Каждый разработчик давно знает обо всех преимуществах Docker: мы привыкли воспринимать его как универсальный ответ на любые вопросы инфраструктуры. Некогда революционная парадигма разработки стала чем‑то обыденным и сегодня часто принимается как no‑brainer решение при разработке очередного проекта на локальной машине. Но давайте на минуту остановимся и зададимся вопросом: всегда ли эта избыточная изоляция оправдана? Действительно ли мы нуждаемся в «мини‑сервере» на каждом этапе написания кода, или мы просто следуем моде, жертвуя скоростью и комфортом.
