Обновить
799.69

Python *

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

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

pytest-unordered: сравнение коллекций без учёта порядка

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

Во время работы над проектом на Django Rest Framework (DRF) я столкнулся с необходимостью писать тесты для API, которые возвращали неотсортированные данные. Сортировка данных в API не требовалась, и делать её только ради тестов казалось нелогичным. Использовать для решения этой задачи множества оказалось невозможным, так как элементы множества должны быть хэшируемыми, коими словари не являются. Я искал встроенный способ сравнивать неотсортированные данные в pytest, но таких средств не нашёл. Зато наткнулся на обсуждение в сообществе pytest, где пользователи просили реализовать такую возможность, а разработчики pytest предлагали сделать это кому-то другому в виде плагина. Так родилась идея создания pytest-unordered.

Читать далее

Синтез эмоций. Модель вдох-выдох

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

Решил попробовать написать несколько статей о синтезе речи с поддержкой эмоций.

Все началось, когда я решил сделать простой MVP для улучшения разговорного иностранного языка на базе нейронок, онлайн‑репетитор. Так как сам испытываю сложности с его изучением.

Но в процессе реализации, я использовал разные модели. Начиная от Fastpitch и Tocatron2 до Bark от Suno. Когда я тестировал свой первый MVP, то при длительном прослушивании синтетического голоса у меня начинала болеть голоса и возникало раздражение. Это особенно сильно возникало, когда озвучка голоса не соответствовала контексту. Возникал аналог эффекта «зловещей долины», но только для звука.

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

Первым моим шагом, была разработка модели «вдоха‑выдоха». Идея заключалась в том, что 99,999% человек говорит исключительно на выдохе (это касается и животных).

Читать далее

Первый pet-проект, но не бесполезный?

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

Чуть более года назад, уже написав небольшое количество простых программ на Python, я начал размышлять об идее создания своего первого более‑менее полноценного проекта. Писать что‑то, что уже было 100 500 раз написано до меня, желания совсем не было, хотелось хоть немного оригинальности, и полезности. Но найти оригинальную идею под свой невысокий уровень знаний оказалось не так‑то просто.

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

Читать далее

Бот мониторинга результатов ЕГЭ с регионального ресурса. Пет-проект за 24 часа

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

Всем добрый день!

В этом году я являюсь выпускником 11 класса и, соответственно, человеком, который сдает ЕГЭ. Результаты экзаменов обычно приходят не раньше, чем через неделю. При этом их можно отслеживать как минимум на 3 ресурсах: Госуслуги, Checkege (единый портал) и на сайтах региональных центров обработки информации — РЦОИ. Тенденция последних лет показывает, что раньше всего результаты появляются на региональных ресурсах. Поэтому, находясь в томительном ожидании, я решил проанализировать сайт РЦОИ Пермского края.

Читать далее

Как я хотел выиграть пиццы у Додо (бот на python)

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

Попытка выиграть Пиццы от Додо с их конкурсом по игре Балда, которая почти окончилась успехом.

Пытаюсь переиграть всех, написав Бот, который сам набирает очки.

Читать

Создание собственного API на Python (FastAPI): Router и асинхронные запросы в PostgreSQL (SQLAlchemy)

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

Друзья, приветствую! Если вы читали мои прошлые статьи из серии «Создание собственного API на Python (FastAPI) и повторяли за мной, то сейчас вы готовы к полноценной интеграции PostgreSQL в ваше API.

Сегодня мы научимся ещё более качественно структурировать своим проекты, разберемся что такое Router и внедрим в свой код все базовые методы по асинхронной работе с базой данных PostgreSQL через FastApi.

Читать далее

История соседа ч.3

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

Наткнулся на интересную статью, где описываются некоторые возможности, которые можно реализовать на Ростелеком домофоне:

https://habr.com/ru/articles/791602/

Как вы, возможно, помните из моих прошлых статей, у нас есть чат «попутчики» где люди ищут себе попутчиков для передвижения в Москву из области и обратно. И вот что я заметил. Очень часто в часы пик, люди фоткают очереди, чтоб уже на подъезде к остановке понять, а нужно ли двигать сейчас домой, может переждать или может даже выбрать самокат вместо маршрутки или такси. По счастливому стечению обстоятельств один из подъездов, оборудованный Ростелеком домофоном захватывает камерой прямо остановку и место за ней, где обычно и скапливается очередь. А значит можно, опираясь на вышеуказанную статью, добавить в чат кнопку «посмотреть очередь», чем я собственно и занялся.

И так для доступа конкретно к стриму камеры необходимо получить stream_token. Чтоб это сделать нам необходим BEARER_TOCKEN, его мы храним статично. Как говорил автор статьи выше — BEARER_TOCKEN живет до 1 года, что вполне устраивает нас. Раз в год можно заходить с акаунта любого пользователя, брать оттуда токен и снова год не знать бед. Собственно метод:

Читать далее

5 способов преобразования PDF в Word в Python: Сравнительное руководство

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

Преобразование PDF-документов в редактируемые файлы Microsoft Word позволяет вносить изменения, добавлять аннотации и более эффективно работать с PDF-контентом.

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

Читать далее

Фармим очки в Microsoft Rewards с помощью Python

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

Не так давно в личку на Хабре мне написал "junior python backand" с предложением поработать над автоматизацией процесса накопления призовых баллов в программе Microsoft Rewards.

Читать далее

Job Market в США моими глазами

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

Привет сообществу, в свободный час, решил поделиться с вами историей поиска работы в США в 2023-2024 году. На текущий момент живу в Беркли в Калифорнии. Нахожусь тут с лета 2021-го. И это, можно сказать, мой второй поиск работы.

Сейчас работаю в Realm, занимаюсь там созданием фичей вокруг генеративного ИИ и выведением их в прод. Два года довольно интенсивной работы, в настоящем кремнево-долинном стартапе. До этого работал в Сколтехе, в группе компьютерного зрения Е. Бурнаева, с ним и с другими невероятно талантливыми людьми.

Читать далее

Задача распознавания эмоций. Часть 2. Три кита качества

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

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

В этой части мы коротко поговорим о данных, о работе сверточных нейросетей и о глобальных параметрах. От том что такое СГС и почему нельзя решать задачу в виде линейного уравнения. Затронем тему оптимизаторов и ответим на вопрос почему нельзя просто использовать обычный градиентный спуск. В общем, обо всех деталях коротко и структурно.

Читать далее

UV. Обзор пакетного менеджера Python

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

Всем привет! Недавно познакомился с замечательным пакетным менеджером uv. Хочу и Вас с ним познакомить!

Читать далее

Prompt engineering 101

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

Привет!

Использование LLM все больше проникает в бизнес. И ритейл — не исключение. В X5 мы решили сделать небольшую методичку по prompt engineering для обычного бизнес‑пользователя. Мы посмотрели на получившийся результат и решили поделиться этой методичкой с сообществом, чтобы как можно больше людей смогли овладеть разными техниками, позволяющими работать с LLM эффективнее.

Для этого нам сначала придется разобраться с тем, как вообще устроены LLM, затем поговорим о промптах: общие принципы построения, техники оптимизации и промпты для изображений. А на десерт предложим вам продвинутые техники работы с LLM: автоматизированные подходы по улучшению промптов, Retrieval‑Augmented Generation и разметка данных для ML с помощью LLM.

Читать далее

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

Как, не умея программировать, основать IT компанию и остаться ни с чем в 19 лет?

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

Я обычный студент из провинции, который успешно сдал ЕГЭ и поступил в вуз на физика. На первом курсе было много интересного: шишки, клубы, общага, тусовки, сессия — всё как у всех. К концу первого семестра я понял, что нужно лутать деньги.

На то время из каждого YouTube-канала была реклама Skillbox, Яндекс Практикума и прочих курсов, которые говорили о хорошем достатке в 100-200 тысяч после полугода обучения на Python.

Студент, у которого все деньги, стипендия (2700 рублей) и каждую неделю мамины (2000 рублей), уходили на клубы и веселье, не мог позволить себе тогда взять курсы. Да и желания платить за обучение не было, так как вся информация есть в интернете.

Читать далее

Секреты логических операторов в Python

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

Логические операции играют важную роль в программировании. Они используются для создания условных конструкций и составления сложных алгоритмов. В Python для проведения логических операций используются логические операторы:

not — логическое отрицание

and — логическое умножение

or — логическое сложение

В этой статье мы поговорим о неочевидных деталях и скрытых особенностях работы логических операторов в Python.

Читать далее

Code или No-code? Что лучше для новичка в разработке

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

Про no-code говорят уже больше 40 лет, но в этом подходе до сих пор остаются существенные пробелы. Поделюсь своим видением в статье. Меня зовут Даниил Мясников, я руковожу в Контуре функциональными зонами на P –– Python, PHP, Perl.

Читать далее

Создание собственного API на Python (FastAPI): структура проекта, SQLAlchemy PostgreSQL, миграции и первые модели таблиц

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

Приветствую всех, друзья! Наша последняя статья по созданию собственного API на FastAPI вызвала огромный интерес, и за это я искренне благодарен.

Ранее мы рассматривали базовые аспекты работы с FastAPI: различные типы запросов, их валидацию и обработку, а также ответы на эти запросы. Однако, это лишь верхушка айсберга.

Уже на данном этапе код становится громоздким и сложным для понимания. К тому же, хранение данных в JSON‑файлах — это далеко не самый профессиональный подход. «Нормальные ребята» используют SQLAlchemy, причем асинхронно.

Сегодня мы займемся интеграцией асинхронной SQLAlchemy в наше FastAPI‑приложение. Для упрощения навигации и понимания кода я предложу структуру проекта, которую сам использую в каждом FastAPI‑приложении.

Отдельное внимание уделим миграциям с Alembic: что это такое и зачем они нужны. Конкретные функции для взаимодействия с базой данных мы будем рассматривать в следующей статье. Сегодня же займемся подключением, миграциями, описанием моделей таблиц и их созданием.

Читать далее

Искусство общения с LLM: Гайд по техникам Prompt Engineering

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

Привет, Хабр! Меня зовут Никита Кулин, ML-Engineer NLP моделей.

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

Это мой первый пост, поэтому буду рад любой обратной связи!

Читать далее

Применение рекомендательного фреймворка ODRS на практике: SCARA-робот сортирует цветные крышки

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

В лаборатории комании Insystem мы часто применяем наш фреймворк ODRS(подробнее тут) для решения различных задач в области компьютерного зрения. Одной из такой задач стала настройка SCARA робота для сортировки цветных крышек от пластиковых бутылок. Этот проект был вызван необходимостью автоматизировать процесс переработки, увеличивая его эффективность и точность. Используя ODRS, мы смогли обучить робота распознавать крышки различных цветов, а затем сортировать их по категориям. В ходе работы были выполнены следующие задачи:

Читать далее

Три факапа в ИИ-стартапе

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

Если с тобой за карьеру не случалось никаких факапов — либо ты начал свой путь примерно три дня назад, либо на работе ты только тапаешь хомяка или рубишься в Харстоун. Фейлы, провалы, косяки — всё это офигенные способы чему‑то научиться и стать лучше, но это работает только, если после факапов проводить их «вскрытие» — анализировать, какие причины привели к неудаче, и что нужно изменить, чтобы уменьшить вероятность возникновения похожей ситуации в будущем.

Если вы хотите узнать ещё больше об организации процессов ML-разработки, подписывайтесь на наш Телеграм-канал Варим ML

Читать далее

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