Danh sách bài viết

AI Systems & Deployment

Biến model thành sản phẩm thật. Đóng gói thành API và đưa lên mạng Internet.

23/05/2026
14-16 tuần đọc
0 lượt xem

Module 1: FastAPI

  • Bài 1: Vì sao FastAPI thay vì Flask / Django cho AI
  • Bài 2: Cài đặt FastAPI và endpoint đầu tiên
  • Bài 3: Pydantic models — validate request và response
  • Bài 4: Async endpoint — vì sao quan trọng cho AI inference
  • Bài 5: Load model 1 lần khi startup (lifespan event)
  • Bài 6: Endpoint inference — nhận data, trả kết quả prediction
  • Bài 7: Upload file (image, PDF) và xử lý
  • Bài 8: Streaming response cho LLM API

Module 2: Demo và Frontend cho AI Model

  • Bài 9: Gradio — demo UI trong vài dòng code
  • Bài 10: Streamlit — dashboard và data app
  • Bài 11: Khi nào dùng Gradio, khi nào dùng Streamlit
  • Bài 12: Deploy demo lên Hugging Face Spaces

Module 3: Vector Database

  • Bài 13: Vector DB là gì? Sự khác biệt với SQL / NoSQL
  • Bài 14: ChromaDB — local vector DB cho prototype
  • Bài 15: Pinecone — managed vector DB cho production
  • Bài 16: Qdrant và Weaviate — alternatives open source
  • Bài 17: Index types: HNSW vs IVF vs Flat
  • Bài 18: Metadata filtering — kết hợp vector search với điều kiện

Module 4: LangChain

  • Bài 19: LangChain — orchestration framework cho LLM
  • Bài 20: LCEL (LangChain Expression Language) — chuỗi component với pipe operator
  • Bài 21: Document Loaders — load PDF, web, Notion, ...
  • Bài 22: Text Splitters — chia document thành chunk
  • Bài 23: Retrievers — abstract layer trên vector DB
  • Bài 24: Memory — lưu lịch sử conversation
  • Bài 25: Tools và Toolkits — gắn function vào agent

Module 5: LangGraph — Stateful Agent

  • Bài 26: Vì sao cần LangGraph khi đã có LangChain
  • Bài 27: State, Node, Edge — 3 khái niệm cốt lõi
  • Bài 28: Xây Agent đầu tiên với LangGraph
  • Bài 29: Conditional edge — branching logic
  • Bài 30: Human-in-the-loop — pause để con người duyệt
  • Bài 31: Multi-agent system intuition

Module 6: Containerization và Deployment

  • Bài 32: Docker cơ bản — image, container, Dockerfile
  • Bài 33: Dockerfile cho ứng dụng AI Python — best practices
  • Bài 34: Multi-stage build — giảm kích thước image
  • Bài 35: Docker Compose — quản lý multi-service (API + DB + Vector DB)
  • Bài 36: Deploy lên Render — đơn giản nhất cho starter
  • Bài 37: Deploy lên Railway và Fly.io
  • Bài 38: Deploy lên AWS / GCP (overview, không deep)

Module 7: MLOps Cơ bản

  • Bài 39: MLOps là gì? Khác biệt với DevOps truyền thống
  • Bài 40: Experiment Tracking với MLflow
  • Bài 41: Experiment Tracking với Weights & Biases (W&B)
  • Bài 42: Model Registry — versioning model artifact
  • Bài 43: Data Versioning với DVC
  • Bài 44: CI/CD cho ML — GitHub Actions cho pipeline test/train/deploy

Module 8: Monitoring và Maintenance

  • Bài 45: Logging cho AI app — gì cần log, gì không
  • Bài 46: Metrics — latency, throughput, error rate
  • Bài 47: Data Drift — khi distribution input thay đổi
  • Bài 48: Concept Drift — khi quan hệ input/output thay đổi
  • Bài 49: Monitoring với Prometheus + Grafana

Module 9: Tối ưu hóa Production

  • Bài 50: Caching — Redis cho LLM response cache
  • Bài 51: Batching — gom nhiều request để inference 1 lần
  • Bài 52: Rate Limiting — bảo vệ API khỏi abuse
  • Bài 53: API Key management — không hard-code, dùng env / secret manager
  • Bài 54: Prompt Injection — defense cơ bản
  • Bài 55: Model Quantization — INT8 / INT4 để giảm RAM và tăng tốc
  • Bài 56: ONNX và TensorRT — export model cho inference tối ưu
  • Bài 57: Knowledge Distillation — model nhỏ học từ model lớn