Обновить
796.93

Python *

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

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

Пишем Telegram-бота на Python: прикручиваем оплату Telegram Stars, систему промокодов и OpenAI

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

Привет, Хабр! В качестве пет-проекта для работы с API и базами данных решил написать своего бота-ассистента. Идея простая: прокси к OpenAI, но с нюансами: хотел разобраться, как работать с относительно новой внутренней валютой Telegram Stars, реализовать собственную систему промокодов и админку без использования громоздких фреймворков, оставаясь на библиотеке telebot (pyTelegramBotAPI).

Читать далее

Лабораторная работа по тонкой настройке LLM для нестандартных задач классификации

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

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

Если вы интересовались, как работают LLM, то уже имеете представление, что модели умеют предсказывать следующее слово и что за этим стоит математика. Но на этом объяснение, как правило, заканчивается. Детали того, как они предсказывают следующее слово, часто рассматриваются как черный ящик.. В этой статье предлагаю рассмотреть эту тему подробнее и познакомиться с тонкой настройкой (fine-tuning) LLM для решения условно-практической задачи классификации с помощью примеров кода, приведенных в упомянутой книге. 

Статья устроена так, что все шаги в статье вы можете повторить и в конце получить набор скриптов для выстраивания пайплайна обучения LLM. Я же описал свои шаги, потому что лучший способ что-то понять — это применить теорию на практике и попытаться объяснить результат кому-то. 

Чтобы приступить к лабораторной работе, достаем двойные листочки, расчехляем питон и тиктокен.

Читать далее

Чистая правда: как компьютерное зрение помогает делать мир чище

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

Компьютерное зрение развивается стремительно: задачи, которые ещё недавно требовали собственных датасетов и долгого обучения моделей, теперь решаются готовыми инструментами.

Всем привет! Меня зовут Алина, я инженер‑исследователь в Центре искусственного интеллекта СФУ. В этой статье расскажу, как мы применяем методы компьютерного зрения для анализа фотографий уборок в проекте «Чистые игры», как подошли к задаче автоматической оценки качества уборок и какие технические решения легли в основу MVP. В конце поделюсь выводами и тем, что удалось сделать, а что ещё предстоит улучшить.

Читать далее

Восемь высокопроизводительных Python-библиотек в копилку разработчикам

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

Когда в 1991 году Гвидо ван Россум представил миру Python, никто не мог предсказать, какое место через несколько десятилетий этот язык займет в веб-разработке, Data Science и Machine Learning. Сейчас Python продолжает развиваться: с новым поколением инструментов в прошлое уходят традиционные ограничения — производительность, GIL и сложность параллельных вычислений. 

Привет, Хабр! С вами Леша Жиряков, я руковожу бэкенд-направлением витрины KION, возглавляю гильдию по Python и пишу для блога MWS на Хабре. Я каждый день сталкиваюсь с вызовами высоконагруженных систем и сформировался пул инструментов, которые помогают решать критические проблемы современной разработки — от обработки данных с Polars до управления зависимостями с UV. 

В этом материале я сделаю обзор Python-библиотек, с которыми можно создавать системы, сравнимые по производительности с Go и Rust. 

Читать далее

Теория графов для программистов

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

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

Погрузиться в мир графов

Делаем активное охлаждение для Orange Pi Zero W2 с интеграцией в Home Assistant и оповещаем о неисправностях в Node-Red

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

Прикрутим к Orange pi Zero W2 дешманский вентилятор, и будем следить и управлять его скоростью через Home Assistant.

А в случае его остановки получим уведомления на телефон или озвучим его с помощью умной колонки «Алиса» ее голосом (реализовываем автоматизацию через Node-Red).

На панели управления графиками будут: температура CPU, текущая мощность вентилятора, вращается ли реально вентилятор сейчас или умер.

Научимся настраивать автозагрузку в Linux, подключатся через SSH к серверу и тд.

Гайд писал с расчётом на новичков, которые только установили себе Home Assistant и столкнулись как и я с проблемами перегрева.

Давай посмотрим как это все реализовать...

Как не проспать дейли: Реализуем планировщик задач внутри Python-процесса

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

В потоке кода легко пропустить дейли, забыть проверить бэкапы или закоммитить задачи перед уходом. Сторонние планировщики часто избыточны и потребляют лишние ресурсы, а самописные скрипты на while True: time.sleep() — это архитектурный тупик, блокирующий потоки и создающий временной дрейф.

В этом туториале напишем свой легковесный фоновый сервис на Python. Разберем, как отправлять нативные системные уведомления (Windows/Linux/macOS) через библиотеку Plyer, настроим гибкое расписание с помощью Schedule и научимся запускать скрипт в режиме демона без висящего окна терминала.

Читать далее

Меня позвали в крутой проект, спасибо, Хабр

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

Но я облажался...

Блин я даже в школе столько правил по русскому не читал, какой же наш язык сложный, а что бы реализовать все проверки, что бы правила корректно отрабатывали, проще застрелиться... Пришлось гуглить информацию по ЕГЭ 2025 года и ковыряться на НКРЯ. Много нового узнал =)

В общей сложности потратили неделю, на реализацию концепта, функционал, перенос правил русского языка.

Читать далее

OpenAI Guardrails: защита ИИ-приложений от атак

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

Всем привет!

В этой статье разберёмся с OpenAI Guardrails — одним из самых эффективных инструментов для обеспечения безопасности ИИ-систем. Это продолжение цикла о защите и контроле ИИ-агентов, в первой части мы рассмотрели инструмент модерации запросов.

Guardrails предоставляет намного более мощные возможности для защиты, позволяя создавать многоуровневую систему валидации входных и выходных данных.

Читать далее

Пейзажная лирика глазами кода

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

Где заканчивается слово и начинается образ? Использую Python для поиска особенностей творчества К.Г. Паустовского.

Читать далее

Python для этичного хакера: проверяем форму авторизации через Username Enumeration

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

Автоматизация — лучший друг пентестера. Сегодня практикуемся в написании кастомных эксплойтов на Python для решения задач Web Security Academy.

Разберем лабораторию «Username enumeration via different responses»: проанализируем логику ошибок бэкенда, обойдем форму аутентификации без использования браузера и напишем скрипт, который находит валидного пользователя и подбирает пароль быстрее, чем вы успеете заварить кофе. Полный листинг кода и разбор нюансов работы с сессиями прилагается.

Читать далее

Код-гольф в Яндексе: как нерды развлекаются

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

Что такое код-гольф? Это соревнование, в котором надо решить задачу по программированию (как правило, несложную), используя наименьшее количество символов. Соревнование довольно известное. Можно поиграть, например, на одноимённом сайте, есть целая секция на CodinGame, иногда такие соревнования публикует kaggle, была такая секция на HackerRank (сейчас её я не нашёл).

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

Временами мы развлекаемся таким форматом. В какой-то момент на внутренних ивентах подняли свою платформу для соревнований, а потом она протекла и на внешние конференции.

Эта статья — смесь разбора задач и истории появления соревнования по код-гольфу на конференциях Яндекса.

Про нас и кодгольф

Reinforcement Learning: Model-free & Deep RL

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

Продолжаю погружаться в Reinforcement Learning. Здесь продолжение статьи Intro Reinforcement Learning.

Если предыдущая часть помогла вам понять, что такое среда, агент, награды и функции ценности, то здесь мы сделаем шаг дальше: мы переходим к model-free алгоритмам и Deep Reinforcement Learning, где агент учится оптимальной стратегии, не имея прямого доступа к модели среды.

Читать далее

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

Анализируем MLP сообщество на Пикабу или как я спарсил 65 тысяч постов с Pikabu и построил интерактивный дашборд

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

Дело было вечером, делать было нечего... Я, как и многие в IT, периодически просматриваю вакансии, чтобы держать руку на пульсе рынка. И знаете, что бросается в глаза? Огромное количество позиций "Аналитик данных". Хоть это и не моя основная специализация (я больше по ML), теоретическая база у меня есть. И вот я подумал: а как бы мне сделать интересный пет-проект в этой области, чтобы и навыки прокачать, и самому не заскучать?

Читать далее

Docker для самых маленьких: упаковываем Python-бота за 10 минут

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

Хватит запускать ботов кнопкой Run в PyCharm! Пора осваивать промышленные стандарты.
В этом туториале я простым языком объясняю, как работает Docker и зачем он нужен Python-разработчику. Мы возьмем простого Telegram-бота, напишем для него конфиг, настроим .dockerignore и запустим в изолированном контейнере. Идеально для тех, кто давно хотел разобраться с Докером, но боялся сложных инструкций.

Читать далее

Вы написали AI-агента, а что дальше? Разбираем Google Vertex AI Agent Engine — спасательный круг или золотая клетка?

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

Давайте честно: написать умного AI-агента сегодня — это самая простая часть работы. Собрали LangChain или LangGraph, прикрутили API OpenAI или Gemini, заставили это работать у себя в терминале — красота! Вы чувствуете себя Тони Старком.

Но настоящий кошмар начинается, когда возникаетвопрос: «А как выкатить это в продакшен?»

И тут вы понимаете, что ваш скрипт на Python — это не бэкенд. Вам нужно думать про:

Читать далее

За два дня после Хабра: как из пет-проекта выросло почти полноценное приложение

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

После публикации предыдущей статьи я решил провести эксперимент: сколько крупных фич можно сделать за пару вечеров с помощью ИИ. В итоге в приложении появились PWA, офлайн-режим, полноценный кабинет клиники и восстановление пароля. Рассказываю, как это собиралось и где ИИ действительно помогает, а где всё равно приходится думать самому.

И вот что получилось

ГОСТ Р 50779.29-2017 (ИСО 16269-6:2014) и статистические толерантные интервалы с практическим примером и кодом

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

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

Отраслевым технологам — специалистам по автоклавированию: для них приведена пошаговая процедура решения прикладной задачи «подбор времени выдержки продукта при температуре стерилизации» с использованием таблиц ГОСТа.

Специалистам в области контроля и диагностики, которым интересен инструментарий толерантных интервалов для решения задач в непараметрической постановке. Для них с помощью Python кода мы получим непараметрическую оценку границы толерантного интервала (то есть воспроизведём то, что «зашито» в таблицах ГОСТа для непараметрической постановки). Дополнительно бутстрап‑моделированием проведём анализ устойчивости этой оценки и рассчитаем достигнутые значения уровней покрытия и доверия.

Ссылка на блокнот с кодом в конце статьи.

Читать далее

Как сделать ИИ-агентов и RAG действительно автономными

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

Существует проблема описанная тут (ссылка на пост в ТГ).

Суть проста — если LLM (или агенты вокруг LLM) вызывают последовательно одни и те же запросы с одним и тем же контекстом, попадание в тупик/цикл — вопрос лишь времени. То есть в случае зацикливания между агентами/контекстами надо менять промты или контекст, или последовательность вызова агентов.

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

Читать далее

Почему я слежу за open-source проектом cia76/FinLabPy и считаю, что он важен для работы с Мосбиржей

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

В последнее время я активно занимаюсь автоматизацией торговли и знакомлюсь с разными решениями, два раза летал на конференции, познакомился с интересными людьми. На этом фоне я наткнулся на open-source проект cia76/FinLabPy, о котором уже давно слышал, но никогда не разбирался подробно.

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

Про проблемы алготорговли на Московской бирже почти не пишут, хотя есть мнение что 60% оборота биржи создаётся роботами. А вот автор этого проекта Игорь Чечет на своём вебинаре рассказывает о том с какими проблемами может столкнуться частный инвестор, когда приходит в алгоритмическую среду.

Читать далее