Обновить
639.88

Python *

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

Всем привет!

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

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

Читать далее

Ещё один ORM для Python. SQLORM: минималистичная альтернатива SQLAlchemy

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

Команда Python for Devs подготовила перевод статьи о том, почему автору SQLAlchemy нравится… но не настолько, чтобы не попробовать создать собственный ORM. SQLORM ― минималистичный, прямолинейный и честный: никакой магии, никаких скрытых Unit of Work, максимум контроля над SQL и минимум связности с сессией.

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Reinforcement Learning: Model-free & Deep RL

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Для первых - простая пошаговая инструкция для табличного решения прикладной задачи.

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

Читать далее

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

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

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

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

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

Читать далее

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