Fast Dash позволяет молниеносно создавать прототипы и развертывать веб-приложения машинного обучения!
Если вы практикуете машинное обучение или увлекаетесь им, держу пари, что вам понравится изучать новейшие и лучшие инструменты и делиться ими с коллегами, друзьями и членами своей сети.
Встречайте Fast Dash: революционную библиотеку Python, созданную специально для вас. Он плавно преобразует ваши функции Python в развертываемые веб-приложения, позволяя вам сосредоточиться на нюансах машинного обучения и беспокоиться о мельчайших деталях веб-разработки.
Давайте будем честными: много времени при разработке приложений тратится на выяснение пользовательских интерфейсов и того, как различные компоненты взаимодействуют друг с другом. После бесчисленных часов создания веб-приложений меня осенило: почему бы не автоматизировать большую часть этого процесса? Это вдохновение привело к созданию Fast Dash, предназначенного для запуска и запуска ваших веб-приложений в рекордно короткие сроки.
Вот простой пример: создание веб-приложения, которое отображает диаграммы Matplotlib, чтобы дать вам представление о том, на что способен Fast Dash.
Fast Dash довольно интуитивно понятен. Он считывает все о вашей функции Python, проверяя такие элементы, как ее имя, метки входных и выходных аргументов, типы данных и строки документации. Используя всю эту информацию, он на лету разрабатывает интерактивный пользовательский интерфейс, а затем развертывает его как полноценное веб-приложение!
Читайте дальше, чтобы узнать, как работает Fast Dash, как начать работу и как настроить свои приложения. Если вместо этого вы сначала покрутите его, просто pip install fast-dash
. Чтобы узнать больше, посетите репозиторий GitHub и документацию.
pip install fast-dash
- GitHub: github.com/dkedar7/fast_dash
Как работает Fast Dash?
Fast Dash основан на двух основополагающих принципах.
- Каждое веб-приложение можно свести к одной функции Python.
- Благодаря подробным аннотациям функция Python может содержать все детали проекта, необходимые для интерактивного веб-приложения.
Ваша функция Python и конфигурации приложения Fast Dash вместе определяют способ развертывания приложения и уровень взаимодействия с пользователем. Создайте хорошо документированную функцию, и вы обнаружите, что с настройками приложения почти не нужно возиться.
Способность читать и понимать функции Python позволяет Fast Dash выбирать лучшие компоненты и интерактивность для вашего приложения. На данный момент Fast Dash поддерживает только бэкэнд Plotly Dash. Это означает, что Fast Dash можно развернуть, как и любое другое приложение Flask.
Создание приложений Fast Dash
Просто нажмите @fastdash
перед вашей функцией Python — это самый простой способ создать приложение Fast Dash. С помощью декоратора the@fastdash
Fast Dash быстро развернет вашу функцию. Давайте разберем это на простом примере:
from fast_dash import fastdash @fastdash def text_to_text_function(input_text): return input_text # * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
Исход? Проверьте это:
Но очарование Fast Dash не ограничивается простыми задачами. Вооруженный правильными подсказками по типам ввода и вывода, он способен развертывать даже самые сложные функции Python.
Рассмотрим этот пример:
import PIL import matplotlib.pyplot as plt from fast_dash import fastdash, Graph output_layout = """ AB AC """ @fastdash(mosaic=output_layout, theme="BOOTSTRAP") def multiple_output_components(start_date: datetime.date, # Adds a date component upload_image: PIL.ImageFile, # Adds an upload component fips: str = ["01007", "01008", "01009"]) # Adds a single-select dropdown -> (Graph, plt.Figure, plt.Figure): # Output components are a Plotly graph, and two figure components "Fast Dash allows using mosaic arrays to arrange output components" choropleth_map = ... # Plotly Graph code histogram = ... # Matplotlib figure code radar_chart = ... # Matplotlib figure code return chloropleth_map, histogram, radar_chart # * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
И вуаля! Вот наша функция в действии:
Одной из выдающихся особенностей Fast Dash является его гибкость. Хотя он предлагает быстрый механизм по умолчанию для преобразования подсказок типов данных в компоненты, он не ограничивает вас. Вы также можете использовать компоненты Dash напрямую в качестве подсказок по типу, адаптируя компоненты в соответствии с вашими потребностями.
Например, вместо upload_image: PIL.ImageFile
можно написать и upload_image: dcc.Upload(...)
. Таким образом, вы можете настроить компонент по своему вкусу, минуя выбор Fast Dash по умолчанию для типа данных PIL.ImageFile
.
Fast Dash можно использовать для создания веб-приложений везде, где вы используете Python. Его универсальность очевидна во многих областях. Вот несколько примеров, когда Fast Dash реализовывал проекты в веб-приложениях генеративного искусственного интеллекта, языкового перевода, компьютерного зрения и геопространственной аналитики (модели НАСА и Geemap).
Настройка приложений Fast Dash
Помимо обеспечения быстрого развертывания, вы можете настраивать и изменять различные аспекты своих веб-приложений в соответствии со своими целями. Вы можете переключить тему, настроить заголовок и подзаголовок, добавить ссылки на социальные сети или развернуть в Jupyter Notebook вместо отдельного порта. Подробнее о настройке читайте здесь.
А пока давайте сосредоточимся на настройке визуального расположения компонентов вывода. Концепция полностью посвящена «мозаике». Черпая вдохновение из метода subplot_mosaic
Matplotlib, Fast Dash позволяет создавать макеты с использованием диаграммы в стиле ASCII или списка строк.
Каждая уникальная буква или строка в этой мозаике означает уникальный компонент. Этот подход меняет правила игры, особенно если вы стремитесь к неоднородной сетке.
Например, представьте, что желаемое расположение вывода похоже на следующее изображение:
В этом случае вы можете определить свою мозаику как «ABB \n CDE». Затем Fast Dash подготовится к пяти выводам. Fast Dash делит пространство на шесть блоков одинакового размера, расположенных в сетке 2 x 3. Первый вывод получает верхний левый блок. Второй вывод распространяется на следующие два поля в верхнем ряду. И каждый из оставшихся трех выходов получает свой квадратик в строке ниже.
В заключение
По своей сути Fast Dash — это упрощение. Он абстрагирует большую часть работы по управлению интерфейсом и сервером, позволяя разработчикам сосредоточиться на том, что они делают лучше всего: написании эффективного и действенного кода Python.
Это не просто инструмент для быстрого прототипирования. Благодаря своим возможностям настройки и встроенным возможностям документирования Fast Dash может стать основным инструментом в наборе инструментов любого разработчика, от опытного профессионала веб-разработчика до начинающего специалиста по обработке данных.
С Fast Dash будущее разработки веб-приложений на основе Python выглядит не только ярче, но и быстрее. И в сегодняшнем технологическом мире эту комбинацию трудно превзойти.
Итак, звёзды репо и pip install fast-dash
сегодня!