Безкоштовна бібліотека Python із відкритим вихідним кодом дозволяє розробникам перетворювати дані й алгоритми ШІ на вебпрограми, готові до використання. Бібліотека під назвою Taipy призначена для підтримки інженерів з обробки даних і машинного навчання у створенні повноцінних програм, розповідає The New Stack.
Стартап заснували Вінсент Госселін та Альбер Антуан. Обидва – ветерани у сфері технологій.
Госселін пропрацював 8 років в IBM Data Science and Advanced Analytics, а також очолював розширену аналітику в DecisionBrain. Антуан був генеральним директором компанії з аналізу даних Avaiga.com і працював у сфері розвитку бізнесу в Dataiku – науковій платформі даних.
«Проблема, яку вони хотіли вирішити під час створення Taipy, полягає в частоті невдач проєктів у просторі даних. Більшість із цих проєктів написані на Python. Ось чому ми перейшли від Java до Python», – пояснила Рим Мішо, науковець з обробки даних і глобальний менеджер спільноти Taipy.
Три компоненти Taipy
Розробникам не потрібні попередні знання HTML, JavaScript чи CSS, щоб використовувати Taipy, але їм потрібне базове розуміння Python.
Інтерфейс Taipy використовує просту мову Markdown для створення інтерактивних сторінок із графічними елементами.
«Розробники мають великий контроль над зовнішнім виглядом. Ми надаємо стиль CSS за замовчуванням для всіх наших програм і компонентів інтерфейсу користувача, але їх можна змінити за допомогою коду Python або CSS. Наша головна сильна сторона щодо зовнішнього вигляду – це макет. Ми надаємо простий синтаксис для налаштування дизайну вашої програми, також у нас є розширення VS Code, яке дозволяє попередньо переглядати дизайн вашої сторінки без запуску коду Python», – зазначила Мішо.
Посадовиця визнала, що, незважаючи на те, що бібліотеку можна налаштувати, макет і зовнішній вигляд за замовчуванням можуть бути менш вражаючими, ніж інші, менш настроювані бібліотеки.
Найближчим часом розробники Taipy планують випустити нову пропозицію з низьким кодом, яка дозволить користувачам редагувати інтерфейси без програмування за допомогою перетягування компонентів інтерфейсу користувача з вебінтерфейсу.
Сервер Taipy призначений для створення та керування потоками даних і містить конвеєри, які можуть звертатися до вашого коду, а також може планувати завдання, кешувати повторювані операції та розпаралелювати завдання для оптимізації продуктивності та спрощення керування конвеєрами й сценаріями.
Основна мета бекенду Taipy – переклад стандартного коду Python і покращення продуктивності конвеєрів і сценаріїв, а також управління.
Компонент Taipy Rest надає спосіб доступу до сценаріїв, конвеєрів і засобів доступу до даних через Rest API.
«Taipy також зосереджується на роботі у повномасштабних виробничих програмах. Оскільки ми виконуємо мінімально необхідні завдання під час взаємодії з користувачем, використовуючи те, що ми називаємо зворотними викликами, інтерфейс і бек-енд працюють у різних потоках, тому користувач все ще може взаємодіяти із програмою, навіть якщо модель працює у фоновому режимі», – пояснила Мішо.
Taipy за замовчуванням може підключатися до pickle, CSV, Excel, JSON, Mongo, SQL і Parquet.
«Звичайно, якщо ви можете підключитися до джерела даних за допомогою Python, це також працюватиме в Taipy, використовуючи кілька рядків коду», – додала вона.
Також є документація для підключення до AWS і DataBricks.
Чи може Taipy ефективно обробляти великі набори даних і складні моделі машинного навчання і наскільки легко він може інтегруватися з наявними бібліотеками науки про дані та машинного навчання, такими як scikit-learn, TensorFlow або PyTorch?
«Так, Taipy може ефективно обробляти великі набори даних і алгоритми машинного навчання, інтегруючи інші бібліотеки. Оскільки наша бібліотека в основному зосереджена на інтерфейсі, ми не втручаємось у те, що можна написати за допомогою коду Python. Taipy викликає різні бібліотеки, необхідні для запуску вашого алгоритму ML на вебсторінці, і взаємодіє з ним безпосередньо. Ви можете, наприклад, змінити параметри моделі з інтерфейсу Taipy, запустити модель за допомогою кнопки та візуалізувати результати на вебсторінці Taipy», – пояснила Мішо.
Taipy також надає функції, які дозволяють користувачеві візуалізувати великі набори даних і взаємодіяти з ними в режимі реального часу. Однією з таких функцій є дециматор, який зменшує кількість точок на діаграмі, які найменше змінюють криві. Також є функції для запуску моделей ML паралельно або на розподілених кластерах.
Чим Taipy відрізняється від інших подібних фреймворків: Streamlit, Dash або Flask?
За словами Мішо, мета Taipy – досягти найкращої точки простоти використання та масштабованості, якої немає у цих рішень.
«Ми виявили, що сцена графічних пакетів Python розділена на два полюси. З одного боку, такі інструменти, як Streamlit, прості у використанні, але не масштабуються для виробничих програм. Вони часто зазнають невдачі, коли стикаються з кількома сторінками/користувачами або великими наборами даних/обчисленнями. З іншого боку, такі інструменти, як Dash, є масштабованими, але потребують швидкого навчання. Ми побачили прогалину на ринку і скористалися нею», – зазначила посадовиця.
Нагадаємо, що в рейтингу IEEE Spectrum за 2023 рік Python визнано однією з найкращих мов програмування.
Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!