🛠️ 环境准备
- 系统:Ubuntu
- Python 版本:3.10
- 包管理器:Micromamba
- GPU:NVIDIA(CUDA 支持)
📦 创建环境并安装 vLLM
# 创建 micromamba 环境
micromamba create -n vllm python=3.10
# 激活环境
micromamba activate vllm
# 设置国内镜像(可选)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 安装 vllm(安装到指定缓存/构建目录)
pip install vllm --cache-dir /www/pip-cache --build /www/tmp
🧩 配置 HuggingFace 镜像和缓存
# 设置模型下载缓存目录
echo 'export HF_HOME=/www/vllamodels' >> ~/.bashrc
echo 'export TRANSFORMERS_CACHE=/www/vllamodels' >> ~/.bashrc
# 使用清华镜像或 HF-Mirror 镜像加速模型下载
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
# 生效环境变量
source ~/.bashrc
🔧 权限配置(如用 root 格式化了 /www)
# 确保 ubuntu 用户有写入权限
sudo chown -R ubuntu:ubuntu /www
✅ 验证 vLLM 是否安装成功
python -c "import vllm; print(vllm.__version__)"
# 输出示例:0.9.0
🧪 编写并运行最小示例
main.py
示例:
from vllm import LLM, SamplingParams
def main():
llm = LLM(model="facebook/opt-125m")
prompt = "Hello, vllm!"
sampling_params = SamplingParams(max_tokens=20)
outputs = llm.generate(prompt, sampling_params)
for output in outputs:
print("生成文本:", output.outputs[0].text)
if __name__ == "__main__":
main()
运行:
python main.py
首次运行将会自动下载模型,并显示初始化过程,最终输出生成的文本。
💻 Gradio Web 接口小 Demo
import gradio as gr
from vllm import LLM, SamplingParams
llm = LLM(model="facebook/opt-125m")
params = SamplingParams(max_tokens=100)
def chat(prompt):
outputs = llm.generate(prompt, params)
return outputs[0].outputs[0].text
gr.Interface(fn=chat, inputs="text", outputs="text", title="vLLM Chatbot").launch()
📂 目录结构参考
/www
├── pip-cache/ # pip 缓存
├── tmp/ # 构建目录
├── vllamodels/ # HuggingFace 模型缓存目录
├── vllmpros/
│ └── main.py # 示例程序
🎉 成功运行示例
生成文本: Hello, vllm! How can I help you today?
🔚 总结
vLLM 是一个支持高效推理的大模型部署框架,配合 HuggingFace 模型可快速上手测试。结合 micromamba、HF-mirror 镜像、权限配置等技巧可在内网服务器顺利部署。