cxl
Published on 2025-04-20 / 24 Visits
2
0

LMDeploy常用命令

记录一下平时在使用LMDeploy中可能会经常用到的一些命令以及选项

一、核心子命令功能架构

  lmdeploy serve
  ├── api_server    # API服务部署核心模块
  ├── gradio        # 网页交互界面生成模块
  ├── api_client    # 客户端SDK生成模块
  └── docker        # 容器化部署模块
  

二、常用子命令详解

1. API服务部署(api_server)

  # 基础启动命令
  lmdeploy serve api_server /root/models/internlm2_5-7b-chat 
    --model-format hf             # 指定HF格式模型
    --server-port 23333           # 设置服务端口
    --server-name 0.0.0.0         # 允许访问的主机IP,表示不限制
    --tp 2                        # 双卡张量并行推理,根据实际显卡数量与情况设置
  
  # 生产级配置示例
  lmdeploy serve api_server ./workspace_tm 
    --quant-policy 4              # 混合量化策略选择
    --concurrency 64              # 最大并发请求数
    --max-batch-size 32           # 动态批处理上限
    --allowed-ips 192.168.1.0/24  # IP白名单访问控制
    --ssl-cert ./ssl_cert.pem     # 启用HTTPS加密通信
    --api-key YOUR_SECRET_KEY     # 接口访问鉴权密钥
    --dynamic-split-size 2048     # 长文本分块处理阈值(解决OOM问题)
  

2. 网页交互界面(gradio)

  # 连接本地API服务
  lmdeploy serve gradio http://localhost:23333 --server-port 6006            # 网页端访问端口,通过该IP与端口访问交互界面
  
  # 远程服务对接并使用api-key验证鉴权
  lmdeploy serve gradio https://api.example.com/v1 --server-port 6006 --api-key YOUR_KEY            # 鉴权密钥配置
  

3. 客户端集成(api_client)

  # 生成Python客户端代码
  lmdeploy serve api_client http://localhost:23333 --output-dir ./client_code --lang python   # SDK生成路径
  
  # 快速测试接口
  curl -X POST http://localhost:23333/v1/chat/completions 
    -H "Content-Type: application/json" 
    -d '{"messages":[{"role":"user","content":"你好"}]}'
  

4. 容器化部署(docker)

  # 构建模型专属镜像
  lmdeploy serve docker build 
    --model ./workspace_tm        # TurboMind格式模型
    --image-name lmdeploy:v0.5.3  # 镜像标签设置
  
  # 启动容器服务
  docker run -p 33337:23333 lmdeploy:v0.5.3
  

三、生产级参数配置

参数组

典型配置

作用场景

性能优化

--tp 4 --cache-max-entry-count 0.8

四卡并行+80%显存利用率

服务治理

--request-timeout 300 --rate-limit 200/min

5分钟超时+请求限流

安全控制

--allowed-ips 192.168.1.0/24 --ssl-cert ssl.pem

IP白名单+HTTPS加密

四、服务监控与调试

  # 实时性能监控
  lmdeploy serve monitor --interval 10                # 10秒刷新间隔
  
  # 服务日志查看
  tail -f ~/.cache/lmdeploy/logs/api_server_23333.log
  
  # 健康检查接口
  curl http://localhost:23333/v1/health
  

五、常见故障排查

故障现象

解决方案

相关参数

OOM错误

降低--cache-max-entry-count值至0.6

--cache-max-entry-count 0.6

响应延迟

增加--max-batch-size至64

--max-batch-size 64

端口冲突

更换--server-port至23334-23336范围

--server-port 23334


Comment