Обновить
841.48

Python *

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Таргетированная реклама не всегда предлагает те события, которые интересны. В афишах и лентах ВК сложно найти мероприятие под настроение, т.к. поиск в них отсутствует. На большинстве сайтов невозможно найти событие по смыслу, а только по точному совпадению названий 🤔
Данная статья знакомит с сервисом «Знаток концертов» 🎵 (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.8K

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Всем привет!

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Борис Цирлин

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

Это вторая, завершающая часть опубликованной ранее на Хабре статьи про 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) — метод, при котором в вектор состояния добавляются интегралы ошибок управления.

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

Читать далее

Новогодний подарок: Как я прикрутил LLM к scratch и порадовал ребёнка

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

Как известно, под новый год случаются чудеса, и этот год не стал исключением. Мне удалось прикрутить LLM в визуальный язык программирования Scratch, чем и обрадовал ребенка. А началось всё в один прекрасный день, когда мой сын - школьник осваивал n8n и ваял телеграм бота. Разговорившись, мы вспомнили, что его увлечение программированием началось со Scratch. И его фраза, что было бы здорово, если бы в scratch была бы встроена иишечка, можно столько прикольных игр сделать, стала отправной точкой для данного проекта. Рассказываю и показываю, как мы реализовали эту безумную идею.

Читать далее

Индикация раскладки клавиатуры подсветкой — решение для GNOME

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

Несмотря на весь технический прогресс IT, мне за всё время так и не удалось повстречать убедительное решение проблемы ввода «ghbdtn» вместо «привет» или «lf» вместо «да» — путаницы с раскладкой клавиатуры при наборе текста.

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

Я опишу реализацию решения для среды рабочего стола GNOME, проверенное на дистрибутивах Fedora 43 и Ubuntu 24.04.

Читать далее

Как работают календарные системы. Создаём свой календарь

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

Не для кого не секрет, что мы сейчас пользуемся григорианским календарём введённым после Октябрьской революции большевиками, но празднуем христианские праздники по юлианскому календарю, который отличается от григорианского на 13 дней. Но почему так происходит? Давайте разбираться.

Читать далее

Метрики для задач NLP. Часть 1. Классификация, NER, Кластеризация

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

В этой статье будет рассказано о популярных метриках для NLP-задач: классификации текста, NER и кластеризации. Рассказ будет сопровождаться визуализацией, примерами и кодом на Python.

🔥 Начинаем 🔥

Аналитическая инфраструктура для сбора и исследования данных Steam: архитектура, пайплайны, результаты

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

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

В этом проекте мы разработали полноценный программный комплекс для автоматизированного сбора, хранения и анализа данных Steam. Построили двухуровневую архитектуру хранилища, реализовали оркестрацию чанков, разработали пайплайны работы с API и конфигурацию параллельного масштабирования. На основе собранных данных сформирован датасет объёмом десятки тысяч игр и сотни тысяч пользователей — и проведён базовый аналитический обзор рынка.

Читать далее