Обновить
1024K+

Open source *

Открытое программное обеспечение

606,7
Рейтинг
Сначала показывать
Порог рейтинга

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях.

На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд.

Добавив индекс для таблицы #__content

CREATE INDEX idx_catid_state ON #__content (catid, state);

он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на STRAIGHT_JOIN для категорий.

// ->from($db->quoteName('#__content', 'a'))
->from(
    $db->quoteName('#__content', 'a')
    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')
    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid')
)
// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))

Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера.

Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Дальнейшие его изыскания и результаты можно поглядеть в дискуссии на GitHub. Это ещё не конец.

Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.

Дискуссию на GitHub можно почитать здесь.

Теги:
Рейтинг0
Комментарии0

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.

В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla) (на Хабре), (на сайте автора). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:

use Joomla\Http\HttpFactory;

$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);
$response = $http->get('https://any-url.ru/api/any/endpoint');

Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.

Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.

Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7.

Код ответа.
Было $response->getContents(). Стало $response->getStatusCode().

Заголовки ответа.

Было $response->headers. Стало $response->getHeaders().

Тело ответа.

Было $response->body. Стало (string)$response->getContents().

В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:

// Получили ответ в виде потока
$stream = $response->getBody();
// "перемотали" на начало
$stream->rewind();
// Получили строковый ответ
$json = $stream->getContents();

В итоге результат одинаковый.

Telegram чат русскоязычного Joomla-сообщества.

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

«Там, где критична скорость, но не требуется оптимизация»: как и зачем МойОфис вышел в OpenSource

На Хабре опубликовано первое большое интервью нашего CTO Тамары Щепалкиной — и оно стоит прочтения, потому что это:

  1. «Не форк с косметикой, а оригинальная инженерия»

    Компилятор tsnative прошёл проверку на безопасность, получил документацию, Docker-образ и демо, чтобы любой разработчик мог сразу попробовать его в работе.

    «...tsnative — это не «форк с косметическими изменениями», а продукт, в основе которого лежит оригинальная инженерная работа. Именно поэтому мы и приняли решение вывести его в open source: у проекта есть собственная ценность и потенциал для развития, который может быть интересен и полезен гораздо шире, чем внутри одной компании…»

    2. Open source как часть стратегии.

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

    3. «Где критична скорость, но не требуется оптимизация».

    tsnative создавался как инструмент, который помогает веб- и C++-разработчикам ускорять работу и выходить за рамки привычных сценариев. В основе компилятора — открытые библиотеки и собственная инженерия, без компромиссов по производительности.

    4. От ядра к экосистеме.

    Сначала — компилятор, но потенциально — UI-фреймворк и целая экосистема open source-проектов.

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

    «Ключевое для нас сейчас — подключить опенсорсное сообщество к развитию наших продуктов. Мы видим в этом не просто обмен кодом, а полноценное партнёрство: разработчики получают доступ к инструментам, которые можно использовать и дорабатывать под собственные задачи, а мы — обратную связь и новые идеи, которые помогают делать продукт лучше…»

    В статье Тамара рассказывает, как и зачем МойОфис выходит на уровень open source-разработки, какие цели ставит и какие шаги уже сделаны.

    Если вас интересует развитие стратегия открытого кода и сотрудничество с сообществом — обязательно загляните.

    Читать интервью

Теги:
Всего голосов 20: ↑16 и ↓4+12
Комментарии2

Релиз v6.2 публичного детектора голоса Silero VAD

v6 по сравнению с прошлыми версиями
v6 по сравнению с прошлыми версиями

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

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

  • Повышена общая стабильность на краевых случаях;

  • В целом незначительно повышено качество детекции на всех доменах;

  • Есть существенные улучшения на следующих краевых случаях:

    • Детские голоса;

    • Необычные голоса;

    • Мультяшные голоса;

    • Приглушённая речь;

    • Более сложные телефонные звонки;

    • Музыкальные инструменты, похожие на речь.

Будем признательны пользователям за ваши краевые случаи!

Детектор создан при поддержке Фонда содействия инновациям в рамках федерального проекта «Искусственный интеллект» национальной программы «Цифровая экономика Российской Федерации».

Цитировать детектор можно следующим образом:

@misc{Silero VAD,
  author = {Silero Team},
  title = {Silero VAD: pre-trained enterprise-grade Voice Activity Detector (VAD), Number Detector and Language Classifier},
  year = {2021},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/snakers4/silero-vad}},
  commit = {insert_some_commit_here},
  email = {hello@silero.ai}
}

Ссылки

  1. Репозиторий - https://github.com/snakers4/silero-vad;

  2. Более подробное описание изменений - https://github.com/snakers4/silero-vad/releases/tag/v6.2;

  3. Метрики - https://github.com/snakers4/silero-vad/wiki/Quality-Metrics;

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии0

Проект открытого загрузчика Gopeed (Go Speed) поддерживает самые популярные протоколы и агрегирует загрузки, включая PDF, аудио, видео, картинки, фильмы, документы и html-файлы. Решение поддерживает многопоточные скачивания и работает с популярными протоколами, например, HTTP, BitTorrent и Magnet. Сборки доступны для Windows, macOS, GNU/Linux, Android, а также есть веб-версия и работа через Docker.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Проект "AltSendme - Send files anywhere, On-premises or world-wide. Frictionless, Fast, Private, Unlimited and Free" позволяет передавать файлы без страха потери данны между всевозможными устройствами. Решение работает на базе peer-to-peer шифрования: файлы передаются через сторонние серверы, которые невозможно отследить и перехватить. Передать можно документы, архивы, видео, аудио, причём без ограничений по размеру файла и скорости передачи.

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Представлена открытая библиотека Reduino, которая поможет программировать микроконтроллеры на Python. Знания сложного и запутанного C++ не нужны, разбираться в нюансах Arduino больше не надо. Можно легко запрограммировать RGB-ленты, датчики, сенсоры и другие девайсы на простом Python. Ресурс помогает использовать все синтаксические структуры без кучи манипуляций с памятью: условия, циклы, массивы, кортежи и понятное ООП. Библиотека преобразует код в C++.

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии6

На площадке Networking Toolbox (GitHub) доступны более 100 сетевых инструментов для системных администраторов и сетевых специалистов, включая решения для проверки DNS, TLS, DHCP, HTTP и почтовых серверов, для конвертирования CIDR, масок, IPv4/IPv6, MAC-адресов, калькуляторы подсетей, генераторы конфигов, утилиты для тестирования производительности, шифрования и маршрутизации, а также справочники по основам сетей IPv6 и сетевым протоколам.

Ранее на Хабре был пост: "20 инструментов кибербезопасности 2025 года для пентестинга, сканирования IP-сетей, анализа трафика".

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Новые лекции Python + AI выпустили в Microsoft. В них эксперты собрали самую актуальную информацию про кодинг и создание продвинутых нейропомощников на основе последних разработок с подробными презентациями и примерами кода, в том числе RAG, эмбеддинги, агенты и MCP-протокол.

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Инструмент Depixelization PoC вытаскивает текст из скриншотов и фото, убирает пиксельный хаос и делает буквы читаемыми. Починит даже самые безнадёжные блоки текста. Использует метод De Bruijn sequence для точного восстановления букв. Подходит для документов, конспектов, рефератов и всего учебного.

Теги:
Всего голосов 6: ↑6 и ↓0+9
Комментарии0

Народ жалуется на трудности поиска работы. В частности такие жалобы есть в группе русского QA коммьюнити в США. Написал для них следующий пост. Интересно сколько откликнется:

"Господа! В этом коммьюнити есть junior QA, которым могут быть полезны (например для поиска работы) рекомендации в LinkedIn. Я готов написать нижеследующую рекомендацию в обмен на несложную работу: проверить инструкцию и репозиторий для семинара, который я буду проводить в грядущий викенд в Cal Poly SLO (Калифорнийский политехнический государственный университет в Сан-Луис-Обиспо).

Рекомендация в LinkedIn будет звучать так:

"Товарищ такой-то/такая-то demonstrated reliable QA skills and verification creativity when testing a CI/CD workflow setup for an educational project aimed to help the universities to teach VLSI classes. The tested product is a variant of a Tiny Tapeout GitHub template for ASIC synthesis used during the Verilog Meetup at California Polytechnic State University in San Luis Obispo, California. The template includes JSON-based GitHub Actions and Python scripts to run Yosys/OpenROAD-based RTL-to-GDSII flow and cocotb/pytest-based verification for the digital designs coded in SystemVerilog. такой-то/такая-то wrote an informative report describing the observed usability problems and unclear parts in the instructions for the user. This work greatly contributed to the success of the CalPoly seminar and similar planned events in microelectronics workforce development.

Инструкция здесь - https://verilog-meetup.com/2025/10/20/from-fpga-to-asic-using-template/

Если вас это заинтересовало, можете приступать. За вопросами можете обращатся в личку.

Теги:
Всего голосов 17: ↑8 и ↓90
Комментарии7

Парсинг Сохранённых сообщений Телеграм в локальный каталог

Всем привет. Позвольте рассказать вам, как скачать содержимое Сохранённых сообщений Телеграм к себе на ПК.

Для начала, ознакомьтесь с предыдущей статьёй - Парсинг чатов Телеграм. В ней описан процесс установки и первичной настройки десктоп клиента. Кратко, что у вас должно быть настроено:
1. Путь к хранилищу (локальная БД SQLite).
2. Путь к файлу сессии (в нём сохраняется служебная текущая сессия подключения).
3. Регистрация приложения на сайте Телеграм.
4. Настройки подключения клиента (хранится в таблице приложений).

Страница настроек
Страница настроек

После успешного подключения к Телеграм, откроется доступ к меню Сохранённые сообщения. Заходим на третью вкладку Скачать, кликаем по кнопке Сбросить по-умолчанию, указываем локальный каталог на диске для скачивания файлов (например C:\OpenTgResearcher\SavedMessages). По необходимости, отредактируем первый ИД и количество потоков. Всё готово, кликаем по кнопке Запустить парсинг Телеграм. После чего можно идти пить кофе, пока ожидаем результат работы парсинга. Файлы будут скачаны в локальный каталог, а сообщения в соответствующую таблицу, их можно будет посмотреть на вкладке Содержимое.

Если вам нужна заказная разработка приложений либо вы в поисках разработчика моего уровня, сообщите пожалуйста мне в личку.

🧠 Стек технологий:
- Разработка ПО: Console, ASP.NET Core Web API, Blazor, WinForms, WPF, UWP, WinUI
- Хранение и передача информации: JSON, XML, SQLite
- БД и ORM: MS SQL Server / PostgreSQL / SQLite, EF Core
- Веб технологии: REST API / RESTful API, HTTP, TCP/IP, HttpClient, WebSocket
- Брокеры сообщений: RabbitMQ (готов быстро освоить Kafka)
- Контейнеризация: Docker / Compose (готов быстро освоить Kubernetes)
- Архитектура ПО: ООП, шаблоны проектирования (Design Patterns)
- Архитектурные подходы: TDD, DRY, KISS, SOLID, YAGNI, Clean Architecture, N-Tier Architecture
- Фронт: небольшой опыт разработки Angular

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии4

Joomla 6: Автоматические обновления ядра в Joomla.

В октябрьском номере официального журнала Joomla - Joomla Community Magazine вышла статья David Jardin, где рассказывается о внедрении функционала автоматического обновления ядра Joomla.

❓ Почему сейчас? Joomla же жила как-то 20 лет без автоматических обновлений?

Это оказалась самая востребованная за последнее время от пользователей Joomla функция. Но, основная причина внедрения - проблемы безопасности.

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

Анализ патча, понимание проблемы и разработка скрипта требуют времени. И если владелец сайта не обновит его до истечения этого срока, сайт может быть взломан. А хакеры действуют быстро! Для критических, легко эксплуатируемых уязвимостей речь идёт о временном окне в 10–12 часов — и этого времени явно недостаточно, чтобы все успели обновить свои сайты.

Здесь выходят на первый план автоматизированные обновления: проект Joomla теперь может активно устанавливать обновления (и, следовательно, исправления безопасности) на сайты, чтобы гарантировать, что сайты действительно обновляются вовремя.

От первых идей до реализации прошло 5 лет. И здесь можно вспомнить, как в Joomla 5.1 внедрили TUF - The Update Framework, позволяющий устанавливать защищённое соединение между сайтом и сервером обновлений и исключает возможность supply chain attack (атаки на цепочку поставок).

Об особенностях реализации и требованиях к сайту читаем подробнее в статье на JCM.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

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

Ресурс Clone Wars содержит более ста клонов самых полезных сервисов. Например, с помощью этой библиотеки можно разобраться в устройстве самых хайповых программ и попрактиковаться в коде. Есть буквально всё, в том числе и клоны сервисов, ушедших из России: Notion, Spotify, YouTube, TikTok, Discord, Dribble, Dropboх и прочее. Детальный разбор устройства каждого сервиса, кода, архитектуры и функционала, а также советы по его воссозданию. Можно стащить использовать многие решения в своих пет‑проектах.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Cооснователь OpenAI Андрей Карпаты представил открытый проект nanochat для клонирования LLM типа ChatGPT. Внутри 8000 строк чистого кода на Python, никаких лишних зависимостей, вся база модели: токенизатор, предобучение, файнтюн, обучение с подкреплением и оценка модели. Для запуска понадобится GPU в облаке и готовый скрипт.

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

Забираем

20 инструментов кибербезопасности 2025 года для пентестинга, сканирования IP-сетей, анализа трафика:

  • Nmap — ультрабаза для анализа сетей

  • Wireshark — анализатор сетей Ethernet

  • Metasploit — самый популярный инструмент пентестинга

  • Burp Suite — сканим веб-приложения на уязвимости

  • SQLmap — находит уязвимости SQL-инъекций

  • John the Ripper/Hashcat — быстрый кряк паролей

  • Aircrack-ng — беспроводные сети и пароли

  • Nikto — быстрый сканер веб-сетей

  • Suricata — IDS / IPS защита

  • OpenVAS — мощная система оценки уязвимостей

  • Splunk — аналитик машинных данных

  • Maltego — полноценная киберразведка

  • Shodan — поисковик серверов

  • Kali Linux — операционка хакеров и пентестеров

  • Cobalt Strike — имитирует действия мошенников

  • BloodHound — размечает направления атак

  • BEB6 — пароли WiFi-сети

  • XSpider — сканер для любых систем

  • CrowdStrike Falcon — комплексная защита

  • CrackMapExec — проверка окружения Windows/Active Directory

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии5

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

P.S. Параллельно к стримам я буду публиковать текстовую версию, но она будет без срока, т.к. текстовая версия требует гораздо больше времени.

Теги:
Рейтинг0
Комментарии0

Обеспечиваем качество данных в компании. Подборка open-source-инструментов для Data Quality

Привет, Хабр! Я Алексей Чумагин, Data Quality Team Lead Островка. В компании мы работаем с десятками источников данных: авиакомпании, отели, агрегаторы, платёжные сервисы. При этом источники постоянно обновляются: добавляются партнёры, меняются API и форматы. В таких условиях Data Quality становится непрерывным процессом, встроенным в ежедневную работу, а вовсе не стереотипным «набором тестов, которые раз в сутки что-то проверяют». 

Качественные данные зависят от выстроенных процессов: автоматизации, прозрачности, быстрой реакции на инциденты. Мы смотрим на Data Quality как на живую экосистему, где тесты — лишь одна из составляющих. Исходя из этого строим в компании единую Data Quality Platform.

Архитектура нашей платформы организована вокруг следующих задач:

  • автоматизация создания и выполнения тестов;

  • их централизованное хранение;

  • визуализация результатов;

  • мгновенное оповещение команд об инцидентах.

Вся эта экосистема работает в едином ритме с основными data-процессами компании.

Ниже — подборка инструментов, из которых состоит наша платформа. Их легко внедрить и в других IT-компаниях: стек масштабируемый, гибкий и не требует больших затрат на лицензии.

Какие инструменты мы используем в Data Quality

1. Ядро и автоматизация

  • В качестве ядра системы мы выбрали Soda Core — движок, который позволяет формализовать правила качества: целостность, уникальность, диапазоны значений. Тесты описываются декларативно, что упрощает поддержку и масштабирование.

  • После того как тесты написаны, их запуск и оркестрацию мы доверяем Apache Airflow. Он автоматически запускает проверку после ETL-процессов, управляет зависимостями и расписанием, что критично для стабильной работы пайплайнов.

  • Чтобы не тратить время на рутинное написание DAG’ов для новых тестов, мы используем DAG Factoryгенератор DAG’ов, позволяющий держать код тестов и их запусков в едином месте, легко масштабировать количество проверок.

2. Интеграция и доступ

  • Важной частью платформы стала интеграция с другими системами. Для этого мы подняли сервисный слой на FastAPI: через API можно запускать тесты, получать результаты, интегрировать платформу с внешними инструментами.

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

  • Но не все участники процесса хотят разбираться в технических деталях. Менеджеры и аналитики зачастую предпочитают DataHub — каталог метаданных, где хранятся все проверки, их результаты, а также информация о таблицах, lineage и пайплайнах. Это позволяет сделать качество данных частью общего ландшафта данных компании.

3. Оперативность и реакция

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

  • Вся DQP-платформа развернута в Kubernetes, — это обеспечивает масштабируемость, отказоустойчивость и централизованное управление компонентами.

И почётное упоминание ещё одной неизбежно важной технологии: для ручных ad-hoc-проверок мы, конечно же, используем старый добрый SQL. Без него ни одна оперативная сверка или исследование гипотез не обходится.

Итого: наш Data-Quality-стек — это комбинация проверенных open-source-инструментов, которые удобны на практике: легко автоматизируем тесты, быстро видим результаты, интегрируемся с чем угодно и не особо беспокоимся о лицензиях. Всё масштабируется, поддерживается инженерами, а не только админами и даёт нам уверенность в качестве данных, даже когда вокруг всё меняется.

А какие инструменты используете вы для контроля качества данных? Что бы вы добавили или изменили в нашем подходе? Будем рады обсудить в комментах!

***

ТГ-канал Ostrovok! Tech

Теги:
Всего голосов 15: ↑15 и ↓0+17
Комментарии6

Сегодня будет стрим в 21:00

Представление 2-х проектов:

  • 32 Ampere - Open Source протокол для зарядной инфраструктуры с запуском на EVM совместимой блокчейн инфраструктуре

  • EVMPack - Управление жизненным циклом блокчейн проекта, применение в проекте 32 Ampere

Теги:
Рейтинг0
Комментарии0

OutBoxML: как мы построили свою ML‑платформу от архитектуры до продакшена

Если вы хоть раз выводили ML‑модель в прод, то знаете этот сценарий.

Папки final_final_v2, десятки Python‑скриптов, неотслеженные версии данных, ручной деплой на сервер, и тревожное чувство, что «где‑то что‑то точно отвалится».

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

Мы столкнулись с этим тоже. Но вместо того чтобы латать процессы по частям, мы решили построить собственную ML‑платформу OutBoxML — систему, которая централизует всё: от обучения и управления фичами до продакшн‑деплоя и мониторинга качества моделей.

OutBoxML — это не концепция на слайдах, а реальный проект, который мы внедрили в продакшн, чтобы стабилизировать и масштабировать ML во всём ИТ‑контуре Страхового Дома ВСК.

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

Решение: платформа OutBoxML

Мы не остановились на обёртках вокруг сторонних инструментов — мы создали OutBoxML: платформу, способную управлять жизненным циклом моделей от разработки до стабильного продакшена.

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

Часть 1: Библиотека OutboxML от Страхового Дома ВСК

В первой статье мы показываем конструкцию ядра OutBoxML и обоснование архитектурных подходов.

Ключевой технический инсайт: мы ушли от монолитных систем и отдали предпочтение сервисам с чёткими границами ответственности, использованию событийной коммуникации и контейнеризации.

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

Часть 2: Автоматизированное машинное обучение с помощью нашего Open Source фреймворка: задача о Титанике

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

К тому же обсудили как мы автоматизировали обучение и инференс моделей с помощью OutBoxML и модульную архитектура и гибкие настройки процессов.

Часть 3: Data Drift в ML Страхового Дома ВСК: от PSI‑анализа до пересборки фичей и сравнения моделей

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

  • как диагностировать дрифт с помощью PSI‑метрики;

  • как использовать SHAP‑анализ для переосмысления модели;

  • чем отличается модель «с дрифтом» от модели «без дрифта» на реальных страховых данных.

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

Совсем скоро выйдет заключительная статья нашего первого цикла open source проекта OutBoxML!

Присоединяйтесь к нашему проекту на GitHub и в Telegram. К тому же, библиотека опубликована в pypi и доступна к установке через pip install outboxml

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

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0