Lightweight AI server.
Project description
LitServe: Deploy AI models Lightning fast ⚡
High-throughput serving engine for AI models.
Friendly interface. Enterprise scale.
LitServe is an engine for scalable AI model deployment built on FastAPI. Features like batching, streaming, and GPU autoscaling eliminate the need to rebuild a FastAPI server for each model.
✅ Batching ✅ Streaming ✅ Auto-GPU, multi-GPU ✅ Multi-modal ✅ PyTorch/JAX/TF ✅ Full control ✅ Auth ✅ Built on Fast API ✅ Custom specs (Open AI)
Performance
Our benchmarks show that LitServe (built on FastAPI) handles more simultaneous requests than FastAPI and TorchServe (higher is better).
Reproduce the full benchmarks here.
These results are for image and text classification ML tasks. The performance relationships hold for other ML tasks (embedding, LLM serving, audio, segmentation, object detection, summarization etc...).
💡 Note on LLM serving: For high-performance LLM serving (like Ollama/VLLM), use LitGPT or build your custom VLLM-like server with LitServe. Optimizations like kv-caching, which can be done with LitServe, are needed to maximize LLM performance.
Featured examples
Use LitServe to deploy any type of model or AI service (embeddings, LLMs, vision, audio, multi-modal, etc).
Featured examples |
Key features |
Quick start
Install LitServe via pip (or advanced installs):
pip install litserve
Define a server
Here's a hello world example (explore real examples):
# server.py
import litserve as ls
# STEP 1: DEFINE A MODEL API
class SimpleLitAPI(ls.LitAPI):
# Called once at startup. Setup models, DB connections, etc...
def setup(self, device):
self.model = lambda x: x**2
# Convert the request payload to model input.
def decode_request(self, request):
return request["input"]
# Run inference on the the model, return the output.
def predict(self, x):
return self.model(x)
# Convert the model output to a response payload.
def encode_response(self, output):
return {"output": output}
# STEP 2: START THE SERVER
if __name__ == "__main__":
api = SimpleLitAPI()
server = ls.LitServer(api, accelerator="auto")
server.run(port=8000)
Now run the server via the command-line
python server.py
LitAPI
class gives full control and hackability.
LitServer
handles optimizations like batching, auto-GPU scaling, etc...
Query the server
Use the automatically generated LitServe client or write your own:
Option A - Use generated client: |
Option B - Custom client example: |
Deployment options
Self-manage LitServe deployments (just run it on any machine!), or deploy with one click on Lightning AI.
LitServe is developed by Lightning AI which provides infrastructure for deploying AI models.
Feature | Self Managed | Fully Managed on Studios |
---|---|---|
Deployment | ✅ Do it yourself deployment | ✅ One-button cloud deploy |
Load balancing | ❌ | ✅ |
Autoscaling | ❌ | ✅ |
Scale to zero | ❌ | ✅ |
Multi-machine inference | ❌ | ✅ |
Authentication | ❌ | ✅ |
Own VPC | ❌ | ✅ |
AWS, GCP | ❌ | ✅ |
Use your own cloud commits | ❌ | ✅ |
Features
LitServe supports multiple advanced state-of-the-art features.
✅ All model types: LLMs, vision, time series, etc...
✅ Auto-GPU scaling
✅ Authentication
✅ Autoscaling
✅ Batching
✅ Streaming
✅ All ML frameworks: PyTorch, Jax, Tensorflow, Hugging Face...
✅ Open AI spec
Note: Our goal is not to jump on every hype train, but instead support features that scale under the most demanding enterprise deployments.
Community
LitServe is a community project accepting contributions - Let's make the world's most advanced AI inference engine.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.