Обновить
595.7

Python *

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

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

Как я собрал AI-ассистента для отца с больным сердцем: Tool-Calling RAG Pipeline на GPT-4o-mini без LangChain

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

Мой отец — человек, переживший несколько сложнейших операций на сердце. Жизнь с хроническим заболеванием — это бесконечный поток анализов, заключений и схем приёма лекарств. Находясь далеко (я живу во Вьетнаме), я постоянно волновался: не забудет ли он про дозу, правильно ли понял назначение, задал ли все нужные вопросы врачу?

Мне нужен был не просто бот-напоминалка, а второй пилот — умный, конфиденциальный и мультимодальный AI-Кардиолог. Ассистент, который знает его анамнез наизусть, понимает голосовые команды и может «прочитать» фотографию свежего анализа.

Я решил собрать полноценный автономный агент с возможностью вызова внешних инструментов (Tool‑Calling) и локальной базой знаний (RAG), но без использования громоздких фреймворков вроде LangChain или LlamaIndex.

Читать далее

По следам CPython. Часть 1. Настройка VS Code и первые шаги

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

Привет, читатель! Меня зовут Александр Щербанюк, и я Python-разработчик. Это первая статья цикла, который посвящен разбору внутреннего устройства CPython.

Читать далее

SmileFace. Когда нейросеть улыбается тебе в ответ

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

SmileFace — игра, в которой нейросеть угадывает эмоции

Мы сделали интерактивный стенд: камера, смайлики и нейросеть, которая пытается распознать, что вы чувствуете. В статье — как это работает, с какими трудностями столкнулись и как запустить игру у себя.

Улыбнуться ИИ

Изучаем ООП Python: наследования для начинающих с домашним заданием

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

Наследование — это механизм, который позволяет создавать новый класс (наследник или дочерний класс) на основе уже существующего (родителя или базового класса). Дочерний класс автоматически «забирает» все атрибуты и методы своего родителя. Ему не нужно определять их заново.

Проще говоря, вместо того чтобы говорить: «Гоблин — это что-то, у чего есть здоровье и атака. Дракон — это что-то, у чего есть здоровье и атака», мы говорим: «Сначала создадим общий шаблон "Враг" с базовыми характеристиками. А гоблин и дракон — это разновидности этого врага, которые наследуют всё от него и добавляют что-то своё».

Читать далее

Уровни изоляции транзакций: практическая механика и сравнение PostgreSQL, MySQL, Oracle, SQL Server и DB2

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

Транзакции — не про «магическое ACID», а про конкретную механику согласованного доступа к данным под нагрузкой.

Эта статья объясняет как реально работают уровни изоляции и чем отличаются популярные СУБД на практике.

Мы разберём:

Читать далее

Как мы перестали хранить Pydantic в JSON и в 7 раз сократили расход памяти в Redis

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

У нас был большой продакшен-сервис с ~10M MAU, где Redis использовался как основное хранилище состояния пользователей. Все данные лежали в нём в виде JSON-сериализованных Pydantic-моделей. Это выглядело удобно, пока не стало больно.

На определённом этапе мы выросли до Redis Cluster из пяти нод – и он всё равно задыхался по памяти. JSON-объекты раздувались в разы относительно полезных данных, и мы платили за тонны пустоты — буквально деньгами и деградацией.

Я посчитал сколько весят реально полезные данные и получил цифру, от которой понял, что так жить больше нельзя.

Читать далее

«Манускрипт. Распознать нельзя забыть: как мы научили нейросеть читать рукописи XIX века»

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

Manuscript OCR — открытая нейросеть для чтения рукописей XIX века

Мы обучили свою OCR-модель распознавать дореформенную кириллицу, нестандартные почерки и сложные сканы. Всё — на собственных данных, с нуля. В статье — как мы это сделали и ссылки на репозиторий с кодом.

Открыть рукопись

Делаем самые лучшие фото для документов

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

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

Делали ли вы электронную визу в Индию? А, может, в Южную Корею? Или подавались на лотерею Green Card в США? Если да, то вы точно знаете, что для заявки на все эти документы надо прикрепить фотографию определённого размера с целым набором требований...

А такое ну просто необходимо автоматизировать!

И, как можно догадаться, сайтов для автоматизации фотографий на документы просто куча. Только вот есть одна проблема: все эти сайты хотят много денег - от 5 до 12 долларов за приведение фото к нужным требованиям.

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

Подробности под катом!

Читать далее

Ловим «взрослые» сцены на видео: как ИИ помогает редакторам

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

Поводом для написания этой заметки стало обсуждение на недавнем отраслевом мероприятии задач мультимодерации контента: как быстро и надёжно находить «взрослые» сцены в длинных видео и автоматически подсвечивать фрагменты для ручной проверки. Похожие кейсы регулярно встречаются и в открытых соревнованиях по ИИ (например, в подборке задач Wink AI Challenge на Codenrock).

Читать далее

Изучаем Python: модуль csv для начинающих с домашним заданием

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

CSV (Comma-Separated Values) — это универсальный язык для обмена табличными данными, который понимают все, от Excel до сложных баз данных. Вся его сила в простоте: это обычный текст, где значения разделены запятыми. Именно поэтому он стал стандартом для выгрузки отчетов, переноса контактов и подготовки данных.

Читать далее

Ансамблирование BERT для анализа логов и почему вам может быть достаточно solo-модели

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

1 августа 2012 года, торговая фирма Knight Capital развернула новую версию торгового ПО SMARS. Из‑за ошибки при развертывании на одном из восьми серверов осталась старая тестовая версия кода, из‑за чего торговый робот начал неконтролируемо рассылать миллионы ошибочных заявок на покупку и продажу акций. Этот процесс длился около 45 минут и привел к убыткам в размере примерно 440 миллионов долларов — почти весь капитал компании.

​Ключевая проблема мониторинга состояла в том, что система PMON (Position Monitor) полностью полагалась на ручной мониторинг: она не генерировала автоматических оповещений и не выделяла превышение лимитов. Трейдеры Knight видели аномальную активность в логах, но не понимали контекст:

Читать далее

Простейшая закономерность на рынке способна принести 100% прибыли

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

В трейдинге часто говорят: «Цена — это следствие, объём — это причина».
Именно так я наткнулся на одну простую, но крайне интересную закономерность: если в момент падения появляется свеча с объёмом, который в два раза превышает средний за последние 60 дней, — то на следующей свече часто начинается рост.

Предлагаю протестировать эту идею, узнать какой выход мы получим и написать рабочего real-time бота с помощью python.

Читать далее

Как я похоронил свой лучший проект еще на моменте его создания? История dnevniklib

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

Много кто на Хабре знает мое имя из-за моего проекта dnevniklib - Python библиотека для работы с API МЭШ (Московская Электронная Школа). На пике популярности ее скачали с PyPI 3000 раз! Данный проект являлся моей моей визитной карточкой, многие мои знакомые, которые как и я програмисты, нашли меня именно через мой Github. Да, это было круто, но потом произошло затишье... Я кинул проект в архив и он до сих пор там валяется. Но почему?

Эта статья расскажет о чем сразу стоит позаботится, прежде чем выпускать какой-либо продукт (даже open source) в main ветку

Читать далее

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

Создаём MCP‑сервер на практике

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

MCP без воды и шаблонного кода на практике: разбираем протокол, поднимаем сервер, тестируем через Inspector и учим LLM торговать через Finam API. Разберёмся, когда MCP выгоднее «обычных функций», как изолировать интеграции и упростить отладку инструментов.

Читать далее

Построение E2E-решения для прогнозирования временных рядов на примере метеоданных

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

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

Четыре года назад, еще в институте, одним из моих первых серьезных проектов была простая LSTM-модель для прогноза погоды. Недавно, пересматривая старые наработки, я задался вопросом: насколько дальше можно зайти, применив накопленный за эти годы опыт и современные инженерные практики?

Эта статья — история такого "рефакторинга длиною в 4 года". Это рассказ о том, как простой академический проект был переосмыслен и превращен в полноценное End-to-End (E2E) решение. Цель — не просто снова предсказать погоду, а на практическом примере продемонстрировать системный подход к построению ML-пайплайна с нуля.

В статье рассматриваются все ключевые этапы: от разработки отказоустойчивого веб-скрапера до проведения сравнительного анализа трех разнородных моделей прогнозирования:

Читать далее

Изучаем Python: модуль pathlib для начинающих с домашним заданием

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

Забудьте о ручном склеивании строк: с pathlib пути элегантно конструируются с помощью оператора /. Проверка существования, чтение, получение родительской директории — всё это становится методами и атрибутами самого объекта. В результате код получается не просто чище и читабельнее, он становится более надежным и по-настоящему "питоничным" (Pythonic).

Читать далее

Мастерское масштабирование: создаем утилиту для лупы в играх без риска для античита

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

Сегодня мы разберемся, как создать легковесную утилиту, которая решает эту проблему элегантным и, что самое главное, безопасным с точки зрения античитов способом.

Читать далее

Простой способ держать ваш скрипт актуальным и запускать его автоматически

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

Простой способ держать ваш скрипт актуальным и запускать его автоматически Создаем самосинхронизирующийся и запускающийся Python-скрипт из GitHub

Читать

Долгая дорога к DiT (часть 2)

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

Первая треть пути преодолена и совсем скоро мы создадим генератор картинок на целиком на архитектуре трансформеров. Но перед тем как совершить финальный скачок к Diffusion Transformers (DiT) нам сначала надо научиться работать с готовыми датасетами и освоить генерацию изображений "простым" способом - через MLP-ResNet. Статья является прямым продолжением первой части, так что советую сначала ознакомиться с ней, чтобы понимать откуда всё началось. Будет много про работу с датасетами.

И вообще статья получилась какой-то неприлично большой.

Читать далее

Парсим Ozon. Собираем информацию о ценах, товарах и отзывах

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

После того как мы разобрались с парсингом Wildberries, логично двигаться дальше и освоить Ozon. Но здесь нас ждёт сюрприз. Ozon гораздо сложнее парсить из-за динамической загрузки контента и более строгих политик автоматизированного доступа.

В этой статье мы разберём, почему для Ozon нужен браузерный парсинг, как использовать Playwright для успешного парсинга и как обернём решение в Telegram-бота, который по запросу пользователя парсит товары и отправляет CSV-файл.

Читать далее

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