Skip to main content

Build custom inference servers in pure Python

Define exactly how inference works for models, agents, RAG, or pipelines.
Control batching, routing, streaming, and orchestration without MLOps glue or config files.

Lightning

 

✅ Custom inference logic  ✅ 2× faster than FastAPI     ✅ Agents, RAG, pipelines, more
✅ Custom logic + control  ✅ Any PyTorch model          ✅ Self-host or managed        
✅ Multi-GPU autoscaling   ✅ Batching + streaming       ✅ BYO model or vLLM           
✅ No MLOps glue code      ✅ Easy setup in Python       ✅ Serverless support          

PyPI Downloads Discord cpu-tests codecov license

 

 

Why LitServe?

Most serving tools (vLLM, etc..) are built for a single model type and enforce rigid abstractions. They work well until you need custom logic, multiple models, agents, or non standard pipelines. LitServe lets you write your own inference engine in Python. You define how requests are handled, how models are loaded, how batching and routing work, and how outputs are produced. LitServe handles performance, concurrency, scaling, and deployment. Use LitServe to build inference APIs, agents, chatbots, RAG systems, MCP servers, or multi model pipelines.

Run it locally, self host anywhere, or deploy with one click on Lightning AI.

 

Want the easiest way to host inference?

Over 380,000 developers use Lightning Cloud, the simplest way to run LitServe without managing infrastructure. Deploy with one command, get autoscaling GPUs, monitoring, and a free tier. No cloud setup required. Or self host anywhere.

Quick start

Install LitServe via pip (more options):

pip install litserve

Example 1: Toy inference pipeline with multiple models.
Example 2: Minimal agent to fetch the news (with OpenAI API).
(Advanced examples):

Inference engine example

import litserve as ls

# define the api to include any number of models, dbs, etc...
class InferenceEngine(ls.LitAPI):
    def setup(self, device):
        self.text_model = lambda x: x**2
        self.vision_model = lambda x: x**3

    def predict(self, request):
        x = request["input"]    
        # perform calculations using both models
        a = self.text_model(x)
        b = self.vision_model(x)
        c = a + b
        return {"output": c}

if __name__ == "__main__":
    # 12+ features like batching, streaming, etc...
    server = ls.LitServer(InferenceEngine(max_batch_size=1), accelerator="auto")
    server.run(port=8000)

Deploy for free to Lightning cloud (or self host anywhere):

# Deploy for free with autoscaling, monitoring, etc...
lightning deploy server.py --cloud

# Or run locally (self host anywhere)
lightning deploy server.py
# python server.py

Test the server: Simulate an http request (run this on any terminal):

curl -X POST http://127.0.0.1:8000/predict -H "Content-Type: application/json" -d '{"input": 4.0}'

Agent example

import re, requests, openai
import litserve as ls

class NewsAgent(ls.LitAPI):
    def setup(self, device):
        self.openai_client = openai.OpenAI(api_key="OPENAI_API_KEY")

    def predict(self, request):
        website_url = request.get("website_url", "https://text.npr.org/")
        website_text = re.sub(r'<[^>]+>', ' ', requests.get(website_url).text)

        # ask the LLM to tell you about the news
        llm_response = self.openai_client.chat.completions.create(
           model="gpt-3.5-turbo", 
           messages=[{"role": "user", "content": f"Based on this, what is the latest: {website_text}"}],
        )
        output = llm_response.choices[0].message.content.strip()
        return {"output": output}

if __name__ == "__main__":
    server = ls.LitServer(NewsAgent())
    server.run(port=8000)

Test it:

curl -X POST http://127.0.0.1:8000/predict -H "Content-Type: application/json" -d '{"website_url": "https://text.npr.org/"}'

 

Key benefits

A few key benefits:

  • Deploy any pipeline or model: Agents, pipelines, RAG, chatbots, image models, video, speech, text, etc...
  • No MLOps glue: LitAPI lets you build full AI systems (multi-model, agent, RAG) in one place (more).
  • Instant setup: Connect models, DBs, and data in a few lines with setup() (more).
  • Optimized: autoscaling, GPU support, and fast inference included (more).
  • Deploy anywhere: self-host or one-click deploy with Lightning (more).
  • FastAPI for AI: Built on FastAPI but optimized for AI - 2× faster with AI-specific multi-worker handling (more).
  • Expert-friendly: Use vLLM, or build your own with full control over batching, caching, and logic (more).

⚠️ Not a vLLM or Ollama alternative out of the box. LitServe gives you lower-level flexibility to build what they do (and more) if you need it.

 

Featured examples

Here are examples of inference pipelines for common model types and use cases.

Toy model:      Hello world
LLMs:           Llama 3.2, LLM Proxy server, Agent with tool use
RAG:            vLLM RAG (Llama 3.2), RAG API (LlamaIndex)
NLP:            Hugging face, BERT, Text embedding API
Multimodal:     OpenAI Clip, MiniCPM, Phi-3.5 Vision Instruct, Qwen2-VL, Pixtral
Audio:          Whisper, AudioCraft, StableAudio, Noise cancellation (DeepFilterNet)
Vision:         Stable diffusion 2, AuraFlow, Flux, Image Super Resolution (Aura SR),
                Background Removal, Control Stable Diffusion (ControlNet)
Speech:         Text-speech (XTTS V2), Parler-TTS
Classical ML:   Random forest, XGBoost
Miscellaneous:  Media conversion API (ffmpeg), PyTorch + TensorFlow in one API, LLM proxy server

Browse 100+ community-built templates

 

Host anywhere

Self-host with full control, or deploy with Lightning AI in seconds with autoscaling, security, and 99.995% uptime.
Free tier included. No setup required. Run on your cloud

lightning deploy server.py --cloud

https://github.com/user-attachments/assets/ff83dab9-0c9f-4453-8dcb-fb9526726344

 

Features

Feature Self Managed Fully Managed on Lightning
Docker-first deployment ✅ DIY ✅ One-click deploy
Cost ✅ Free (DIY) ✅ Generous free tier with pay as you go
Full control
Use any engine (vLLM, etc.) ✅ vLLM, Ollama, LitServe, etc.
Own VPC ✅ (manual setup) ✅ Connect your own VPC
(2x)+ faster than plain FastAPI
Bring your own model
Build compound systems (1+ models)
GPU autoscaling
Batching
Streaming
Worker autoscaling
Serve all models: (LLMs, vision, etc.)
Supports PyTorch, JAX, TF, etc...
OpenAPI compliant
Open AI compatibility
MCP server support
Asynchronous
Authentication ❌ DIY ✅ Token, password, custom
GPUs ❌ DIY ✅ 8+ GPU types, H100s from $1.75
Load balancing ✅ Built-in
Scale to zero (serverless) ✅ No machine runs when idle
Autoscale up on demand ✅ Auto scale up/down
Multi-node inference ✅ Distribute across nodes
Use AWS/GCP credits ✅ Use existing cloud commits
Versioning ✅ Make and roll back releases
Enterprise-grade uptime (99.95%) ✅ SLA-backed
SOC2 / HIPAA compliance ✅ Certified & secure
Observability ✅ Built-in, connect 3rd party tools
CI/CD ready ✅ Lightning SDK
24/7 enterprise support ✅ Dedicated support
Cost controls & audit logs ✅ Budgets, breakdowns, logs
Debug on GPUs ✅ Studio integration
20+ features - -

 

Performance

LitServe is designed for AI workloads. Specialized multi-worker handling delivers a minimum 2x speedup over FastAPI.

Additional features like batching and GPU autoscaling can drive performance well beyond 2x, scaling efficiently to handle more simultaneous requests than FastAPI and TorchServe.

Reproduce the full benchmarks here (higher is better).

LitServe

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), integrate vLLM with LitServe, 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.

 

Community

LitServe is a community project accepting contributions - Let's make the world's most advanced AI inference engine.

💬 Get help on Discord
📋 License: Apache 2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

litserve-0.2.18.tar.gz (140.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

litserve-0.2.18-py3-none-any.whl (95.6 kB view details)

Uploaded Python 3

File details

Details for the file litserve-0.2.18.tar.gz.

File metadata

  • Download URL: litserve-0.2.18.tar.gz
  • Upload date:
  • Size: 140.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for litserve-0.2.18.tar.gz
Algorithm Hash digest
SHA256 68730d9c01469edbc62bd00988e4e328cceb98a622b50a2dd777f888a9759d1d
MD5 930dde17c5d0e9bc4112ea7552ce72bd
BLAKE2b-256 5cfee26fe64170e1f4fe3c356a226fd4ed316acda5ef365ce4994a6fca94ef9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for litserve-0.2.18.tar.gz:

Publisher: release-pypi.yml on Lightning-AI/LitServe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file litserve-0.2.18-py3-none-any.whl.

File metadata

  • Download URL: litserve-0.2.18-py3-none-any.whl
  • Upload date:
  • Size: 95.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for litserve-0.2.18-py3-none-any.whl
Algorithm Hash digest
SHA256 e63af9eddb6a71bfe4c465dbe2bcadef59f01b38bc43295b31a06d94c17d5490
MD5 cfd988099192472f4df74da695a6c2d8
BLAKE2b-256 a6d212edef48052e859b2f637621d5da4ea49ff2aa51b23a29a88dc1d2d1bd9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for litserve-0.2.18-py3-none-any.whl:

Publisher: release-pypi.yml on Lightning-AI/LitServe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.18 This release

2 files

0.2.17

2 files

0.2.16

2 files

0.2.15

2 files

0.2.14

2 files

0.2.13

2 files

0.2.12

2 files

0.2.11

2 files

0.2.10

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page