sglang

Par mkurman · zorai

Langage de génération structurée pour le serving de LLM. Mise en cache des préfixes avec RadixAttention, décodage contraint (JSON, grammaire), API compatible OpenAI et optimisation multi-tours. Inférence rapide avec garanties de sortie structurée.

npx skills add https://github.com/mkurman/zorai --skill sglang

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"])

Références

Skills similaires