优势:后端运行快速、前端语言灵活、模型支持广泛、社区活跃。
SGLang 的核心是通过其 Python API 构建和执行 Language Model Program。
启动服务器
import sglang as sgl
# 配置 SGLang 运行时
# 如果在本地运行服务,这里指定服务地址和端口
# 如果直接在 Python 进程中加载模型 (需要安装 sglang[srt]),可以使用 sgl.init("model_path")
# 假设此时服务已在本地 30000 端口启动,并加载了模型:
sgl.init("http://127.0.0.1:30000")
# 或者,如果在 Python 进程中直接加载模型(需要足够的显存)
# sgl.init("meta-llama/Llama-3.1-8B-Instruct") # 使用 Hugging Face ID
# 或者
# sgl.init("/path/to/your/model_dir") # 使用本地模型路径
定义和运行一个简单的生成任务
sgl.Runtime()
是 LM 程序的入口。
import sglang as sgl # 假设已经通过 sgl.init(...) 初始化了运行时
# 定义一个 LM Program
@sgl.function
def simple_gen(s, query):
s += f"用户问:{query}\n"
# 使用 sgl.gen() 进行文本生成
s += "回答:" + sgl.gen("answer", max_tokens=64) # 使用 sgl.gen() 进行文本生成