Введение

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. Настройка среды
  2. Импорт модели, масштабатора и кодировщика
  3. Разработать и собрать интерфейс с исходным кодом
  4. Развертывание модели
  5. Заключение

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. Нажмите ниже, чтобы увидеть весь мой код.