Обновить
558.7

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

RAG — это не память. Разбираем архитектуру персистентных AI-агентов

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.6K

Почему векторной базы/RAG недостаточно для качественной памяти ИИ-агентов. Приближаем поведение агента к человеческому с помощью архитектурных решений поверх LLM

Читать далее

Как налоговый юрист написал сервис для расчета пени по НДС с помощью LLM, не зная Python

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8K

Я налоговый юрист и автор телеграм-канала «Налоговый Инсайдер». В моей работе есть рутинные задачи, которые сложно автоматизировать стандартными средствами вроде Excel. Одна из таких задач — расчет пени по НДС при подаче уточненной налоговой декларации.

В этой статье я расскажу, как не написав самостоятельно ни строчки кода с помощью Gemini и ChatGPT я прошел путь от идеи до работающего приложения на Flask , и с какими неочевидными техническими проблемами (вроде устаревшего Python на хостинге и CGI-скриптов) столкнулся гуманитарий-юрист пытаясь запустить современную программу на обычном хостинге.

Читать далее

Нейропоисковик на 17 миллионов картинок: OpenCLIP, Qdrant и ZeroTier вместо облаков

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели13K

Как сделать свой аналог Pinterest, если у вас нет бюджета корпорации, но есть 4 ТБ картинок (17 миллионов штук) и желание искать по ним не просто по тегам, а по визуальному стилю?

В статье — опыт построения распределенной системы поиска из подручных средств. Разбираем архитектуру: — Гибридное хранение: Backblaze B2 (холодное) + Домашний сервер (вычисления). — Сеть: Как ZeroTier объединил разрозненные ноды в одну Mesh-сеть без белых IP. — Векторный поиск: Как уместить 17 миллионов векторов OpenCLIP ViT-H/14 в 32 ГБ RAM с помощью Qdrant и квантизации. — Оптимизация: Почему поиск работает за 5 мс, а загрузка метаданных тормозила до 3 секунд, и как PostgreSQL спас ситуацию.

Полный разбор ETL-пайплайна и экономики домашнего HighLoad-проекта.

Читать далее

Один микросервис — один контейнер. День 1

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели11K

Это первая статья о том, как идея проходит путь от прототипа до полноценного продукта — с участием архитектуры на каждом шагу. Формат — ADR (Architecture Decision Records): каждое решение зафиксировано по дням, чтобы показать реальную эволюцию проекта. Продукт вымышленный, проблемы — настоящие. Те самые, с которыми сталкиваются архитекторы и команды. Документация и код — в открытом доступе на GitHub.

Читать далее

Как мы построили систему видеоаналитики на open source и довели её до продакшена

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.9K

Всем привет, я Иван, продакт-менеджер. В этой статье разберу практический опыт построения системы видеоаналитики на базе open source-инструментов: от выбора библиотек и архитектуры до проблем с производительностью и масштабированием под десятки видеопотоков.

Материал будет полезен инженерам, тимлидам и продакт-менеджерам и всем тем, кто рассматривает open source как основу для production-ready CV-систем.

Читать далее

AutoCraft‑Bot: Telegram как пульт управления Windows

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели11K

Этот проект я изначально писал для себя и под свои рабочие привычки: хотелось иметь быстрый «пульт» к компьютеру/серверу из Telegram, где всё управляется кнопками, без постоянного ввода команд.

Потом стало понятно, что штука может пригодиться и другим людям, поэтому я решил выложить её в открытый доступ.

Репозиторий на GitHub

Последняя версия на GitHub на момент публикации: v1.1.7.

Если интересно, как всё начиналось и к чему я пришёл по ходу разработки, у меня уже выходили две статьи на Хабре:

Читать далее

Мало кто знает, но в Python есть switch/case: Гид по структурному сопоставлению (match/case) не только для версии 3.10+

Время на прочтение6 мин
Охват и читатели17K

Разбираем мощь match/case в Python: от базового синтаксиса до распаковки JSON и эмуляции в старых версиях.

Читать далее

Умная афиша концертов Золотого кольца России: Python + LLM

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8.8K

Таргетированная реклама не всегда предлагает те события, которые интересны. В афишах и лентах ВК сложно найти мероприятие под настроение, т.к. поиск в них отсутствует. На большинстве сайтов невозможно найти событие по смыслу, а только по точному совпадению названий 🤔
Данная статья знакомит с сервисом «Знаток концертов» 🎵 (https://www.t.me/koncert_calendar_bot), где интеллектуальный поиск позволяет находить мероприятие под желания и настроение по городам Золотого кольца России
Для пытливых умов есть более углублённые технические блоки. В данных блоках разобраны: архитектура сервиса, подводные камни, развёртывание в продакшен.

Приятного чтения 😉

Маленькая модель обыграла большие: почему Nanbeige4-3B меняет правила игры

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели15K

В ноябре вышла модель Nanbeige4-3B-25-11 (а 6 декабря они выложили статью об обучении на arxiv). Её размер всего лишь 3 миллиарда параметров. Это почти в 100 раз меньше, чем GPT-4, и даже меньше, чем большинство открытых моделей.

Но вот парадокс: на тестах она достигает показателей выше, чем модели в 10 раз больше, а на бенчмарке WritingBench и вовсе держится на уровне проприетарных моделей занимая место между Gemini-2.5-Pro и Deepseek-R1-0528.

В своей предыдущей публикации я уже затрагивал тему того, что качество обучающих данных важнее, чем их количество. Данная модель этому очередное подтверждение.

Читать далее

Как превратить звонки техподдержки в самообновляемую базу знаний на Python и LLM

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8.6K

Привет, Хабр!

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

В этой статье разберём инженерный способ автоматически извлекать из этого потока проблемы и решения и вести актуальную базу знаний с помощью Python, МТС Exolve и LLM.

Читать далее

От голосовых к тексту: делаем Telegram-бота для расшифровки аудио на open source модели от СБЕР — GigaAM-v3

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.7K

Привет, Хабр! Недавно Сбер выкатил новые модели распознавания речи, и мне захотелось проверить их не в абстрактном демо, а в реальном сценарии. В этой статье я расскажу о практическом кейсе – разработке Telegram-бота, который преобразует голосовые сообщения в текст. Посмотрим, на что способна новая отечественная модель GigaAM-v3, и соберём на её основе расширяемого Telegram-бота.

▁ ▂ ▃ ▅ ▃ ▂ ▁ ▂ ▃ ▅ ▆ ▅ ▃ ▂ ▁

Классифицируем пневмонию по рентгену на Python: Практический гайд с Keras

Время на прочтение4 мин
Охват и читатели4.6K

Каждый год миллионы людей сталкиваются с пневмонией. Ранняя и точная диагностика — ключ к успешному лечению. Рентгенография грудной клетки остается основным инструментом скрининга, но ее интерпретация требует экспертизы и времени, которого в условиях перегруженных клиник часто не хватает.

Здесь на помощь могут прийти методы глубокого обучения, в частности, сверточные нейронные сети (CNN). Они способны анализировать изображения с высочайшей точностью, выступая в роли «второго мнения» для врача или инструментом первичного анализа. В этой статье мы не будем рассуждать о будущем, а здесь и сейчас построим работающую модель для автоматической классификации рентгеновских снимков на три категории: COVID-19, вирусная пневмония и норма.

Этот материал — часть моей магистерской работы по разработке ПО для диагностики легочных заболеваний. Мы пройдем весь путь: от подготовки данных до обучения модели и оценки ее результатов.

Читать далее

Как построить идеальную «песочницу» для ML-моделей

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели6.2K

Привет, Хабр! Я Даниил Салман, техлид по контейнеризации. Эта статья написана по мотивам моего доклада для конференции DevOops. Разберёмся, как сделать такую ML-«песочницу», где Data Scientist пишет код, а всё остальное (установка драйверов, выделение ресурсов, деплой и тренировка модели, сбор метрик) уже настроено на бэкенде. Написали максимально просто и доступно, чтобы понять смог даже человек с минимальным погружением в тему. Идеи из этой статьи можно применять в любой инфраструктуре — важно лишь понимать основы: как работает k8s-кластер, Docker и python-фреймворки. Итак, поехали!

Читать далее

Ближайшие события

Как я перестал лениться и написал бота, который переносит слова из Kindle в ReWord за меня (теперь с ИИ)

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.2K

Всем привет!

Думаю, многим из тех, кто решил покорять литературу на английском знакома эта ситуация: читаешь книгу (в моем случае - на читалке Kindle), честно выделяешь незнакомые слова, думая: «Вот дочитаю главу/книгу, выпишу их и выучу».

Но есть загвоздка :-)

Читать далее

Хаос второго порядка: Как алгоритмические торговые боты играют сами против себя в убыток

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели7.4K

🤖 Тысячи копий одного и того же алгоритма от Claude/Grok/ChatGPT торгуют друг против друга. Это создаёт спираль смерти, на которой зарабатывает только биржа через комиссии

Читать далее

Российский ИИ: критика, которая нужна сейчас, и путь, который работает

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели11K

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

Да и в целом, несмотря на заявления об использовании современных архитектур и решений складывается впечатление, что «наши» модели словно отстают на 1, а то и 2 поколения от зарубежных аналогов.

Но так ли все плохо и есть ли белый свет в конце тоннеля для российских LLM?

Читать далее

Финансовый AI-агент на Python: MCP и CodeAct

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели13K

Продолжаем строить финансового AI-ассистента на базе MCP-сервера Finam. Сначала создадим классического MCP-агента на LangChain, затем эволюционируем его в CodeAct-архитектуру, где AI пишет Python-код вместо прямых вызовов функций. В итоге получим агента, способного анализировать тысячи акций, строить графики и не переполнять контекстное окно.

Читать далее

Дистрибутивные схемы, ч.2

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6K

Борис Цирлин

Продолжается рассмотрение класса дистрибутивных схем - подкласса схем, не зависящих от скорости, начатое в ч.1. Этот подкласс является промежуточным между параллельно-последовательным, рассмотренным в упомянутой статье и полумодулярными схемами которым посвящена статья "Полумодулярные схемы"

Все эти подклассы были описаны в книге "Автоматное управление асинхронными процессами в ЭВМ и дискретных системах, вышедшей под редакцией В.И.Варшавского в 1986 г. из которой и здесь заимствуются их формальные определения. Подсчитано количество дистрибутивных схем, состоящих из двух и трех элементов. Определены и подсчитаны неизоморфные схемы этого подкласса.

Читать далее

Почему мультиагентные системы плохо работают на малых данных

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.6K

Мультиагентные системы — главный тренд в AI‑разработке. AutoGPT, CrewAI, LangGraph, Microsoft AutoGen обещают армию специализированных агентов, которые вместе решат любую задачу.

Сделал систему на 5 агентов, а потом передумал и сделал на одного.

История о том, что иногда с ИИ надо упрощать, а не усложнять.

Читать далее

Augmented LQR: расширяем пространство состояний, чтобы убрать статическую ошибку  (Часть 2)

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4.7K

Это вторая, завершающая часть опубликованной ранее на Хабре статьи про MIMO LQR/LQG регуляторы.

В первой части мы синтезировали LQR и LQG регуляторы. При всех достоинствах стандартные LQR (u = -Kx) и LQG (u = -K\hat{x}) по своей сути являются пропорциональными регуляторами (P-регулятором в терминах PID). Поэтому при наличии постоянного внешнего возмущения система в установившемся режиме (steady state) сходится не к нулю, а к некоторой статической ошибке x_{ss}. В этой точке управляющее воздействие u_{ss} = -K x_{ss} лишь компенсирует возмущение, но не может вернуть переменную точно к уставке.

Вспомните тяжелые маятниковые двери в исторических вестибюлях метро. Обычно после прохода человека они закрываются точно по дверному проему. Но если включена напорная вентиляция (постоянное возмущение), двери приоткрываются и остаются в таком положении. Пружина (пропорциональный регулятор) уравновешивает давление воздуха, но не может закрыть дверь до конца.

В статье мы рассмотрели несколько подходов к решению этой проблемы и реализовали синтез LQR с расширенным состоянием (Augmented LQR) — метод, при котором в вектор состояния добавляются интегралы ошибок управления.

Как обычно, ссылка на код в конце статьи.

Читать далее

Вклад авторов