Обновить
797.71

Python *

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

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

Netmiko: упрощение сетевой автоматизации на Python

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

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

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

Netmiko — это обертка над библиотекой Paramiko, разработанная для сетевых инженеров. Она упрощает работу с SSH-соединениями и добавляет ряд методов и интерфейсов для взаимодействия с сетевыми устройствами.

Этот модуль поддерживает большой спектр сетевых устройств — от Cisco и Juniper до Arista и HP. Всё, что нужно, это определить параметры устройства в виде словаря, и Netmiko позаботится обо всем остальном.

Читать далее

Алгоритм Backpropagation на Python

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

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

Алгоритм backpropagation, или обратное распространение ошибки, является некой базой для тренировки многослойных перцептронов и других типов искусственных нейронных сетей. Этот алгоритм впервые был предложен Полем Вербосом в 1974 году, а позже популяризирован Дэвидом Румельхартом, Джеффри Хинтоном и Рональдом Уильямсом в 1986 году.

Читать далее

Python logging — вывод лога на QTextWidget (PyQt6)

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

Было консольное Python приложение, в котором пишутся логи через стандартный модуль logging. Затем прикрутил GUI на PyQt6, конечно, хочется продублировать логи в какой-нибудь виджет в уголочке. Категорически не хочется ничего менять в консольной части, и спокойно использовать дальше стандартный logging.

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

Читать далее

Telegram Боты на Aiogram 3.x: Деплой бота через Docker

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

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

Дисклеймер

Цель данного руководства — не обучение Docker, а пример использования этой технологии в контекте телеграмм ботов на aiogram 3. Я не буду сильно акцентировать внимание на таких вещах, как слои, volume, docker-compos, bridge и прочей технической информации более глубокого уровня, чем необходимо для деплоя ботов на VPS сервере.

Далее вы получите пример использования Docker и общее описание методов (команд). Если вам нужны мои обучающие публикации по Docker, сообщите мне об этом любым удобным способом.

Подготовка

Для начала вам нужно обзавестись базой данных PostgreSQL. О том, как развернуть ее на VPS сервере, я писал ТУТ. Также потребуется установить Docker. Новичкам будет удобнее поставить Docker Desktop, если с технологией уже знакомы, используйте консольный вариант.

Читать далее

Руководство по началу с нуля настройки решений речевой аналитики Яндекс SpeechSense и документации по платформе

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

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

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

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

Сама инструкция довольно короткая https://yandex.cloud/ru/docs/speechsense/operations/data/upload-data я рассчитывал справиться за пару часов, это мне не удалось. Так что Ваша выгода от прочтения статьи может составлять 2-3 рабочих дня. Или больше.

Прочитать

Он победил LLM RAG: реализуем BM25+ с самых азов

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

Привет, меня зовут Борис. Я автор телеграм канала Борис опять. Периодически мне на глаза попадается что-то интересное и я глубоко в этом закапываюсь. В данном случае это алгоритм поиска BM25+, который победил продвинутые методы векторного поиска на LLM.

Разберемся, что это за зверь и почему он так хорошо работает. В этой статье мы реализуем его на Python с нуля. Начнем с самого простого поиска, перейдем к TF-IDF, а затем выведем из него BM25+.

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

Код доступен в Google Collab.

Читать далее

Кратко: как новичку создать чат-бот с Gradio и ChatGPT?

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

Хотя подключение GPT к интерфейсу Gradio кажется тривиальной задачей, у некоторых новичков возникают трудности, поэтому мы максимально подробно расписали весь процесс создания чат-бота.

Читать далее

Сильный ИИ. Элира2. Сохранение диалогов ChatGPT

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

Всем привет!

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

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

Читать далее

Asynpg-lite: лёгкость асинхронных операций на PostgreSQL с SQLAlchemy

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

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

Что такое asynpg-lite?

Представьте себе библиотеку, которая сочетает в себе мощь асинхронного программирования через asyncpg и безграничные возможности SQLAlchemy. Это asynpg-lite — простая и надёжная библиотека, созданная для того, чтобы каждый, даже новичок, мог воспользоваться её потенциалом.

Почему это важно?

В мире, где асинхронное программирование становится всё более востребованным, asynpg-lite предлагает идеальное решение для работы с PostgreSQL. Вам не нужны глубокие знания программирования или сложные концепции. Достаточно базового понимания Python (списки, словари, строки и т.д.) и основ SQL и PostgreSQL (таблицы, CRUD-операции, типы колонок и т.д.).

Что вас ждёт?

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

Готовы погрузиться в мир асинхронных операций на PostgreSQL с помощью asynpg-lite и SQLAlchemy? Тогда давайте начнем!

Читать далее

Кино, финансы и data science

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

Может ли российский кинематограф вдруг стать прибыльным? За счет каких инструментов повышения финансовой эффективности это возможно? Откуда придут инвестиции? Как просчитать возможную доходность, а также минимизировать риски и возможные убытки?

Смотреть кино

История оптимизации Python сервиса: Маленький шаг для человека, гигантский скачок для сервиса

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

Привет, Хабр, на связи Okko! У нас одна из самых больших медиатек в России, поэтому мы постоянно работаем над развитием алгоритмов поиска и рекомендаций. Новые фичи тестируются с помощью А/Б тестов. Количество фичей неустанно растет, поэтому было решено создать специальную платформу для проведения экспериментов. Она позволила бы удобно их заводить и настраивать, сплитовать трафик в онлайн-режиме и формировать результаты экспериментов.
Мы — команда разработки платформы экспериментов — посвятим цикл рассказов самому важному и сложному компоненту сервиса — сплитовалке трафика. В этой статье расскажем о небольших по сложности, но больших по значению оптимизациях в коде, которые мы сделали, чтобы разогнать нашу платформу до скорости ракеты 🚀

Читать далее

Обратная сторона умного поиска заказов

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

Всем привет, меня зовут Иван Елфимов, я Developer Advocate в Островке. До DevRel-ства я 5 лет руководил командой разработки партнёрских интеграций. 

Мы в Островке создаём платформы бронирования тревел-услуг не только для индивидуальных путешественников, но и для корпоративных клиентов и тревел-агентств — наших B2B-партнёров.

У B2B-партнёров может быть много клиентов и бронирований. По каждому бронированию нужна подробная информация — стоимость, комиссия, статус оплаты, кто основной гость и т. д. Всем этим наши партнёры управляют в личном кабинете. Я расскажу вам, как мы подключали в личном кабинете B2B-партнёров умный поиск по заказам. Умный, потому что может подстраиваться под поисковый запрос и иногда даже делать полнотекстовый поиск.

Узнать, как править всеми

YandexGPT для распознавания навыков в резюме без смс и разметки данных

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

Салют! Меня зовут Григорий, и я главный по спецпроектам в команде AllSee. На дворе 2024 год — год ИИ и больших языковых моделей, многие из нас уже приручили новые технологии и вовсю используют их для всего подряд: написания кода, решения рабочих и учебных задач, борьбы с одиночеством. Давайте и мы попробуем применить LLM для решения одной интересной задачки из сферы HR. Сегодня в меню автоматическое определение навыков кандидата по тексту резюме. Поехали?

Поехали!

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

Telegram Боты на Aiogram 3.x: Профиль, админ-панель и реферальная система

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

Привет! В этой статье я расскажу, как создать телеграм-бота на aiogram 3.7 с личным профилем, админ-панелью и реферальной системой. Мы пройдем через регистрацию пользователей, работу с базой данных PostgreSQL и многое другое. Жмите на "читать далее"!

Читать далее

Jetson nano 2 GB. Есть жизнь для AI, или в гроб его?

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

128 CUDA ядер, 2GB LPDDR3 это всё Nvidia jetson nano 2gb. Реально ли на таком железе запустить AI(конкретно YOLOv8), как это питать и охлаждать, и это хоть кому-то нужно?

Ну и как?

FastStream — новый убийца Celery?

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

FastStream - это относительно новая блестящая игрушка в руках Python'истов, которая создана специально для работы с брокерами сообщений.

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

Однако, это не совсем верно. Существует огромный пласт проектов, которым нужен не фреймворк для менеджмента задач, а просто "голый" функционал Kafka/RabbitMQ/NATS/whatever для межсервисного взаимодействия. И все эти проекты вынуждены довольствоваться "сырыми" python-клиентами к своим брокерам, а всю обвязку вокруг этих клиентов писать самостоятельно. FastStream целится как раз в эту нишу.

В рамках статьи я хочу убедить вас, что не Celery мы едины, и для альтернативных инструментов найдется место под солнцем. А также рассмотрим фичи FastStream, которые он привносит в застоявшийся мир MQ-инструментов.

Читать далее

SARIMAX vs Экспоненциальное сглаживание: Когда простота побеждает

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

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

Читать далее

Как искусственные нейросети помогают в поиске любви: опыт использования для фильтрации анкет в дейтинг-приложении

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

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

Читать далее

Работа с YOLOV8. Детекция, сегментация, трекинг объектов, а также подготовка собственного датасета и обучение

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

Если вам кажется, что начать работу с нейросетями - это сложно, то этот материал для вас!

В статье подробно, с примерами кода, разберем основные функции базовой модели YOLOV8 - детекция, сегментация, трекинг объектов, а также создание собственного датасета и дообучение нейросети для работы с собственными объектами!

Читать далее

Анализ производительности моделей YOLOv8

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

В данной статье речь пойдёт о замерах производительности и точности работы моделей YOLOv8 на разных устройствах с различными оптимизациями и без них. Большое внимание будет уделено работе Yolo на “слабых устройствах”, таких как Raspberry PI, Orange PI, Jetson Nano, мини ПК. 

Современные задачи робототехники требуют вычислений "на борту", что особенно актуально для автономных систем. Важность данного исследования заключается в том, что оно направлено на решение задачи детекции в режиме реального времени на маломощных устройствах, что открывает новые возможности для использования компьютерного зрения в мобильных и автономных роботах. Будем считать, что FPS обработки изображений  >= 10 пригоден для некоторых задач детекции в реальном времени, но далеко не для всех.

Читать подробнее

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