使用 SGLang 部署 InternLM

使用 SGLang 部署 InternLM#

SGLang 是一个高效的结构化生成语言运行时,为大语言模型提供快速服务。

安装#

pip install "sglang[all]"

启动服务器#

python -m sglang.launch_server --model-path InternLM/internlm3-8b-instruct --host 127.0.0.1 --port 30000

使用客户端#

import sglang as sgl

@sgl.function
def multi_turn_question(s, question_1, question_2):
    s += sgl.system("你是一个有帮助的助手。")
    s += sgl.user(question_1)
    s += sgl.assistant(sgl.gen("answer_1", max_tokens=256))
    s += sgl.user(question_2)
    s += sgl.assistant(sgl.gen("answer_2", max_tokens=256))

# 设置后端
sgl.set_default_backend(sgl.Runtime(model_path="InternLM/internlm3-8b-instruct"))

# 运行对话
state = multi_turn_question.run(
    question_1="什么是机器学习?",
    question_2="它与深度学习有什么区别?"
)

print("问题1回答:", state["answer_1"])
print("问题2回答:", state["answer_2"])

OpenAI 兼容 API#

SGLang 也提供了与 OpenAI 兼容的 API 接口:

import openai

client = openai.Client(
    base_url="http://127.0.0.1:30000/v1",
    api_key="EMPTY"
)

response = client.chat.completions.create(
    model="InternLM/internlm3-8b-instruct",
    messages=[
        {"role": "user", "content": "你好,请介绍一下你自己"}
    ],
    temperature=0.7,
    max_tokens=256
)

print(response.choices[0].message.content)

特性#

  • 结构化生成支持

  • 高效的内存管理

  • 并行推理

  • OpenAI 兼容接口