
streamlit은 Python만으로 데이터 분석, 머신러닝, AI 모델을 웹 애플리케이션 형태로 빠르게 구현할 수 있는 오픈소스 프레임워크이다. 기존의 웹 개발은 HTML, CSS, JavaScript와 백엔드 프레임워크(Flask, Django 등)을 함께 사용해야 하지만, streamlit은 Python 코드만으로 Interactive한 웹페이지를 만들 수 있다는 것이 가장 큰 특징이다.
AI 모델을 streamlit 애플리케이션과 연결하는 과정은 다음 세 단계로 이루어진다.
사용자 입력
│
▼
모델 로드
│
▼
AI 모델 추론
│
▼
결과 출력
모델 로드
이미 학습되어 저장된 AI 모델을 메모리에 불러오는 과정이다. AI 모델은 일반적으로 학습이 완료된 후 파일 형태로 저장된다.
(Pytorch ➡️ .pth, Scikit-Learn ➡️ .pkl)
streamlit 애플리케이션이 시작되면 이러한 모델을 읽어와 메모리에 적재한다.
사용자 입력
사용자가 웹페이지를 통해 데이터를 입력하는 과정이다. streamlit은 텍스트 입력, 숫자 입력, 버튼, 파일 업로드, 이미지 업로드 등 다양한 위젯을 제공한다. 적절히 인터페이스를 구성하여 사용자가 데이터를 입력하도록 하고, 입력된 데이터는 AI 모델에 입력값으로 전달된다.
결과 출력
모델이 생성한 예측 결과를 사용자에게 시각적으로 보여주는 과정이다. streamlit은 이 결과를 텍스트(st.write), 이미지(st.image), 차트(st.bar_chart) 등을 사용해 결과를 시각적으로 표현할 수 있다. 결과가 숫자나 클래스 레이블일 수도 있고, 생성된 문장이나 이미지일 수도 있으므로, 사용자 친화적인 형태로 후처리를 수행하는 것도 포함된다.
이러한 구조 덕분에 streamlit은 복잡한 프론트엔드 개발 없이도 AI 모델을 웹 서비스 형태로 손쉽게 배포하고, 사용자가 브라우저에서 바로 모델을 활용할 수 있는 환경을 빠르게 구축할 수 있다.