Обновить
561.6

Python *

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

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

Бенчмарк HTML парсеров в Python: сравнение скорости

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

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

Меня зовут Вадим Москаленко и я разработчик инновационных технологий Страхового Дома ВСК. В этой статье хочу поделиться с вами информацией по проведенному сравнению производительности нескольких популярных библиотек для простого HTML-парсинга.

При необходимости сбора данных с HTML или XML, многим python-разработчикам сразу вспомнятся две популярные библиотеки «BeautifulSoup4» и «lxml» — они весьма удобны и стали широко применяемыми. Но что, если в нашем проекте важна скорость сбора данных? Возникает вопрос: кто из них быстрее и есть ли еще более быстрые библиотеки? При поиске данной информации на Хабре, я нашел подобные статьи, но им уже несколько лет. Так как прогресс не стоит на месте и появляются новые инструменты или те, о которых еще не слышали, мне было интересно провести личное исследование и поделиться информацией.

Читать далее

Я знаю, что ты делал этой ночью

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

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

Сегодня с вами участники профессионального сообщества NTA Промкин Михаил, Мымрин Дмитрий и Господарикова Ирина.

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

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

Узнать больше

Сколько строк на C нужно, чтобы выполнить a + b в Python?

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

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

В этой статье мы опустимся на один уровень ниже и посмотрим, что же происходит внутри среды исполнения Python для выполнения простого действия a + b. Иными словами, мы узнаем о подробностях реализации типов, операторов и динамической диспетчеризации в CPython.

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

Читать далее

А/Б тестирование с CUPED: детальный разбор

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

Хабр, привет! Сегодня обсудим, как применять CUPED для повышения чувствительности А/Б тестов. Рассмотрим на простом примере принцип работы CUPED, покажем теоретически за счёт чего снижается дисперсия и приведём пример оценки эксперимента. Обсудим, как выбирать ковариату, как работать с бинарными метриками и что делать при противоречивых результатах.

Читать далее

«Как пресейл инженер телеграм ботом дверь открывал» или «Ты куда полез?»

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

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

Сама статья - это результат моего исследования в рамках расширения своих профессиональных навыков. 

Что будет в статье?

Как написать рабочий, но не идеальный код, чтобы через телеграм бота открыть дверь в СКУД Sigur;

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

Как все это великолепие установить и запустить в Docker.

Читать далее

Как подключить Yandex GPT к своему проекту на Python

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

6 декабря Яндекс открыл доступ к своим диалоговым моделям (моделям генерации) и векторного представления текста через API. API уже доступно в Yandex Cloud.

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

Предлагаю пошаговый гайд, который, надеюсь, сэкономит читателю, не знакомому с Yandex Cloud, часик-другой.

Для того, чтобы использовать Yandex GPT в Вашем Python-проекте, нужно выполнить 4 шага:

Читать далее

Как мы делаем проекты

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

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

Читать далее

Phoenix: разбираемся со сбоями ML системы прямо в вашем ноутбуке

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

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

В статье рассматривается open-source библиотека Phoenix, основная цель которой — помочь специалистам по данным понять и оценить сложные LLM-приложения, чтобы они могли узнать больше о внутренней работе системы.

Читать далее

LIME и SHAP

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

Модели МО часто сравнивают с "черными ящиками" из-за их неспособности ясно объяснить свои решения. Проблема "черного ящика" возникает, когда внутренняя работа модели настолько сложна или неясна, что даже ее создатели не могут точно понять, как был получен тот или иной результат. Это создает серьезные проблемы, особенно в ситуациях, требующих строгой подотчетности и прозрачности.

Методы к LIME (Local Interpretable Model-agnostic Explanations) и SHAP (SHapley Additive exPlanations), позволяют получить понимание решений, принятых сложными моделями.

Читать далее

Добавляем зрение, слух и голос в свой ChatGPT бот в Telegram

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

Поддержка преобразования речи в текст была в OpenAI API уже давно, а вот из текста в речь, а также распознавание изображений было добавлено совсем недавно. В связи с чем продолжаю свою серию туториалов по разработке собственного ChatGPT бота в Telegram.

Читать далее

Добавление собственных данных в LLM с помощью RAG

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

Этот материал посвящён тому, как добавлять собственные данные в предварительно обученные LLM (Large Language Model, большая языковая модель) с применением подхода, основанного на промптах, который называется RAG (Retrieval‑Augmented Generation, генерация ответа с использованием результатов поиска).

Большие языковые модели знают о мире многое, но не всё. Так как обучение таких моделей занимает много времени, данные, использованные в последнем сеансе их обучения, могут оказаться достаточно старыми. И хотя LLM знакомы с общеизвестными фактами, сведения о которых имеются в интернете, они ничего не знают о ваших собственных данных. А это — часто именно те данные, которые нужны в вашем приложении, основанном на технологиях искусственного интеллекта. Поэтому неудивительно то, что уже довольно давно и учёные, и разработчики ИИ‑систем уделяют серьёзное внимание вопросу расширения LLM новыми данными.

До наступления эры LLM модели часто дополняли новыми данными, просто проводя их дообучение. Но теперь, когда используемые модели стали гораздо масштабнее, когда обучать их стали на гораздо больших объёмах данных, дообучение моделей подходит лишь для совсем немногих сценариев их использования. Дообучение особенно хорошо подходит для тех случаев, когда нужно сделать так, чтобы модель взаимодействовала бы с пользователем, используя стиль и тональность высказываний, отличающиеся от изначальных. Один из отличных примеров успешного применения дообучения — это когда компания OpenAI доработала свои старые модели GPT-3.5, превратив их в модели GPT-3.5-turbo (ChatGPT). Первая группа моделей была нацелена на завершение предложений, а вторая — на общение с пользователем в чате. Если модели, завершающей предложения, передавали промпт наподобие «Можешь рассказать мне о палатках для холодной погоды», она могла выдать ответ, расширяющий этот промпт: «и о любом другом походном снаряжении для холодной погоды?». А модель, ориентированная на общение в чате, отреагировала бы на подобный промпт чем‑то вроде такого ответа: «Конечно! Они придуманы так, чтобы выдерживать низкие температуры, сильный ветер и снег благодаря…». В данном случае цель компании OpenAI была не в том, чтобы расширить информацию, доступную модели, а в том, чтобы изменить способ её общения с пользователями. В таких случаях дообучение способно буквально творить чудеса!

Читать далее

Пишем приложение на Python для подготовки к собеседованиям по Python

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

На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возникает потребность подготовки к собеседованиям.

В этой статье я расскажу о том, как используя Python, можно написать desktop-приложение для ОС Windows, которое поможет быстро, эффективно и абсолютно бесплатно подготовиться к собеседованиям по Python.

Читать далее

Как опубликовать свое первое приложение на Django и не упасть духом. Гайд для выпускников курсов

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

Я закончил курсы "Fullstack разработчик на Python" от одной известной компании. Обучение завершено успешно, но не было ощущения полноценности — на курсах не учили, как сделать самостоятельно деплой приложения на Django. И никто из студентов не задавался эти вопросом 😁

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

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

Как запустить Django и не потерять время

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

Автоматические бэкапы БД PostgreSQL по расписанию

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

В этой статье я поделюсь скриптом для создания бэкапов БД PostgreSQL за определенный период (например: 1, 2, 3 дня, 1 неделя, 1 месяц, 6 месяцев, каждый год).
Объясню как запустить скрипт с помощью расписания crontab, покажу как настроить синхронизацию папки с бэкапами с облаком Yandex Disk.

Читать далее

Дата-аналитик в Апх. (Или Yolo на фермах)

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

Однако здравствуйте. После года самообразования, 6 месяцев курсов по Data-Science - я умудрился устроиться Data-aналитиком в крупную АПХ. Месяц на вкатку в мир данных, пару скучных проектов и тут начальство загорелось внедрить нейронные сети на фермы. Об этом и пойдет повествование. Точнее о первых двух.

Читать далее

Dedoc: как автоматически извлечь из текстового документа всё и даже немного больше

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

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

Мы команда разработчиков Института Системного Программирования РАН, занимаемся Computer Vision в обработке электронных документов. Мы разработали open-source библиотеку dedoc, которая помогает разработчикам и дата-сайентистам в пару строк кода читать различные форматы текстовых документов и изображений с текстом, и далее приводить информацию к единой аккуратной структуре.

Читать далее

Использование Nim В Python

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

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

Узнаем о том, какие библиотеки в Python написаны на Nim и даже напишем свой небольшой модуль для Python!

Читать далее

Создаём сортировщик деталей Lego Technic, распознающий объекты в реальном времени

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

Когда я проходил стажировку в Nullspace Robotics, мне повезло участвовать в проекте, нацеленном на расширение возможностей компании. Мы совместили системы обнаружения объектов и распознавания изображений для создания модели, классифицирующей детали конструктора Lego Technic в реальном времени.

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

Python лёгкий. Go простой. Простой != лёгкий

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

Python и Go отличаются по свойствам, и поэтому могут дополнять друг друга.

Существует распространённое заблуждение, будто простой и лёгкий — это одно и то же. В конце концов, если некий инструмент легко использовать, то и его внутреннее устройство должно быть просто понять, разве не так? И обратное тоже верно, да? На самом деле, всё как раз наоборот. В то время, как по духу оба понятия указывают на одно и то же (итог со стороны кажется лёгким), на практике такая поверхностная лёгкость достигается огромной подкапотной сложностью.

Читать далее

Планируем путешествие — задача коммивояжера (TSP) для построения оптимального маршрута

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

С вами Алексей Ложкинс, эксперт по анализу данных и машинному обучению в ПГК Диджитал. Мы разрабатываем цифровые продукты для логистической отрасли, в первую очередь, для ж/д перевозок.

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

Моделирование маршрута в виде задачи коммивояжера позволит построить маршрут по всем запланированным локациям без повторений с заданным критерием качества (время, стоимость). Рассмотрим несколько подходов к решению оптимизационной задачи (TSP) с использованием пакета ORTools.

Читать далее

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