Введение
Streamlit — это инструмент с открытым исходным кодом для создания и развертывания приложений данных с меньшим количеством кода по сравнению с другими технологиями, такими как HTML, CSS и JavaScript. Это инструмент с низким кодом, специально разработанный для создания приложений для обработки данных. Он имеет функциональные возможности для развертывания приложений в облаке сообщества Streamlit и управления приложениями без проблем и без каких-либо затрат.
Кроме того, Streamlit имеет компонентную функциональность для разработки приложений данных с минимальным кодом и варианты подключения ко многим источникам данных, таким как AWS S3, электронные таблицы, BigQuery, PostgresSQL, MS SQL Server, электронные таблицы и т. д.
Почему Стримлит?
- Его можно использовать для превращения проектов по науке о данных в веб-приложения. Например, мы хотим запустить модель прогнозирования. Мы написали весь код ИИ, но в нем еще есть такие процессы, как деплоймент и API. С Streamlit вы можете сделать это легко на уровне «прогнозировать нажатие кнопки». Если мы думаем о коде .py, который мы написали, как о бэкэнде, streamlit дает нам возможность сделать из него внешний интерфейс.
- Мы можем сделать панели визуализации данных. Было бы неплохо создать свой собственный инструмент BI таким образом?
- Streamlit не ограничивается моделями AI, ML, DL. Допустим, мы делаем простой EDA и находим некоторые важные идеи. Настало время объяснить это заинтересованным сторонам, но наше рабочее пространство — это кодовый ад. Здесь это также позволяет нам показать нашим нетехническим коллегам окончательный результат в понятной форме.
- В остальном все зависит от воображения, короче говоря, все, что делается с помощью Python, можно сделать в виде динамической веб-страницы.
Шаги:
- Настройка среды
- Импорт модели, масштабатора и кодировщика
- Разработать и собрать интерфейс с исходным кодом
- Развертывание модели
- Заключение
1. Настройка среды
Этот шаг включает в себя создание папки или репозитория для вашего приложения. Вы можете создать папку resources для хранения элементов, экспортированных из записной книжки. Файл требований должен находиться в корне репозитория или основной папки.
Чтобы предотвратить любые конфликты с вашими переменными, вы можете использовать следующий код для создания виртуальной среды, активировать ее в своем терминале и установить требования в свой файл требований:
2. Импортируйте модель, масштабатор и кодировщик
Теперь переключитесь в рабочую область виртуальной среды. Он активен, если перед вашим текущим рабочим каталогом в терминале стоит (venv).
Далее необходимо определить функцию для загрузки ваших элементов. В моем случае я использовал приведенный ниже код, который имеет значение по умолчанию для пути к файлу:
3. Разработать и собрать интерфейс с исходным кодом
Прежде чем приступить к работе с интерфейсом, мы импортировали библиотеки и загружаем наборы данных с помощью cache_resources.
Оттуда вы создаете свой интерфейс, используя компоненты, предоставляемые Streamlit. Наиболее распространенные из них, которые вы, скорее всего, будете использовать:
- st.container(): для определения контейнера (поля чтения) для хранения других компонентов и организации вашей работы.
- st.columns(n): для определения столбцов в рабочей области. Замените n на количество столбцов, которые вы хотите создать.
- st.sidebar: для боковой панели.
- st.date_input(): для получения входных данных даты
- st.selectbox(): для раскрывающегося списка.
- st.number_input(): для ввода чисел
- st.radio(): для радио
- st.checkbox(): для флажка
- st.expander(): для расширителя
- st.form():для создания формы для получения входных данных от пользователей.
Интерфейс был структурирован с учетом вышеперечисленных функций.
4. Развертывание модели
Для развертывания посетите https://streamlit.io/cloud, войдите в систему и подключитесь к GitHub (если вы еще этого не сделали). Затем вы можете выбрать новое приложение и репозиторий приложения для развертывания.
5. Вывод
В этой статье мы узнали полное руководство по разработке приложения с использованием библиотеки Streamlit, а также по бесплатному созданию и развертыванию веб-приложений с использованием облака сообщества Streamlit. Нажмите ниже, чтобы увидеть весь мой код.