Yêu cầu GET và POST cho AI

Triển khai AI vào môi trường sản xuất với FastAPI

Matt Eckerle

Software and Data Engineering Leader

Giảng viên của chúng ta

 

Matt Eckerle

 

 

Matt Eckerle

  • Lãnh đạo Kỹ thuật phần mềm và Dữ liệu
  • Quản lý Dữ liệu Doanh nghiệp tại Inari
  • Dùng FastAPI cho ML từ 2019
Triển khai AI vào môi trường sản xuất với FastAPI

Tổng quan khóa học

 

 

  • Nền tảng FastAPI
  • Xử lý yêu cầu và tích hợp
  • Xác thực đầu vào và bảo mật
  • Tạo và duy trì API sẵn sàng cho sản xuất

 

 

Logo of FastAPI

Triển khai AI vào môi trường sản xuất với FastAPI

Trước khi bắt đầu

✓ Python cơ bản: hàm, lớp, mô-đun, cấu trúc dữ liệu

Python logo

Triển khai AI vào môi trường sản xuất với FastAPI

Trước khi bắt đầu

✓ Python cơ bản: hàm, lớp, mô-đun, cấu trúc dữ liệu

✓ Khái niệm HTTP & REST API

Python and http logos

Triển khai AI vào môi trường sản xuất với FastAPI

Trước khi bắt đầu

✓ Python cơ bản: hàm, lớp, mô-đun, cấu trúc dữ liệu

✓ Khái niệm HTTP & REST API

✓ Sử dụng framework FastAPI

  • Xử lý yêu cầu GET và POST
  • Dùng mô hình Pydantic

✓ Machine Learning cơ bản

Python, http, and FastAPI logos

Triển khai AI vào môi trường sản xuất với FastAPI

Giải thích yêu cầu GET

  • Dùng để truy xuất dữ liệu
  • Tham số đường dẫn - thông tin trong URL
  • Không làm thay đổi trạng thái máy chủ

A Menu

GET https://example.com/?item_id=1

A diagram to understand GET requests

Triển khai AI vào môi trường sản xuất với FastAPI

Triển khai GET với tham số đường dẫn

from fastapi import FastAPI

app = FastAPI()

@app.get("/item/{item_id}")
async def read_item(item_id: int):
    return {"item_id": item_id}
  • Bộ trang trí `@app.get` định nghĩa endpoint.
  • {item_id} là tham số đường dẫn.
  • Gợi ý kiểu (int) để tự động xác thực.
Triển khai AI vào môi trường sản xuất với FastAPI

Giải thích yêu cầu POST

  • Dùng để gửi dữ liệu lên máy chủ
  • Dữ liệu trong thân yêu cầu (thường là JSON)
  • Có thể thay đổi trạng thái máy chủ

A restaurant order

POST https://example.com

A diagram to understand POST requests

Triển khai AI vào môi trường sản xuất với FastAPI

Triển khai POST với dữ liệu JSON

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()
db = {}

class Item(BaseModel): name: str price: float
@app.post("/items", status_code=201)
def create_item(item: Item): db[item.name] = item.model_dump() return {"message": f"Created {item.name}"}

 

  • Mô hình Pydantic định nghĩa cấu trúc dữ liệu
  • @app.post cho endpoint POST
  • Tự động phân tích và xác thực JSON
Triển khai AI vào môi trường sản xuất với FastAPI

Mã trạng thái HTTP

 

  • 200 OK: Mặc định khi thành công
  • 404 Not Found: Không tìm thấy tài nguyên
  • 201 Success: Đối tượng đã được tạo

An HTTP 200 status code indicating successful request

Triển khai AI vào môi trường sản xuất với FastAPI

Ném ngoại lệ HTTP

from fastapi import FastAPI, HTTPException
app = FastAPI()

@app.get("/item/{item_id}")
async def read_item(item_id: int):
    if item_id == 4242: #An invalid order number
        raise HTTPException(status_code=404, detail="Item not found")
    return {"item_id": item_id}

@app.post("/items") async def create_item(item: Item): # Simulating item creation return {"message": f"Created {item.name}"}, 201
Triển khai AI vào môi trường sản xuất với FastAPI

Cùng luyện tập nào!

Triển khai AI vào môi trường sản xuất với FastAPI

Preparing Video For Download...