Page cover

Streamlit: Dễ dàng xây dựng giao diện web cho mô hình học máy

Streamlit: Dễ dàng xây dựng giao diện web cho mô hình học máy


🎯 Mục tiêu

Streamlit giúp các nhà phát triển AI/ML nhanh chóng biến mô hình và dữ liệu thành giao diện web tương tác chỉ với vài dòng Python, không cần HTML/CSS/JS.


🔹 1. Tại sao chọn Streamlit?

  • Dễ học, dễ dùng: Sử dụng thuần Python, không cần kiến thức web.

  • Tích hợp nhanh: Chạy trực tiếp với mô hình scikit-learn, TensorFlow, PyTorch...

  • Tương tác mạnh mẽ: Hỗ trợ các widget như slider, textbox, file uploader…

  • Cập nhật tự động: Mỗi thay đổi trong code sẽ được hiển thị ngay.


🛠️ 2. Cách sử dụng cơ bản

Ví dụ xây dựng giao diện web để dự đoán loại hoa Iris bằng scikit-learn:

import streamlit as st
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier

# Load dữ liệu
iris = load_iris()
X = iris.data
y = iris.target

# Train model
model = RandomForestClassifier()
model.fit(X, y)

# Giao diện người dùng
st.title("Dự đoán Loài Hoa Iris 🌸")

sepal_length = st.slider("Sepal length", 4.0, 8.0)
sepal_width = st.slider("Sepal width", 2.0, 4.5)
petal_length = st.slider("Petal length", 1.0, 7.0)
petal_width = st.slider("Petal width", 0.1, 2.5)

prediction = model.predict([[sepal_length, sepal_width, petal_length, petal_width]])

st.write("### Dự đoán:")
st.write(iris.target_names[prediction[0]])

👉 Chạy bằng lệnh:

streamlit run app.py

⚙️ 3. Các tính năng nổi bật

  • st.slider, st.selectbox, st.file_uploader: Giao diện nhập liệu đơn giản.

  • st.line_chart, st.bar_chart: Trực quan hóa kết quả mô hình.

  • st.cache: Tăng tốc độ xử lý bằng cách lưu trạng thái mô hình.

  • Realtime update: Giao diện tự động thay đổi khi người dùng tương tác.


📦 4. Triển khai ứng dụng Streamlit

  • Cục bộ (local): Dễ dàng test trên máy cá nhân.

  • Streamlit Cloud: Deploy trực tuyến miễn phí trên streamlit.io.

  • Docker/Kubernetes: Tích hợp vào hệ thống lớn.

  • Heroku, GCP, AWS, Azure: Deploy lên nền tảng cloud.


📌 Ứng dụng thực tế

  • Dashboard phân tích dữ liệu

  • Giao diện thử nghiệm mô hình học máy

  • Công cụ kiểm thử đầu vào đầu ra

  • MVP AI sản phẩm chỉ trong vài giờ

Last updated

Was this helpful?