在 Ubuntu 系统中利用 conda 创建虚拟环境安装 sglang 大模型引擎的完整步骤、版本查看方法、启动指令及验证方式

以下是在 Ubuntu 系统中利用 conda 创建虚拟环境安装 sglang 大模型引擎的完整步骤、版本查看方法、启动指令及验证方式,全程使用清华源加速,并包含关键注意事项:

一、完整安装步骤(基于 conda + 清华源)

1. 准备工作:安装 conda 并配置清华源
(1)安装 Miniconda
javascript 复制代码
# 下载Miniconda(清华镜像,加速下载)
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 执行安装(按提示输入yes,建议默认路径)
bash Miniconda3-latest-Linux-x86_64.sh

# 刷新环境变量,使conda生效
source ~/.bashrc
(2)配置清华源(conda+pip,关键加速步骤)
javascript 复制代码
# 配置conda清华源(覆盖主要依赖库)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/nvidia/
conda config --set show_channel_urls yes

# 配置pip清华源(永久生效)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
2. 创建并激活 sglang 虚拟环境
javascript 复制代码
# 创建名为sglang的虚拟环境,指定Python 3.10(推荐3.8+)
conda create -n sglang python=3.10 -y

# 激活环境(终端提示符会显示(sglang))
conda activate sglang
3. 安装核心依赖与 sglang
javascript 复制代码
# 安装FlashInfer(sglang的推理加速库,需匹配CUDA版本)
pip install flashinfer -f https://flashinfer.ai/whl/cu121/torch2.1/index.html  # 对应CUDA 12.1+PyTorch 2.1

# 安装sglang(通过清华源加速)
pip install sglang

二、查看 sglang 版本的方法

在激活的sglang环境中执行以下命令:

javascript 复制代码
# 方法1:通过pip查看安装版本
pip list | grep sglang

# 方法2:通过Python代码查看
python -c "import sglang; print('sglang版本:', sglang.__version__)"

输出示例:sglang版本: 0.1.15(版本号随更新变化)

三、sglang 启动指令及参数解释

sglang 通常以服务模式启动,核心指令为:

python 复制代码
python -m sglang.launch_server \
  --model-path <模型路径> \
  --port <端口号> \
  --host <绑定地址> \
  --gpu-memory-utilization <显存利用率> \
  [其他可选参数]
关键参数解释
  1. --model-path

    • 必选参数,指定大模型的本地路径或 Hugging Face Hub 模型名(如lmsys/vicuna-7b-v1.5meta-llama/Llama-2-7b-chat-hf)。
    • 示例:--model-path /data/models/llama-2-7b-chat(本地模型)或--model-path lmsys/vicuna-7b-v1.5(自动下载)。
  2. --port

    • 可选参数,指定服务端口(默认 8000),如--port 8001
  3. --host

    • 可选参数,指定绑定的 IP 地址(默认127.0.0.1,仅本地访问;若需局域网访问,设为0.0.0.0)。
  4. --gpu-memory-utilization

    • 可选参数,设置显存利用率(0-1 之间,默认 0.9),如--gpu-memory-utilization 0.8(避免显存溢出)。
  5. --tp-size

    • 可选参数,指定张量并行数量(多 GPU 时使用,如 2 张 GPU 设为--tp-size 2)。
  6. --quantization

    • 可选参数,启用模型量化(如--quantization 4bit8bit,降低显存占用)。

四、启动后验证服务正确性的方法

服务启动成功后(终端显示Server started at http://host:port),可通过以下方式验证:

方法 1:通过 curl 发送 HTTP 请求(简单测试)
javascript 复制代码
# 向本地8000端口发送测试请求
curl -X POST http://127.0.0.1:8000/generate \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Hello! What is sglang?",
    "sampling_params": {"max_new_tokens": 100}
  }'
  • 若返回包含模型生成的文本(如解释 sglang 的内容),则服务正常。
方法 2:通过 Python 脚本测试(更完整验证)

创建test_sglang.py

运行

javascript 复制代码
import requests

url = "http://127.0.0.1:8000/generate"
data = {
    "text": "Write a short poem about AI.",
    "sampling_params": {"max_new_tokens": 50}
}

response = requests.post(url, json=data)
print("生成结果:\n", response.json()["text"])

运行脚本:

javascript 复制代码
python test_sglang.py
  • 若输出符合预期的诗歌内容,说明服务正常运行。

五、关键注意事项

  1. 硬件要求

    • 推荐 NVIDIA GPU(架构 SM 7.5+,如 A100、3090、L4),否则可能无法使用 FlashInfer 加速。
    • 显存需满足模型需求(如 7B 模型建议≥10GB,13B 模型建议≥20GB)。
  2. 版本匹配

    • CUDA 版本需与 PyTorch、FlashInfer 严格匹配(如 CUDA 12.1 对应 PyTorch 2.1+、FlashInfer cu121 版本)。
    • 若提示 "CUDA error",执行nvidia-sminvcc -V确认驱动与 CUDA 工具包版本一致。
  3. 模型下载

    • 首次使用 Hugging Face 模型(如lmsys/vicuna-7b)需登录:huggingface-cli login(需提前注册并获取访问令牌)。
    • 大模型下载缓慢可手动从国内镜像(如 ModelScope)下载后指定本地路径。
  4. 服务稳定性

    • 若启动后频繁崩溃,检查显存是否充足(降低--gpu-memory-utilization)或模型文件是否完整。
    • 多 GPU 场景需确保显卡驱动支持 NVLink(若使用张量并行)。

通过以上步骤,可在 Ubuntu 中高效安装并验证 sglang 服务,利用清华源解决网络问题,同时通过参数配置适配硬件环境。

相关推荐
NAGNIP24 分钟前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab2 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab2 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
十日十行5 小时前
Linux和window共享文件夹
linux
AngelPP5 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年5 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼6 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS6 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区7 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈7 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能