✅ 自定义推理逻辑 ✅ 比 FastAPI 快 2 倍 ✅ 智能体、RAG、流水线等 ✅ 自定义逻辑与控制 ✅ 支持任何 PyTorch 模型 ✅ 自托管或托管部署 ✅ 多 GPU 自动扩缩容 ✅ 批处理与流式传输 ✅ 自带模型或集成 vLLM ✅ 无需 MLOps 胶水代码 ✅ Python 轻松设置 ✅ 支持无服务器架构
大多数服务工具(如 vLLM 等)专为单一模型类型设计,并强制执行严格的抽象。它们在需要自定义逻辑、多模型、智能体或非标准流水线之前表现良好。LitServe 允许你用 Python 编写自己的推理引擎。你可以定义请求的处理方式、模型的加载方式、批处理和路由的工作方式,以及输出的生成方式。LitServe 负责处理性能、并发、扩展和部署。使用 LitServe 来构建推理 API、智能体、聊天机器人、RAG 系统、MCP 服务器或多模型流水线。
在本地运行,在任何地方自托管,或一键部署到 Lightning AI。
超过 380,000 名开发者使用 Lightning Cloud,这是无需管理基础设施即可运行 LitServe 的最简单方式。一键部署,获得自动扩缩容的 GPU、监控和免费额度。无需云设置。或者在任何地方自托管。
通过 pip 安装 LitServe(更多选项):
pip install litserve
示例 1:包含多个模型的玩具推理流水线。
示例 2:获取新闻的极简智能体(使用 OpenAI API)。
(高级示例):
import litserve as ls
# 定义 API,可包含任意数量的模型、数据库等...
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"]
# 使用两个模型进行计算
a = self.text_model(x)
b = self.vision_model(x)
c = a + b
return {"output": c}
if __name__ == "__main__":
# 包含批处理、流式传输等 12+ 项功能...
server = ls.LitServer(InferenceEngine(max_batch_size=1), accelerator="auto")
server.run(port=8000)
免费部署到 Lightning cloud(或任何地方自托管):
# 免费部署,包含自动扩缩容、监控等功能...
lightning deploy server.py --cloud
# 或在本地运行(任何地方自托管)
lightning deploy server.py
# python server.py
测试服务器:模拟 HTTP 请求(在任何终端运行):
curl -X POST http://127.0.0.1:8000/predict -H "Content-Type: application/json" -d '{"input": 4.0}'
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)
# 让 LLM 告诉你新闻内容
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)
测试:
curl -X POST http://127.0.0.1:8000/predict -H "Content-Type: application/json" -d '{"website_url": "https://text.npr.org/"}'
几个核心优势:
setup() 几行代码连接模型、数据库和数据(更多)。⚠️ 开箱即用并非 vLLM 或 Ollama 的替代品。如果需要,LitServe 为你提供了构建它们(及更多)的低层灵活性。
以下是常见模型类型和用例的推理流水线示例。
玩具模型: Hello world LLMs: Llama 3.2, LLM 代理服务器, 带工具使用的智能体 RAG: vLLM RAG (Llama 3.2), RAG API (LlamaIndex) NLP: Hugging face, BERT, 文本嵌入 API 多模态: OpenAI Clip, MiniCPM, Phi-3.5 Vision Instruct, Qwen2-VL, Pixtral 音频: Whisper, AudioCraft, StableAudio, 降噪 (DeepFilterNet) 视觉: Stable diffusion 2, AuraFlow, Flux, 图像超分辨率 (Aura SR), 背景移除, 可控 Stable Diffusion (ControlNet) 语音: 文本转语音 (XTTS V2), Parler-TTS 传统 ML: 随机森林,