【Ragflow】18.更好的推理框架:vLLM的docker部署方式

发布于:2025-04-20 ⋅ 阅读:(899) ⋅ 点赞:(0)

概述

看到不少人说“Ollama就图一乐,生产环境还得用vLLM”。

本文决定使用docker对vLLM进行部署,并解决模型配置中,IP地址的硬编码问题。

Ollama与vLLM风评比较

查询相关资料,Ollama与vLLM主要特点及对比情况如下[1]:

Ollama:轻量级本地大模型部署工具,面向个人用户和开发者,主打快速部署、低资源消耗和隐私保护。

vLLM:高性能大模型推理框架,由加州大学伯克利分校团队开发,专注生产级高并发、低延迟场景。

对比维度 Ollama vLLM
模型支持 支持Llama2、Mistral等20+主流开源模型,提供量化版本(如q4/q8) 支持Llama、GPT-3等10+模型,原生适配HuggingFace生态
接口类型 提供REST API和命令行交互 兼容OpenAI API协议,支持gRPC/HTTP批量推理
扩展性 通过插件支持本地知识库增强 支持分布式推理、动态批处理和多GPU并行
单请求响应速度 中等(7B模型约5-10秒/请求) 高速(7B模型约1-3秒/请求,PagedAttention优化)
长文本处理 支持最大4K上下文,显存不足时易崩溃 支持16K+上下文,通过内存分页避免OOM
多任务并发 单线程为主,多并发时延迟显著增加 支持100+并发请求,吞吐量达Ollama的5-24倍

资料[2]展示了一个实验数据:使用Qwen2.5–14B-Instruct模型,vLLM 比 Ollama 取得了 10% 以上的提升(Ollama 约 25 token/sec vs vLLM 约 29 token/sec)

vLLM Docker部署

vLLM 支持源码部署、vllm serve部署、docker部署等多种部署方式。

为方便和其它容器进行统一管理,本文使用docker进行部署。

其它部署方式可参考vLLM文档。

vLLM文档:https://docs.vllm.ai/en/latest/getting_started/installation.html

1.模型下载

Ollama有自己的模型仓库,可以直接下载。vLLM 的模型则需要依托外部 modelscope、huggingface等这类模型仓库。

下面从 huggingface 中下载模型:

huggingface 模型仓库地址:
https://huggingface.co/models

以下载bge-m3DeepSeek-R1-Distill-Qwen-1.5B模型为例,可运行以下的下载脚本:

import os
from huggingface_hub import snapshot_download

# 1. 设置镜像源(国内加速)
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"

# 2. 定义模型列表(名称 + 下载路径)
models_to_download = [
    {
   
        "repo_id": "BAAI/bge-m3",  # Embedding 模型
        "local_dir": os.path.expanduser("./models/bge-m3"),
    },
    {
   
        "repo_id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B",  # LLM 模型
        "local_dir": os.path.expanduser("./models/DeepSeek-R1-1.5B"),
    }
]

# 3. 遍历下载所有模型
for model in models_to_download:
    while True:  # 断点续传重试机制
        try:
            print(f"开始下载模型: {
     model['repo_id']} 到目录: {
     model['local_dir']}")
            snapshot_download(
                repo_id=model["repo_id"],
                local_dir=model["local_dir"],
                resume_download=True,  # 启用断点续传
                force_download=False,  

网站公告

今日签到

点亮在社区的每一天
去签到