Hỗ trợ đồ án, khóa luận Web, App, AI - Uy tín, chất lượng!
Hỗ trợ đồ án, khóa luận Web, App, AI - Uy tín, chất lượng!
Trang Chủ Hướng Dẫn Đồ Án Hướng dẫn xây dựng API dự đoán bằng Flask + ML model
Hướng Dẫn Đồ ÁnLập Trình AI

Hướng dẫn xây dựng API dự đoán bằng Flask + ML model

Chia sẻ
Chia sẻ

Trong thời đại các ứng dụng web và di động ngày càng phổ biến, việc triển khai các mô hình học máy (ML) thành một API để phục vụ dự đoán trực tiếp đã trở thành nhu cầu thiết yếu. Một API dự đoán giúp bạn tích hợp trí tuệ nhân tạo vào hệ thống quản lý, website hoặc app mà không cần phải gắn chặt với code Python gốc.

Trong bài này, chúng ta sẽ xây dựng một API Flask để dự đoán mức lương của nhân viên dựa trên số năm kinh nghiệm. Đây là một ví dụ kinh điển giúp người mới học Machine Learning làm quen với việc triển khai mô hình. Kết hợp kiến thức từ Xây dựng mô hình học sâu bằng Keras cho người mới, Giải thích các bước xây dựng pipeline học máy, và Ứng dụng học máy vào dự đoán tỷ lệ tốt nghiệp, bạn sẽ học cách “đưa ML ra ngoài thực tế” thông qua API.

Mô tả bài toán

Mục tiêu là tạo một API Flask:

  • Nhận dữ liệu đầu vào JSON chứa years_experience (số năm kinh nghiệm)
  • Sử dụng mô hình Random Forest đã huấn luyện để dự đoán salary
  • Trả kết quả dự đoán dưới dạng JSON cho client

Chúng ta sẽ dùng một mô hình đã huấn luyện trên dữ liệu:

YearsExperience Salary
1.1 39343.00
3.2 64445.00
5.3 83088.00

Cấu trúc thư mục

flask_ml_api/
│
├── app.py
├── model/
│   └── salary_model.pkl
├── requirements.txt
└── README.md

Tải file model mẫu

📥 Model Random Forest dự đoán lương (pickle file):
https://github.com/YisongZou/Flask-Salary-Predictor-with-Random-Forest-Algorithm/blob/main/model.pkl

Đổi tên thành salary_model.pkl và đặt vào thư mục model/.

Tạo requirements.txt

Tạo file để quản lý thư viện:

flask
pandas
scikit-learn
joblib
gunicorn

Viết Flask API (app.py)

Khởi tạo Flask app và load model

from flask import Flask, request, jsonify
import joblib
import numpy as np

app = Flask(__name__)
model = joblib.load('model/salary_model.pkl')

Tạo route /predict

Tiếp tục viết code sau trong file app.py việc này giúp tạo 1 địa chỉ api gọi tới 127.0.0.1:5000/predict – khi các yêu cầu từ client tới đây API sẽ gọi model và thực hiện dự đoán dựa theo các biến đầu vào được gửi lên thông qua phương thức POST

@app.route('/predict', methods=['POST'])
def predict():
    data = request.get_json(force=True)
    years_exp = data.get('years_experience', 0)
    input_array = np.array([[years_exp]])
    predicted_salary = model.predict(input_array)
    return jsonify({'predicted_salary': float(predicted_salary[0])})

Chạy Flask app

Viết đoạn code dưới vào cuối file app.py để khai báo lệnh thực thi cho toàn bộ chương trình app.py

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)

Cài đặt và chạy API

Tạo môi trường ảo

python -m venv venv
source venv/bin/activate   # macOS/Linux
venv\Scripts\activate      # Windows

Cài đặt dependencies

pip install -r requirements.txt

Chạy Flask app

python app.py

Server chạy tại http://127.0.0.1:5000/

Test API

Postman

  • URL: http://127.0.0.1:5000/predict

  • Method: POST

  • Body JSON:

{
  "years_experience": 4.5
}

Response:

{
  "predicted_salary": 61111.0
}

Kết luận

Bằng cách xây dựng API Flask, bạn đã biến mô hình học máy dự đoán lương thành một dịch vụ RESTful có thể tích hợp vào các ứng dụng web và mobile. Đây là bước quan trọng giúp đưa AI ra khỏi notebook để phục vụ thực tế.

Bạn có thể tiếp tục nâng cấp API với xử lý lỗi, xác thực token, logging, và thậm chí đóng gói bằng Docker để triển khai đa nền tảng.

Tham Gia Nhóm – Hỗ Trợ Lập Trình

Hỗ Trợ Đồ Án – ThueDoAn.vn

Liên quan
Hướng Dẫn Đồ Án

Checklist 10 bước kiểm tra cuối cùng trước khi nhấn nút nộp đồ án

Thời điểm chuẩn bị nhấn nút nộp đồ án luôn mang lại...

Hướng Dẫn Đồ Án

Tuyệt chiêu đối phó với những giảng viên hướng dẫn ‘khó tính’ nhất

Giai đoạn làm đồ án tốt nghiệp luôn đi kèm với vô...

Hướng Dẫn Đồ Án

Tại sao việc quản lý Source Code bằng Git lại quan trọng hơn bạn nghĩ?

Trong thế giới lập trình hiện đại, mã nguồn chính là linh...

Hướng Dẫn Đồ Án

Những chức năng ‘thừa’ khiến bạn tốn thời gian mà không được cộng điểm

Làm đồ án tốt nghiệp là một cuộc đua thực thụ với...

Hướng Dẫn Đồ Án

Cách xử lý khi đề tài bị trùng lặp ý tưởng với các khóa trước quá nhiều

Lựa chọn đề tài đồ án luôn là bước khởi đầu đầy...

Hướng Dẫn Đồ Án

Làm sao để giải trình với giảng viên khi code bị nghi ngờ là đi chép?

Trong quá trình thực hiện đồ án, việc tham khảo mã nguồn...

Hướng Dẫn Đồ Án

Cảnh báo: Những nguồn share code ‘rác’ trên mạng cần tuyệt đối tránh

Trong quá trình làm đồ án, việc tìm kiếm sự hỗ trợ...

Hướng Dẫn Đồ Án

Sai lầm khi chọn công nghệ quá khó so với năng lực thực tế của bản thân

Chọn đề tài và công nghệ cho đồ án luôn là bước...

Liên Hệ
Liên hệ để được tư vấn & hỗ trợ đồ án CNTT nhé bạn!