Обновить
525.45

Python *

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

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

StackLLaMA: практическое руководство по обучению LLaMA с помощью RLHF

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

ChatGPTGPT-4 и Claude — это мощные языковые модели, которые дообучают, используя метод, который называется «обучение с подкреплением на основе отзывов людей» (Reinforcement Learning from Human Feedback, RLHF). Благодаря этому такие модели лучше отражают наши ожидания в плане их поведения, они лучше соответствуют тому, как мы собираемся их использовать.

В этом материале мы рассмотрим процесс обучения модели LLaMa c использованием RLHF. Модель будет учиться отвечать на вопросы с сайта Stack Exchange.

Читать далее

Что произошло в мире Python за последний месяц

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

Привет! Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. В апреле поговорили об исследовании экосистемы Django от JetBrains, LTS-релизе Django 4.2, релизе Pandas 2.0 и свежих PEP. Под катом — текстовая выжимка из обсуждения.

Читать далее

GPT-4 добавляем новые знания: Git репозиторий

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

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

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

Поехали

Что такое драйвера в Jija?

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

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

Ну и по случаю появления драйвера для sqlalchemy, на этот раз речь пойдёт про драйвера, а если вы пропустили вступительную статью, советую прочитать сначала её для понимания.

Читать далее

Быстрое нахождениe остатка от деления больших чисел для делителей специального вида

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

В этой статье я расскажу об одном способе вычисления x mod p, для p вида (2 ** n - omega), причём omega значительно меньше 2 ** n. Напишу генератор констант на Python. Приведу пару игрушечных примеров на С++, для которых может быть выполнено исчерпывающее тестирование для всех возможных аргументов. А в качестве серьёзной проверки - вычислю 97! mod (2 ** 256 - 2 ** 32 - 977).

Читать далее

Jija python async framework

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

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

При создании jija я думал об удобстве использования сборщика приложения джанги и лёгкости и асинхронности fastapi.

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

Читать далее

Сам себе Росстат

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

Начало тут

Руководящие документы по организации первичной медико-социальной помощи населению предписывают проводить сравнительный анализ численности населения по территориальным участкам (норматив численности населения на терапевтическом участке - 1700 взрослых, на педиатрическом участке - 800 детей, на акушерско-гинекологическом участке - 3300 женщин в возрасте 15 лет и старше и т.д.) .

Оценку численности населения по субъектам РФ Росстат публикует ежегодно на 1 января текущего года. Для крупных городов территории обслуживания населения медицинскими организациями часто не совпадают с адресно административным делением и распределение населения по зонам ответственности медицинской организации становится скорее творчеством нежели технологической процедурой. Вопрос как декомпозировать данные из бюллетеня Росстата до медицинского участка для меня остается нерешенным.

Мы пойдем другим путем. Данные о населении мы можем получить из медицинской информационной системы (МИС). База МИС обогащается на регулярной основе данными страховых компаний о застрахованных лицах по программе обязательного медицинского страхования (ОМС).

Для работы нам понадобится обезличенная выгрузка из МИС, содержащая данные по пациентам: пол, дату рождения, адрес регистрации, адрес фактического места жительства, данные медицинской организации и номера участка по терапевтическому или педиатрическому профилю. Я загрузил ее в pandas.dataframe.

Читать далее

Отладка C при помощи пакета Cosmopolitan Libc

Время на прочтение12 мин
Охват и читатели4.1K
Cosmopolitan Libc предоставляет набор отладочных возможностей, повышающих удобство разработки на C: трассировка вызовов функций, интеграция с gdb, среда выполнения ASAN/UBSAN и многое другое! На C написано много быстрого и критически важного кода. Если вы пользуетесь программами, написанными на C, если вам приходится предусматривать интерфейсы для работы с библиотеками на C, исправлять баги в коде на C, либо даже переписывать имеющуюся на С программу на каком-то другом языке, то именно этот инструмент помогает понять, что делается в вашем коде на C. Отладка – это не просто россыпь инструкций printf. В этом посте будет рассмотрено, как Cosmopolitan Libc помогает наверняка и как следует отлаживать код C. Все примеры находятся в этом репозитории.
Читать дальше →

Асинхронный файловый api-сервис

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

Идея написать данную статью родилась после моего фейла по разработке данного сервиса. Суть задачи была проста — написать сервер с базовыми методами сохранения и отдачи файлов и сервисными методами по специфичной обработке файлов. Обмен данными (тело запроса, возвращаемые данные) я реализовал через json, про асинхрон идею упустил. По началу всё было хорошо, файлы не превышали размер нескольких мегабайтов, методы использовались редко. Но буквально через пару месяцев размеры файлов стали измеряться десятками мегабайт, количество запросов сотни в минуту. Сервис стал тормозить, возникали ошибки совместного доступа к файлам. «Никогда Штирлиц не был так близок к провалу».

В этом кейсе я покажу как я переписал код сервиса.

Читать

Пишем простой ML веб-сервис на FastAPI

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

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

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

План:

1. Загрузка и подготовка модели машинного обучения для использования в веб-сервисе.

2. Создание веб-сервиса с помощью FastAPI.

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

4. Написание автоматических тестов с помощью библиотеки pytest.

5. Запуск приложения в Docker-контейнере.

Код доступен на GitHub.

Читать далее

Real-time аналитика в Учи.ру: как смотреть сложные метрики

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

Привет, Хабр! Меня зовут Андрей Скиба и я Python-разработчик в ML-команде Учи.ру. Разным командам в нашей компании важно получать доступ к ключевым метрикам пользователей (количество сессий, DAU и другим) в режиме реального времени. Поэтому мы создали свою собственную систему real-time аналитики — быструю, простую и с удобным для нас функционалом. Сегодня я расскажу, как она устроена. 

Читать далее

Простой способ развернуть телеграмм бота с Aiogram + Webhook на хостинг

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

Расскажу самый простой и бесплатный способ развернуть на хостинге телеграмм бота, написанного на aiogram и перевести на webhook. Посмотреть видео-версию, которую я разместил, можно на https://youtu.be/Gw-cVvsaOGE .

Бот будет работать 24/7 пожизненно.

Без использования VPS, фреймворка (django, flask, fastapi,..), pythonanywhere и heroku.

Краткое содержание действий:

Пункт 1. Сохранить пример к себе, регистрация на хостинге.

Пункт 2. Через FTP поместить наш файл бота на хостинге.

Пункт 3. Через SSH установить библиотеку aiogram.

Пункт 4. Настроить сервис бота на хостинге.

Пункт 5. Настроить веб-сайт на переадресацию всех запросов на сервис бота.

Пункт 6. Отредактировать файл запуска бота с учетом наших настроек.

Пункт 7. Перезапуск сервиса бота, проверка бота. Просмотр логов.

________________________________________________________

Пункт 1. Сохранить пример к себе, регистрация на хостинге.

Идем на страницу официальной документации:

https://docs.aiogram.dev/en/v2.25.1/examples/webhook_example.html

Копируем содержимое webhook_example.py к себе в файл webhook.py и сохраняем.

Читать далее

Простая очередь задач в Django, подключение Kandinsky 2.1

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

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

Читать далее

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

Как подключить платежную систему с Payments к Telegram

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

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

Пакетное тестирование скоринговых моделей

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

Всем привет! Сегодня мы, риск-технологи банка «Открытие» Илья Мясников (@berrim0r) и Гевонд Асадян (@Gevond), расскажем, каким образом осуществляем тестирование моделей оценки кредитного риска перед выводом в прод. В прошлой статье про дублирующий проверочный скрипт мы рассказали о том, как мониторим корректность выведенной в прод модели. Но проверок же много не бывает! Перед выводом модели в прод нужно удостовериться, что выводимый функционал работает корректно.

Как проверить корректность расчета модели? Ну да, верно – скормить ей входные данные со строго определенными параметрами. Звучит не очень сложно, правда? А если факторов более полутора сотен? И часть из них оказывают влияние только при определенном взаимодействии с другими факторами? Такое количество вариантов входных данных вручную придется готовить не один день.

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

Дальше — больше

Создай своего ИИ-ассистента с помощью ChatGPT и Streamlit

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

Автор: Дмитрий Косаревский

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

Меня зовут Дима Косаревский, я инженер данных (DE), увлеченный Data Science и всем, что связано с этим направлением.
Data Science позволяет извлекать ценную информацию из огромных объемов данных при помощи статистических и вычислительных методов.

В последнее время эти ИИ, вроде ChatGPT, врываются прямо во все сферы. И вот благодаря увлечению Data Science можно использовать этих ботов, чтобы помогать людям, да ещё и пообщаться с ними на разные темы. Здорово, правда?

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

Поехали 🚀

Тайна исчезающих сообщений: зачищаем Telegram в автоматическом режиме

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

На фоне новости о датасатанисте, который "клонировал" своих друзей в цифровое пространство, обучив LLM на 500.000 сообщений в групповом чате (на самом деле не только, но причину каждый найдёт для себя сам), будем кормить паранойю и пошагово разбираться, как же уничтожить свой "цифровой след" в мессенджере Telegram.

Читать далее

403, 404 или 405. Разбираемся со статусами во ViewSet’ах DRF

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

Идея делать нормальный REST на Django – утопия, но некоторые моменты настолько логичные и нет одновременно, что об этом хочется писать. Ниже история про то, как мы сделали ViewSet от GenericViewSet и пары миксинов в DRF, покрыли это все тестами и получили местами странные, но абсолютно обоснованные коды ответов.

Текст может быть полезен новичкам (или чуть более прошаренным) в Django, дабы уложить в голове формирование url’ов и порядок вызова методов permission-классов. Ну а бывалые скажут, что все это баловство и надо было использовать GenericApiView.

Читать далее

Проверяем ветхозаветную историю происхождения человечества от Адама и Евы с помощью популяционной модели

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

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

На этот странный вопрос я ответить не смог, но он меня неожиданно натолкнул на идею для любопытного эксперимента. Зачем изучать тропообразовательный потенциал людей, когда можно построить симуляцию и проверить теологическую теорию о самом происхождении человечества. Мне стало интересно, может ли человечество развиться до 11 млрд со времен Адама и Евы к концу XXI века. О том, что из этого получилось, рассказываю под катом.
Читать дальше →

Геопространственные технологии для управления паспортом медицинского участка

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

Все началось с голосовых роботов. Во время борьбы с Ковидом наш коллцентр, носящий теперь гордое имя Центр телефонного обслуживания граждан 122, все чаще и чаще выстраивал очереди со временем ожидания ответа оператора свыше 30 минут. Нанять больше людей и начать стабильно укладываться в норматив ответа оператора менее 3-х минут не позволяли размеры помещения и фонда оплаты труда.

Стали пробовать решения для автоматизации контакт центров, которые можно было бы интегрировать с медицинской информационной системой (МИС). За 3 месяца пилотирования NLP продукта и его интеграции действующие в бизнес-процессы удалось добиться вменяемых результатов по распознаванию номеров медицинских полисов, адресов проживания и имени пациентов. Даже удалось удержать среднее время обслуживания одного звонка на уровне 100 секунд… Однако процент автоматических обслуженных обращений болтался в диапазоне от 11 до 30 процентов, и пациенты продолжали томится в ожидании ответа оператора.                      

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

Читать далее

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