Обновить
792.78

Python *

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

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

Практика: мой опыт интеграции более 50 нейронных сетей в один проект

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

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

Преодолеть открытие

Опционы и формула Блэка-Шоулза (часть 1)

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

В этой серии статей я выведу уравнение Блэка-Шоулза для оценки европейского колл-опциона классическим способом.

Ранее мы обсуждали, что такое опционы и как они работают. Теперь давайте выведем формулу для оценки стоимости европейского колл-опциона.

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

Читать далее

Тестируем LLM для русского языка: Какие модели справятся с вашими задачами?

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

В последние годы большие языковые модели (LLM) стали важной частью бизнес-решений на базе ИИ, применяемых для генерации текста и анализа данных. Однако, большинство разработок ориентированы на англоязычные проекты, что создает сложности для компаний, работающих с русскоязычными данными.

Готовые LLM для русского языка часто показывают низкую точность и ограниченные возможности. Проблемы конфиденциальности также вынуждают компании выбирать локальные модели.

Наша компания давно занимается искусственным интеллектом и стала часто получать подобные запросы от клиентов — создание ИИ-решения с локальной обработкой данных. Мы задались вопросом, какие LLM хороши для таких решений, что мы можем предложить заказчику? Всё это вылилось в большой рисеч разных языковых моделей.

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

Читать далее

Управляем проектом и его документацией при помощи Python

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

Доброго времени суток, хабр! Управление проектом — это настоящее искусство, требующего внимания к деталям, навыков планирования. Документация, планы и структура проекта должна составляться в первую очередь, перед написанием кода.

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

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

Читать далее

Python 3.13, что не попало в заголовки

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

Python 3.13 — отличный релиз, полный различных фич и улучшений, но уже есть тонна статей, которые подробно разбирают release notes. Если вам нужна хорошая выжимка — у RealPython есть хорошая статья, но я не вижу смысла проходиться по ним еще раз в этой статье.

Так что мы не будем говорить про новый REPL, no‑GIL сборку, экспериментальный JIT‑компилятор, устаревшие штуки, новые плюшки системы типов или улучшенные сообщения об ошибках (как всегда, мое любимое).

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

Читать далее

Автоматизация сетевого оборудования на Python. Работа через jump-host

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

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

Читать далее

Алгоритмы поиска путей на пальцах. Часть 2: Алгоритм Дейкстры

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

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

Теперь вы, как специалист на посту разработчика 2GIS изучили местность более подробно и поняли, что BFS не подходит для решения вашей задачи, так как дороги имеют разную протяженность и маршрут от A до B не может исчисляться в условной единице.

Читать далее

Алгоритмы поиска путей на пальцах. Часть 1: Поиск в ширину

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

Давайте представим, что вы устроились много лет назад в 2GIS и вам выпала честь написать алгоритм, который будет прокладывать самый короткий автомобильный маршрут от точки A к точке B.

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

Читать далее

Как я автоматизировал поиск работы при помощи LLM

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

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

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

Можно конечно ускорить процесс, выкинув из этого алгоритма пункт с вычитыванием резюме, но:
а) есть немалый шанс, кликая на все подряд, как обезьяна, откликнуться на неподходящую для тебя вакансию; кому-то это норм, но мне бы не хотелось дергать HR'ов лишний раз по поводу вакансии, которая на самом деле мне не интересна;
б) некоторые особо хитрые работодатели добавляют в описание своих вакансий всякие ключевые слова/вопросы, которые нужно упомянуть/ответить в резюме; по мне так не самая лучшая практика, но я их за это не виню.

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

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

Запускаем Linux на Python

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

На чем только уже не запускали Doom. Мы же будем запускать Linux. Да не где-нибудь, а на Python. Да-да, прямо вот внутри него, где в качестве среды выполнения будет выступать интерпретатор Python. Ну как... Не будем пытаться переписать ядро и другие части Linux на этот язык, а попробуем написать (точнее портировать) виртуальную машину на Python и уже в ней запускать ОС.

Начнем с позитивного, а именно с плюсов такого решения.

– Можно будет запустить Linux вообще везде, где есть интерпретатор Python.

– Можно использовать как бенчмарк конкретного интерпретатора.

– Веселимся, пока все это пишем и отлаживаем. Пожалуй, это самый главный плюс.

Минусы: будет работать оооочень не быстро (ну логично же).

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

Приступаем!

Работа с географическими координатами с использованием пакета «Shapely» в Python на примере автотестов

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

Здравствуй, Хабр!
В этой статье я хочу рассмотреть пакет Python под названием "Shapely" и показать, как он может помочь в решении задач, как уже помог мне

Читать далее

Хеджирование Uniswap V3 позиций с помощью опционов

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

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

Читать далее

Python REST API: Flask, Connexion и SQLAlchemy (часть 1)

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

Это перевод статьи от Philipp Acsany

В этой первой части серии вы узнаете, как:
- Создать базовый проект REST API на Flask
- Обрабатывать HTTP-запросы с помощью Connexion
- Определять конечные точки API с помощью спецификации OpenAPI
- Взаимодействовать с вашим API для управления данными
- Создавать аннотации для API с помощью Swagger UI

Читать далее

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

PSQLBuddy — резервное копирование и восстановление PostgreSQL

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

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

Опять-двадцать пять, или резервное копирование баз данных PostgreSQL по новому. Снова.

Читать далее. Опять

Разрабатываем первое AI приложение

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

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

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

Тем не менее, несмотря на наши попытки структурировать все больше информации, мы по-прежнему сталкиваемся с трудностями в полном понимании и обработке всего нашего знания.

Читать далее

Интеграция Telegram-бота с ЮKassa

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

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

Опишу по шагам процесс подключения платежей для Python-бота на aiogram 3, при условии, что у его владельца уже оформлена самозанятость.

Читать далее

Telegram-бот для анализа текста | выделение тематических групп

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

Буквально месяц назад, мы с моим коллегой участвовали в HAKATON. Наша команда взялась за интересную задачу от компании МТС: на основе тысяч опросов, найти усредненный синоним к определенной категории ответов и визуализировать это в виде графика, либо облака слов.

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

Читать далее

Зуб комодского дракона

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

Вараны острова Комодо, также называемые в литературе драконами, — самая крупная из живущих на земле ящериц. Длина его тела может достигать 3 метров, а масса 140 кг [1]. Это доминирующий хищник своего региона, который может добывать животных (свиньи, буйволы, олени), порой 10-ти кратно превосходящих его весу.

Важнейшим инструментом такой охотничьей эффективности являются зубы. У комодского варана их 60 штук [2], изогнутых как сабли и острых как бритва (край зуба усилен металлизированным слоем, образующим микро пилу [3]). 

Этот комплект еще и регулярно, раз в 40 дней обновляется [4]. Не нужно ни стоматологов ни заточников — просто мечта. Однако фантастическая скорость роста зубов должна требовать и фантастических затрат «стройматериалов». Сколько, например, кальция и железа нужно варану в день для поддержания такого темпа?

Ниже мы оценим эти показатели, опираясь на «ангем», «матан» и python. Кто не испугался, welcome.

Читать далее

Возможности функции scatterplot() библиотеки seaborn

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

Функция scatterplot() из библиотеки seaborn предназначена для построения диаграммы рассеяния, позволяя визуализировать взаимосвязь между двумя числовыми переменными. Она предоставляет множество параметров для настройки внешнего вида точек, цветовых оттенков и размеров, что делает её полезной для анализа данных с несколькими переменными.

Читать далее

Асинхронный SQLAlchemy 2: улучшение кода, методы обновления и удаления данных

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

Третья статья цикла по асинхронному SQLAlchemy 2 посвящена оптимизации кода, обновлению и удалению данных. Рассмотрены улучшения базового класса, подходы к обновлению записей и методы удаления, с акцентом на повышение производительности. Нажмите «Читать», чтобы ознакомиться с материалом.

Читать далее