当前位置: 首页 > news >正文

Docker部署vLLM部署流程

Docker部署vLLM部署流程

#安装vllm,用于模型推理 pip install vllm #安装modelscope,用于下载大模型文件 pip install modelscope # 创建模型保存目录 mkdir -p ~/llm_models mkdir -p ~/llm_models/Qwen2.5-VL # 下载模型 modelscope download --model Qwen/Qwen2.5-VL-7B-Instruct --cache_dir ~/llm_models/Qwen2.5-VL
# 拉取VLLM官方镜像 sudo docker pull vllm/vllm-openai:latest
sudo docker run -d --name qwen-vl-model --gpus all --shm-size 1g -p 8001:8001 \ #不带-d可以直接显示报错 -v ~/llm_models:/models \ vllm/vllm-openai:latest \ --model /models/Qwen2.5-VL/Qwen/Qwen2___5-VL-7B-Instruct \ #这里的model是docker容器中的model路径,后面的路径就是与宿主机的路径相同 --tensor-parallel-size 1 \ --trust-remote-code \ --port 8001
# 基本的生成请求 curl http://xx.xxx.xxx.xx:8003/generate \ -X POST \ -H "Content-Type: application/json" \ -d '{ "prompt": "你好,请介绍一下自己", "temperature": 0.7, "top_p": 0.9, "max_tokens": 100 }'
#!/usr/bin/env python3 from openai import OpenAI import time def test_vllm(): client = OpenAI( api_key="fake-key", base_url="http://xx.xxx.xxx.xx:8000/v1" ) # 测试用例 tests = [ "你好,请说出你哪个版本", "请用JSON格式返回:姓名张三,年龄30岁", "计算 25 + 37", "写一首短诗" ] print("测试VLLM服务...") for i, prompt in enumerate(tests, 1): print(f"\n测试{i}: {prompt}") try: start = time.time() response = client.chat.completions.create( model="/models", # 正确的模型名 messages=[{"role": "user", "content": prompt}], max_tokens=100 ) result = response.choices[0].message.content elapsed = time.time() - start print(f" {elapsed:.2f}s: {result[:80]}...") except Exception as e: print(f" 失败: {e}") if __name__ == "__main__": test_vllm()
# 完整示例 sudo docker run -d \ --name my-vllm \ # 容器名称 --gpus all \ # 使用所有GPU,--gpus '"device=0,1"' --shm-size 2g \ # 共享内存2GB -p 8000:8000 \ # 端口映射 -v ~/llm_models:/models \ # 模型目录挂载 vllm/vllm-openai:latest \ --model /models/Qwen/Qwen2-7B \ # 具体模型路径 --served-model-name qwen-7b \ # 对外暴露的模型名 --host 0.0.0.0 \ # 监听所有网络接口 --port 8000 \ # 服务端口 --tensor-parallel-size 2 \ # 2GPU并行 --max-model-len 4096 \ # 最大序列长度 --gpu-memory-utilization 0.8 \ # GPU显存利用率80% --trust-remote-code # 信任自定义代码
http://www.jsqmd.com/news/577911/

相关文章:

  • 终极Cursor Pro破解教程:告别免费限制,解锁无限AI编程体验
  • DAA程序升级
  • 禽流感病毒(AIV)分子结构解析:核心蛋白与作用机理
  • 精源科技 Kingwall:守护生命之光,为医疗健康筑牢电力安全防线 - 资讯焦点
  • ModelSim/Quartus Il/Vivado与notepad/vs code的关联使用
  • 关联分析——从购物篮到推荐引擎的算法演进
  • CarSim 2024版联合仿真避坑指南:从模型接口配置到结果可视化,新手常踩的5个坑
  • qifu科技工作纪要
  • Jakt语言未来展望:为什么它可能成为下一代系统编程的首选
  • 论文AI率高不等于抄袭2026年高校政策盘点
  • DeepSeek-Coder-V2-Lite-Instruct模型架构演进:从单专家到混合专家系统
  • Redacted Font版本演进历史:从初版到现在的完整功能升级指南
  • 终极指南:Mountpoint for Amazon S3与对象存储服务的完全兼容性分析
  • MATLAB符号运算--对矩阵求逆
  • Cockpit CMS监控与日志:10个实用技巧助你实时追踪系统运行状态
  • 实战应用:定制专属labelimg,快速生成YOLO格式车辆检测数据集
  • WPF项目实战视频《三》(主要为项目实战基础介绍)
  • 基于定子电压定向的双馈风机并网Simulink建模与仿真
  • 常用数据库全库备份命令和还原命令(随手笔记)
  • 运算符和循环判断
  • EMA指数滑动平均:从理论到实践的深度学习优化利器
  • 深耕冲孔链板输送机 为多行业定制输送方案 - 资讯焦点
  • 让AMD显卡运行CUDA应用:ZLUDA实用指南
  • vmware workstation 安装esxi ,ip 设置192.168.10.4, 网络中心 vmnet8 ip 网关也是同一个网段,但是浏览器打不开ip 地址
  • Solana 验证节点实战:从零到一搭建高可用RPC节点
  • qt设置样式问题总结
  • 2026嘉兴防水补漏头部推荐榜:精固防水行业标杆实力认证 - 资讯焦点
  • 机器学习基础(九):PyTorch入门
  • AI辅助开发:让快马智能生成带安全验证的路由器手机登录界面
  • 2026成都极简门品牌Top8推荐榜单与选购指南 - 企业推荐师