Обновить
1024K+

Python *

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

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

Проектирование ML-сервиса для прогнозирования котировок акций (для Advisors’ Axiom от Росбанка)

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

Привет, меня зовут Илья Померанцев, я руководитель ML-направления в Globus IT. Расскажу, как мы разработали нейросеть для оценки тональности новостей для инвестиционной платформы Advisors’ Axiom от Росбанка.

О проекте

Инвестиционная платформа Advisors’ Axiom — это площадка для совместной работы инвесторов сегмента Premium и VIP, инвестиционных консультантов и финансовых экспертов, разработанная ПАО «Росбанк».

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

Задача

Задача сервиса — получение, оценка (классификация) финансово-экономических новостей на основе машинного обучения модели нейронной сети для классификации текстов финансово-экономической направленности по трем видам тональностей.

Читать далее

Как заставить бэкендера писать фронтенд

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

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

Для начала давайте вспомним, что же это за панели. Панель администрирования (или админка) — это приложение, которое используется для управления и настройки приложения. То есть это такой продукт для продукта. Панели администрирования нужны для различных целей, например, для создания и редактирования контента, настройки параметров продукта или управления пользователями.

Но иногда в проектах важна скорость и ресурсов на создание админки с привлечением команды фронтенда откровенно не хватает. И тогда бэкендеру приходится брать процесс в свои руки.

А теперь вы готовы погрузиться в эту кроличью нору.

Читать далее

(Не)безопасная разработка, часть 2: заимствование метаданных популярных пакетов для подделки рейтинга Python-проектов

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

Недавно мы опубликовали статью о выявлении вредоносных пакетов в Python Package Index и с тех пор активно используем разработанный нами сервис для анализа проектов. Сегодня хотим поделиться с вами интересным наблюдением, связанным с накруткой репутационной статистики в проектах. Как нечаянно улучшить репутацию своего проекта, насколько распространена эта проблема и как в автоматическом режиме обнаружить подобные манипуляции — читайте под катом.

Подробнее

Восстановить удаленную фотографию с флешки? Искусственный интеллект в помощь

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

Привет, Хабр! В статье хотел бы поделиться своим опытом восстановления данных (на самом деле, всего одной фотографии), который перерос в любопытный кейс применения методов машинного обучения для решения задачи реконструкции файлов изображений. Думаю, что проблема с восстановлением удаленной информации с носителей весьма актуальна для читателей Хабра (и обычных юзеров, и целых компаний), поэтому поделюсь некоторыми наработками. Все это - под катом.  

Читать далее

Книга «Python для финансистов»

Время на прочтение8 мин
Охват и читатели12K
image Как дела, Хаброжители?

Программирование, математика и финансы неразрывно связаны между собой. Ив Хилпиш, автор бестселлера «Python для финансовых расчетов», объясняет базовые концепции и дает в ваши руки все необходимые инструменты для работы в мире финансовой инженерии.

В этой книге вы:
• изучите основы программирования на Python и познакомитесь с теорией финансов через математику;
• узнаете о моделировании данных и использовании Python в финансовой инженерии;
• научитесь статическому и динамическому моделированию финансовых задач: ценообразование, принятие решений и распределение активов;
• получите общее представление о необходимый библиотеках Python: NumPy, SciPy, Matplotlib и SymPy.
Читать дальше →

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 1

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

Самый действенный способ изучить фреймворк — написать пет-проект. Например, свою социальную платформу на Django. Во время реализации можно попрактиковаться в работе с формами, представлениями, сигналами и SMTP.

В Proglib собрали небольшой шаблон, на базе которого можно создать свой блог на Django, а после — задеплоить на виртуальный сервер. Материал будет полезен новичкам, которые знакомы с базовыми концепциями фреймворка и хотят закрепить знания. Подробности под катом!
Читать дальше →

Что нового в SQLAlchemy 2.0?

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

Эта статья является переводом статьи Мигеля Гринберга.

Возможно, вы слышали, что основная версия SQLAlchemy 2.0, была выпущена в январе 2023 года. Или, может быть, вы пропустили объявление и это новость для вас. В любом случае, я подумал, что вам будет интересно узнать, что в нем нового, стоит ли его обновлять и насколько сложно это сделать.

Как и в предыдущих обзорах программного обеспечения, это будет субъективный обзор. Я давно использую SQLAlchemy ORM в веб-проектах, поэтому в этой статье я расскажу о функциях, которые влияют на мою собственную работу, как в положительную, так и в отрицательную сторону. Если вместо этого вам интересно увидеть список всех изменений, внесенных в этот новый релиз, то официальный журнал изменений — это то что вам нужно.

Читать далее →

Адаптация языковой модели vosk

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

Приветствую, Хабр. В данной статье хочу рассмотреть процесс добавления слов в языковую модель vosk'а (vosk - библиотека для распознавания речи, в основе которой kaldi).

Читать далее

Автоматическая рассылка сообщений WhatsApp

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

Шалом, Хабр! Сегодня разберём такую тему, как автоматическая рассылка сообщений WhatsApp при помощи библиотеки Selenium на языке программирования Python и поговорим о том, почему же это не так просто, как запарсить Википедию.

P.S. На самом деле это не намного сложнее, чем запарсить Википедию, просто нужно знать об одной очень полезной фиче Selenium'а.

Читать далее

Когда типизация делает тебе больно: как у нас появился статический анализатор

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

Удобство процесса разработки напрямую влияет на скорость работы и на количество ошибок при написании кода. Что делать, если среда разработки почему-то отказывается использовать автодополнение во всю силу? Правильно, искать обходные пути и изобретать велосипеды.

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

Текст будет интересен тем, кто хочет узнать новые стороны Python, и кому любопытно, с какими проблемами можно столкнуться, если использовать все модные фичи языка.
Читать дальше →

Тебе не нужно классическое ООП в твоём бэкенд микросервисе

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

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

Читать далее

Как нейросеть достопримечательности на фотокарточках распознавала

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

И снова машинное обучение, и все еще классификация изображений.

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

Преисполниться

Точечные фильтры: алгоритмы и их реализация

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

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

Для начала импортируем модули для дальнейшей работы с изображениями.

Читать далее

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

ChatGPT — помощник для программиста? Пример реальной задачи: распознавание квадратов Нейросетью

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

Как ни крути, но языковая модель ChatGPT никогда не может полностью заменить программиста, так как только около 1/10 от общего времени процесса разработки занимает написание кода. Однако ChatGPT великолепно помогает в различных аспектах программирования. Чем больше навыков и опыта у программиста, тем больше пользы он может извлечь от "помощника".

Разберем практическое применение ChatGPT в написании кода на Python на примере использования нейросети для распознавания квадратов.

Читать далее

Координатный квест: как найти координаты и расстояния без регистраций и смс

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

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

С вами участник профессионального сообщества NTA Алексей Майка.

Хочу поделиться своим опытом решения одной интересной задачки и описать весь проделанный путь.

Был обычный денёк, сидел я на работе и занимался своими айтишными делами. Ко мне пришел руководитель и сказал: «Нужно рассчитать дистанцию до границы регионов для этих адресов». При этом без всяких платных сервисов и API онлайн карт, и своими усилиями. Айтишник понял, айтишник принял, айтишник получил свою заветную эксельку и пошёл работать.

Узнать результаты

PromptGPT: оптимизируем промт для GPT-4

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

Допустим, нам нужно решить задачу NLP, в которой мы принимаем и возвращаем текст (seq2seq). Существует великое множество таких задач, например: генерация текста/кода, перевод/стилизация, суммаризация, коррекция текста, распознавание именованных сущностей, даже классификацию текста можно свести к seq2seq.

Если нам нужно очень быстро написать высококачественное решение и у нас есть возможность платить за API, тогда нам подойдет использование GPT-4 API.

При решении seq2seq-задачи с использованием GPT-4 API нам нужно будет составить промт, который состоит из системного сообщения и набора примеров для модели (few-shot learning). Туториал по GPT-4 API можно найти в моей предыдущей статье.

Далее возникает задача измерения качества модели и оптимизации промта:

1. Непонятно, как изменение системного сообщения влияет на результат

2. Неясно, как подбирать примеры

3. Чем длиннее промт, тем дороже использование модели. Хочется найти минимальную длину промта, при которой качество нас устраивает

Вдобавок, можно использовать либо GPT-3.5, либо GPT-4 (если у вас есть к ней доступ). GPT-4 гораздо дороже. Хочется понять, даст ли GPT-4 достаточный буст к качеству, который оправдает ее цену.

Я написал небольшой тул, который измеряет качество модели на различных промтах и позволяет выбрать оптимальный: https://github.com/einhornus/prompt_gpt. В этой статье я сначала расскажу, как он работает, а потом покажу процесс оптимизации промта на конкретном примере - на задаче коррекции грамматики из своей предыдущей статьи.

Читать далее

Снепшот как бэкап для сайтов на VPS

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

Сегодня я хотел бы рассказать вам о небольшой, но полезной утилите под названием «regru‑snapshoter».

Это инструмент, который позволяет создавать снимки виртуальных машин на платформе REG.RU.

Читать далее

Повышение точности решения плохо обусловленных СЛАУ методом Гаусса

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

Большинство задач вычислительной математики в конечном итоге сводятся к решению систем линейных уравнений. На данный момент существует огромное количество алгоритмов для решения таких систем. Их разделяют на две большие группы: итерационные и прямые. Прямые методы позволяют получить точные значения неизвестных, если вычисления проводятся точно. Далее будем рассматривать метод Гаусса.

Читать далее

Telegram Django Bot за пару строк

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

На Хабре много статей про разработку Телеграм ботов на Python, в том числе при помощи Django. Однако, большинство из них направлено на первичное ознакомление с API Телеграм.

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

Читать далее

Python. Выражения в методах и индексаторах

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

Если вам когда-нибудь приходилось работать с NumPy, то вы скорее всего знаете, что в индексатор массива можно передать не только индексы начала, конца, и шага. Потрясающая возможность - получить срез массива по некоторому условию, в виде data[data > 0] предает массивам NumPy некоторое сходство с СУБД.

Тут же можно вспомнить про SqlAlchemy и возможность передать в функцию filter некоторое условие для отбора записей session.query(MyModel).filter(MyModel.field == 10).

Отличные, в общем-то возможности, не так ли? Не возникало ли у вас вопроса как они работают внутри? data > 0 и MyModel.field == 10 с точки зрения грамматики языка являются выражениями, и при передаче куда-либо Python попытается вычислить их значения. Попробуем разобраться как это работает.

Читать далее