Aperçu
SGLang est un framework rapide pour l'inférence et le déploiement de LLM avec génération structurée (décodage contraint), RadixAttention pour le prefix caching, et une API compatible OpenAI. Particulièrement performant pour les modèles de raisonnement (DeepSeek R1, QwQ) et la génération guidée avec contraintes JSON schema, grammar et regex.
Installation
uv pip install sglang[all]
Démarrage rapide
import sglang as sgl
@sgl.function
def multi_turn(s, question):
s += sgl.system("You are a helpful assistant.")
s += sgl.user(question)
s += sgl.assistant()
state = multi_turn.run(question="What is the derivative of x^2?")
print(state["answer"])
Mode serveur
python -m sglang.launch_server --model-path Qwen/Qwen2.5-1.5B-Instruct --port 30000
from openai import OpenAI
client = OpenAI(base_url="http://localhost:30000/v1", api_key="none")
Génération structurée
@sgl.function
def json_gen(s):
s += "Generate a person's info in JSON."
s += sgl.gen("json_output", max_tokens=128,
schema='{"type": "object", "properties": {"name": {"type": "string"}, "age": {"type": "integer"}}}')
state = json_gen.run()
print(state["json_output"])