模型选择

LLM模型,Embedding模型选择参考下面的文章

如何选择大模型(榜单+指标)

模型下载

当前提供模型的网站主要有ModelScope和HuggingFace,下载方式主要是git lfs和平台封装两种方法

ModelScope

  1. 安装modelscope

    pip install modelscope
    
  2. 复制模型名称

    image.png

  3. 下载模型到指定目录

    #模型下载
    from modelscope import snapshot_download
    # 注意替换模型名称,不指定目录,则默认下载到用户目录.cache/modelscope/
    model_dir = snapshot_download('qwen/Qwen2.5-72B-Instruct-GPTQ-Int8', cache_dir='/data/models/')
    

模型部署

LLM、Embedding、Rerank docker部署

  1. 安装docker,国内使用清华开源软件镜像站

  2. 安装NVIDIA Container Toolkit

  3. 使用docker compose 部署,部署文件见下面的github地址

    https://github.com/bluechanel/deploy_llm/tree/main

  4. clone 项目

    git clone [email protected]:bluechanel/deploy_llm.git
    cd deploy_llm
    
  5. 修改模型保存目录

    x-vllm-common:
      &common
      image: vllm/vllm-openai:latest
      restart: unless-stopped
      environment:
        TZ: "Asia/Shanghai"
      volumes:
        - /data/models:/models # 此处修改为实际模型目录。
      networks:
        - vllm
    
  6. 修改模型启动参数

    vllm的更多参数见vllm文档

    1. LLM

      修改command 里面的 —-model 后面的模型目录,映射到docker中的目录

      command: [ "--model","/models/{你的模型目录}",  "--enable-prefix-caching","--host", "0.0.0.0", "--port", "8000", "--served-model-name", "gpt-4", "--distributed-executor-backend","ray","--tensor-parallel-size","2","--pipeline-parallel-size", "1","--enable-reasoning","--reasoning-parser","deepseek_r1"]
      

      这里有几个常用参数说明

      --served-model-name:模型调用名称,可以自定义填写任意名称

      --tensor-parallel-size:并行数量,取决于使用的显卡数量 --enable-prefix-caching:开启前缀缓存,对多轮对话有一定效率提升

      "--enable-reasoning", "--reasoning-parser","deepseek_r1" 如果是推理模型,可以配置该参数,目前支持deepseek_r1系列

      "--enable-auto-tool-choice", "--tool-call-parser", "hermes”:开启工具调用能力,例如Qwen2.5 系列模型,参考

      command: [ "--model","/models/qwen/Qwen2___5-72B-Instruct-GPTQ-Int8", "--enable-prefix-caching", "--host", "0.0.0.0", "--port", "8000", "--served-model-name", "gpt-4", "--enable-auto-tool-choice", "--tool-call-parser", "hermes","--distributed-executor-backend","ray","--tensor-parallel-size","2","--pipeline-parallel-size", "1" ]
      
    2. Embedding

      修改command 里面的 —-model 后面的模型目录为映射到docker中的embedding模型目录

      command: [ "--model","/models/{你的模型目录}",  "--host", "0.0.0.0", "--port", "8000", "--task", "embed", "--served-model-name", "gte-large-zh"]
      
    3. Rerank

      修改command 里面的 —-model 后面的模型目录为映射到docker中的reranker模型目录

      command: [ "--model","/models/{你的模型目录}",  "--host", "0.0.0.0", "--port", "8000", "--task", "score", "--served-model-name", "bge-reranker-base"]
      
  7. 使用docker compose 启动模型

    docker compose up -d
    

    模型启动后,docker对外暴露在8000端口,访问http://ip:8000/docs查看接口文档

  8. 测试,使用demo脚本测试。注意修改 各模型的自定义名称

    python demo.py
    

‣