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?