Обновить
532.02

Python *

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

С вами участник профессионального сообщества 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 мин
Охват и читатели2.9K

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

«Хакер»: Python с абсолютного нуля! Учимся кодить без скучных книжек

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

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

Читать далее

«Карманный синоптик за час». Пишем Telegram-бота для мониторинга погоды на Python

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

Хабровчане, всем привет! Меня зовут Максим Плачковский, я автор канала PythonToday. Из этой статьи вы узнаете, как написать своего Telegram-бота для получения данных о погоде в любом городе нашей планеты. Мы детально рассмотрим работу с API, парсинг JSON и напишем бота на асинхронной библиотеке aiogram. А после — загрузим его на виртуальный сервер и запустим. Если интересно, добро пожаловать под кат!
Читать дальше →

Mojo: Python-совместимый язык с производительностью Си — от Криса Лэттнера

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

2 мая 2023 года Modular (одна из компаний-лидеров в сфере AI-инфраструктуры) анонсировала язык программирования Mojo, обещающий полную совместимость с Python в сочетании со сверх-высокой производительностью.

В компании утверждают, что автоматическое низкоуровневое распараллеливание, возможности строгой типизации и статической компиляции уже на самых ранних этапах развития языка позволяют достичь скорости, превосходящей Python в 35 000 раз!

Так что это за чудо-язык такой, правда ли он заменит Python — да и где его пощупать можно?

Давайте разбираться! ?

Торговый робот с использованием нейросетей

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

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

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

1) получение исторических данных по торговым инструментам;

2) подготовка датасета из этих исторических данных по определенной логике для нейросети;

3) обучение нейросети и выбор лучшей обученной модели по параметрам loss, accuracy, val_loss, val_accuracy;

4) проверка предсказаний сделанных нейросетью;

5) проверка подключения к API Финама;

6) определение торговой логики для открытия позиций;

7) запуск live стратегии с использованием выбранной лучшей модели обученной нейросети с нашей торговой логикой.

Читать далее

VSСode. Как настроить окружение для разработки в Docker на удаленном сервере через SSH

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

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

Читать далее

Как создать собственный кэшбэк-сервис

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

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

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

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

Читать далее

Делаем анализатор ников на новой FRED-T5. Тотальный разнос

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

Недавно вышла новая языковая модель от сбера — FRED-T5! В тестах она превзошла все остальные и стала SOTA (лучшей по пониманию) для русского языка. Это статья про нейросеть, с помощью которой мы попробуем создать анализатор никнеймов в интернете. Никакого файн-тюна (дообучения)! Все действия будут производиться на искомой модели прямиком скачанной с хг, несмотря на то, что авторы рекомендуют файн-тюнить модель для конкретных задач.

Разумеется, сравним её в тех же задачах с существующими на данный момент сетками. Спойлер: FRED... он волшебник!

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

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