Все потоки
Поиск
Написать публикацию
Обновить
434.69

Python *

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

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

Обучаем GigaAM-Emo распознавать ещё больше эмоций

Уровень сложностиСредний
Время на прочтение35 мин
Количество просмотров429

Модель распознавания эмоций в речи GigaAM-Emo умеет классифицировать 4 эмоции: angrysadneutralpositive. Для некоторых задач бывает не достаточно классифицировать эмоции на 4 класса и хочется иметь более полный список эмоций. В статье рассмотрим: существующие корпуса данных для распознавания эмоций, ключевые возможности разработанного пайплайна для дообучения GigaAM с использованием библиотек hydra и Pytorch Lightning, результаты экспериментов с различными архитектурами и функциями потерь. Демо можно попробовать тут

Читать далее

Новый релиз публичного детектора голоса Silero VAD v6

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров3.4K

На Хабре уже было аж 3 статьи про развитие нашего публичного детектора голоса Silero VAD (последняя тут). А вот что стало лучше в этот раз:

Хочу узнать!

Как мы за 5 дней собрали контакт-центр для фитнес-клуба на Chatwoot и подключили к WhatsApp, Telegram и VK

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

В статье рассказываем, как всего за 5 дней собрать современный омниканальный контакт‑центр для фитнес‑клуба на базе open‑source‑платформы Chatwoot и подключить к нему WhatsApp, Telegram и VK с помощью самописных шлюзов на Python (Wasender, Telethon, VK API). Вы узнаете, почему мы отказались от «коробочных» SaaS‑решений, автоматизировали до 84% рутинных сценариев (поздравления, записи, напоминания) и подготовили инфраструктуру под внедрение AI‑ассистентов и аналитики SLA. Приводим архитектурные схемы, технические детали и бизнес‑выгоды — от сокращения ручной работы до сохранения всех коммуникаций с клиентами в едином окне.

Читать далее

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

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

«Человек всегда велик в намерениях. Но не в их выполнении. В этом и состоит его очарование» — что-то на глубоком из Ремарка «Три товарища»

В какой-то момент понимаешь, что новый бизнес должен начинаться не с красивого названия и не с логотипа. С чего именно — до конца не ясно, но точно не с этого. Эта статья — о том, как я попытался перепрыгнуть через все эти «обязательные шаги», завайбкодив их, а заодно и большую часть кода проекта с помощью нейросетей, и сосредоточился только на финальных вещах — тестировании аудитории и маркетинге.

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

Самая интересная часть начинается с главы «Возвращение: новая команда и быстрый релиз», но я искренне рекомендую читать статью с самого начала. Так будет проще уловить весь контекст и понять, почему проект получился именно таким, каким он получился.

Читать далее

Три уровня отслеживания в Яндекс Метрике: Level 2 — офлайн-конверсии

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров359

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

Сегодня рассмотрим вариант, когда события произошедшие уже офлайн, отправляются обратно в онлайн статистику Яндекс Метрики и обогащают ее. Это позволит делать рекламу и собирать аудитории в Яндекс Директе точнее еще на 30-35%

Читать далее

Универсальный парсинг сайтов на Python: requests vs headless, токены, куки, прокси и ротация IP

Время на прочтение7 мин
Количество просмотров10K

Вы когда-нибудь радовались идеальному прототипу парсера, который у вас летал на демо-странице, а в проде внезапно начал ловить 403, 429, пустые HTML и «куда-то делись карточки»? Контент отрисовывается на JS, сервер требует токен, после смены IP, старая сессия перестаёт работать.

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

Читать далее

Шаблон на Python для оценки эффективности торговой стратегии на основе исторических данных — альтернатива TradingView

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

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

Сегодня у нас есть Python и такие мощные библиотеки, как Backtrader. Однако голый фреймворк — это лишь половина дела. Чтобы он стал по‑настоящему народным инструментом, ему нужна удобная обвязка: готовая структура проекта, автоматический импорт стратегий, наглядные отчёты, тепловые карты для оптимизации и бесшовное подключение к API брокеров — не только российских, но надо начать с Мосбиржи.

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

Эта статья — не просто описание проекта, а призыв к действию. Я предлагаю объединить усилия и создать открытый стандарт для алготрейдинга на базе open source Backtrader, заточенный под реалии российского рынка.

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

Вкалывают роботы...

CPython — сборка мусора изнутри, ч.1

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров5.4K

Как то раз я попал на вечеринку опенсорсеров и там обсуждали очередной баг связанный со сборщиком мусора в CPython. И так получилось, что я попробовал баг исправить, нашел причину проблемы и сделал два реквеста. И если первый реквест был просто не правильный, то второй не прошел проверку качества со стороны владельцев кода. И после этого решил основательно разобраться с тем, как устроена сборка мусора в современном CPython.

Если вам интересно, давайте попробуем разобраться вместе.

Читать далее

Построение потока данных в облаке с использованием serverless сервисов

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров486

 Привет!

У бизнеса на практике часто встречается задача построить полноценную аналитику, используя данных из excel, csv файлов. Разнообразие подходов к заполнению и образованию таких файлов может быть разное:

Читать далее

Android. Starting Kivy App and Service on bootup. API 35

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров740

Эта заметка является дополнением к статье Android. Starting Kivy App and Service on bootup, в которой запускал сервисом kivy приложение на API 22 Android 5. Теперь будем запускать на последних версиях Android. C API 26 Android 8 и по текущий API 35 Android 15 который есть у меня, постигли изменения, которые необходимо внести для автостарта сервиса. Проверял работу на API 22...35, телефоны: Highscreen power five, Nokia 8, Xiaomi Redmi Note 14.

Читать далее

FastSIO: Как я попытался войти в open source, и надеюсь что у меня получится это сделать

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

FastSIO. Как я впервые сделал что-то для Open Source, и как я к этому пришел.

И что из себя представляет новая Fast<> библиотека

Читать далее

Иконки прямо в коде: как мы избавились от assets, портируя приложение на Linux и macOS

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

Привет, Хабр! Мы в ChameleonLab разрабатываем тулкит для стеганографии, который уже работает на Windows и macOS. Сейчас мы портируем его на Linux, и, как это часто бывает, именно на этом этапе классические проблемы с ресурсами (иконками, картинками) проявили себя во всей красе.

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

Читать далее

Личный топ методов Pandas

Время на прочтение2 мин
Количество просмотров7.1K

Pandas — это изумительная библиотека на Python для анализа и обработки данных. Она настолько хороша, что проще сказать, чего она не умеет, чем перечислить все её возможности. В мире аналитики это настоящий швейцарский нож.

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

Читать далее

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

Как работает машина Enigma M3 (для флота)

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

Привет всем!

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

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

Читать далее

Невидимые чернила в цифровом мире: технология сокрытия данных в DOCX/XLSX

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

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

Стеганография — искусство сокрытия информации — чаще всего ассоциируется с изображениями и аудиофайлами. Но что если нам нужно спрятать данные не в медиафайле, а в обычном офисном документе, например, в .docx или .xlsx?

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

Читать далее

Интерактивные истории на стероидах: как добавить случайность и судьбу в DSL

Уровень сложностиСложный
Время на прочтение3 мин
Количество просмотров966

Язык для интерактивных историй — это весело до тех пор, пока сюжет не превращается в механическую цепочку заранее известных развилок. Чтобы истории жили дольше одного прохождения, им нужна случайность. В этой статье я расскажу, как можно встроить элемент «судьбы» в сам DSL: добавить рандом, вероятности, броски кубиков и даже скрытые триггеры. Всё это — на Python, с реальными примерами кода, а не только с теорией.

Читать далее

CLI-инструмент для фундаментального анализа акций с поддержкой LLM

Уровень сложностиСложный
Время на прочтение22 мин
Количество просмотров1.5K

Всем привет!

Я сделал CLI-инструмент для быстрой "фундаменталки" по акциям с добавочной аналитикой из 10-K через LLM. Он тянет данные из Yahoo Finance, дочитывает 10-K (edgartools + LLM), корректирует EV по fair-value, только страховщиков оценивает по "флоуту", делает SOTP по операционным сегментам и на базе квартилей выдаёт сигналы "КУПИ/ПРОДАЙ/НЕОПРЕДЕЛЁННО" - по метрикам, по группе и общий. Использует метрики: Forward P/E, P/FCF, EV/EBITDA.

Пример запуска:

Читать далее

Алгоритм как писатель: можно ли написать рассказ на чистом SQL?

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров1.7K

Обычно SQL используют ради отчётов, аналитики и унылого «выгрузить за вчера». Но у языка запросов есть и другая, неожиданная сторона: если относиться к нему как к инструменту для сочинительства, можно попробовать написать рассказ. Сюжет, герои, диалоги — всё это вполне собирается на голом SQL. В статье я делюсь экспериментом, который начался ради шутки, а закончился странным ощущением, что база данных умеет рассказывать истории.

SQL я впервые выучил не ради красоты — нужен был для работы. Тогда казалось: язык скучный, служебный, без «души». SELECT, WHERE, JOIN… будто молоток или отвёртка. Но однажды, копаясь в старой демо-базе, я обратил внимание на то, что данные сами по себе напоминали короткие предложения. И пришла мысль: а что, если воспринимать таблицу не как набор строк, а как страницу романа?

Сначала это выглядело как дурацкая затея, но чем дальше я шёл, тем больше SQL переставал быть «сухим инструментом» и начинал вести себя как настоящий рассказчик.

Читать далее

Линейная регрессия в факторных моделях

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

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

Когда мы говорим «факторная модель», многие вспоминают Python-ноутбуки. Но если отмотать плёнку, бóльшая часть индустриальных движков для риска и ценообразования десятилетиями писалась на C++ поверх BLAS/LAPACK. Там же удобно делать устойчивые разложения: QR с переупорядочиванием столбцов, SVD, регуляризацию. Библиотеки вроде Eigen дали нормальный интерфейс к этим штукам, и регрессия перестала быть болью «Ax = b» руками. QR с перестановками колонок вообще стандарт для переобусловленных задач.

Сама идея факторной модели пришла не из тетрадки с pandas, а из арбитражной теории ценообразования Россa и последующей эмпирики Fama-French. В терминах работы это выглядит как линейная регрессия доходностей на набор общих факторов. Дальше есть два пути проверки: тайм-серия для бета-нагрузок и кросс-секция для премий за риск. Это конвейер, а не разовая регрессия.

Читать далее

Десктопный агент на базе Gemma 3 1b

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

Приветствую, товарищи разработчики. В этой статье я бы хотел поднять небольшой эксперимент, на который я потратил 2 недели ленивого анализа и разработки. Как понятно из названия, речь пойдет о десктопном агенте на базе open‑source языковой модели от Google — Gemma 3 на 1 миллиард параметров. Сразу уточню, что это моя первая статья на Хабре, поэтому если возникнет критика по поводу оформления или подачи — прошу расписать в комментариях.

С чего началось

А началось все со статьи на форуме Reddit, где парень, используя Ollama, Gemma 3 1b и n-ное количество API, создал себе настольного браузерного агента, который бы мог переводить текст, присылать погоду, а так же серфить просторы Интернета с помощью API Serp.dev. (прилагаю ссылку на статью).

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

Читать далее

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