Tutorial LitServe: Framework Serving Model AI yang Cepat dan Mudah

# Tutorial LitServe: Framework Serving Model AI yang Cepat dan Mudah ## Pendahuluan LitServe adalah framework open-source dari Lightning AI yang dirancang untuk menyajikan (serving) model AI/ML deng...

By Ruby Abdullah · · tutorial
LitServeModel ServingFastAPIMLOpsPython

Tutorial LitServe: Framework Serving Model AI yang Cepat dan Mudah

Pendahuluan

LitServe adalah framework open-source dari Lightning AI yang dirancang untuk menyajikan (serving) model AI/ML dengan performa tinggi dan kemudahan penggunaan. Dibangun di atas FastAPI, LitServe menyediakan fitur-fitur enterprise seperti batching, streaming, GPU autoscaling, dan multi-model endpoints tanpa memerlukan konfigurasi yang rumit.

Berbeda dengan framework serving lainnya yang memerlukan banyak boilerplate code dan konfigurasi infrastruktur, LitServe memungkinkan Anda mengubah model AI menjadi API production-ready hanya dengan beberapa baris kode. Framework ini mendukung semua jenis model termasuk LLM, computer vision, NLP, audio, dan model klasik scikit-learn.

Dalam tutorial ini, kita akan mempelajari cara menggunakan LitServe mulai dari instalasi, membuat API sederhana, hingga fitur-fitur lanjutan seperti batching, streaming, dan authentication.

Mengapa LitServe?

Sebelum masuk ke implementasi, berikut alasan mengapa LitServe layak dipertimbangkan:

  • Performa Tinggi: Hingga 2x lebih cepat dibanding FastAPI biasa berkat optimasi internal
  • Minimal Boilerplate: Cukup definisikan setup(), decoderequest(), predict(), dan encoderesponse()
  • Batching Otomatis: Menggabungkan multiple request untuk throughput lebih tinggi pada GPU
  • Streaming Response: Dukungan native untuk streaming output (cocok untuk LLM)
  • Multi-Model: Satu server bisa melayani beberapa model sekaligus
  • GPU Management: Otomatis menangani alokasi GPU dan multi-worker
  • OpenAPI Docs: Otomatis menghasilkan dokumentasi API (Swagger UI)

Instalasi

Prasyarat

Pastikan Anda memiliki Python 3.8 atau lebih baru. Disarankan menggunakan virtual environment.

python -m venv litserve-env

source litserve-env/bin/activate # Linux/Mac

atau

litserve-env\Scripts\activate # Windows

Install LitServe

pip install litserve

Untuk fitur tambahan, Anda bisa menginstall dependensi opsional:

# Untuk dukungan semua fitur

pip install litserve[all]

Untuk model PyTorch

pip install torch torchvision

Untuk model Hugging Face

pip install transformers

Untuk model scikit-learn

pip install scikit-learn

Verifikasi instalasi:

import litserve as ls

print(ls.version)

Basic Usage: Membuat API Pertama

Konsep Dasar: LitAPI

Inti dari LitServe adalah class LitAPI. Anda perlu mengimplementasikan minimal 4 method:

  • setup(device) - Inisialisasi model dan resource (dipanggil sekali saat server start)
  • decoderequest(request) - Mengubah HTTP request menjadi input model
  • predict(x) - Menjalankan inferensi model
  • encoderesponse(output) - Mengubah output model menjadi HTTP response
  • Contoh 1: API Sederhana dengan Scikit-Learn

    Mari buat API untuk model klasifikasi iris menggunakan scikit-learn.

    # server.py
    

    import litserve as ls

    from sklearn.datasets import loadiris

    from sklearn.ensemble import RandomForestClassifier

    import numpy as np

    class IrisAPI(ls.LitAPI):

    def setup(self, device):

    """Load dan train model saat server startup."""

    iris = loadiris()

    self.model = RandomForestClassifier(nestimators=100, randomstate=42)

    self.model.fit(iris.data, iris.target)

    self.classnames = iris.targetnames.tolist()

    def decoderequest(self, request):

    """Parse input dari HTTP request."""

    return np.array(request["features"]).reshape(1, -1)

    def predict(self, x):

    """Jalankan prediksi."""

    prediction = self.model.predict(x)

    probability = self.model.predictproba(x)

    return {

    "classidx": int(prediction[0]),

    "probabilities": probability[0].tolist()

    }

    def encoderesponse(self, output):

    """Format response untuk client."""

    return {

    Artikel Terkait

    Tutorial Lengkap Ray Serve: Scalable ML Model Serving

    Tutorial Lengkap Ray Serve: Scalable ML Model Serving Ray Serve adalah library model serving yang scalable dibangun di a...

    Tutorial Lengkap FastAPI untuk Machine Learning: Building Production ML APIs

    Tutorial Lengkap FastAPI untuk ML: Build Production ML APIs FastAPI adalah framework web Python modern dengan performa t...

    Tutorial ClearML: Platform MLOps Open-Source untuk Experiment Tracking dan Pipeline Automation

    Tutorial ClearML: Platform MLOps Open-Source untuk Experiment Tracking dan Pipeline Automation ClearML adalah platform M...

    Tutorial Metaflow: Framework MLOps dari Netflix untuk Data Science

    Tutorial Metaflow: Framework MLOps dari Netflix untuk Data Science Metaflow adalah framework open-source yang dikembangk...