15
2025
03
13:43:03

企业私有大模型DeepSeek落地部署该用什么? Ollama还是vLLM

0x01 前言 

对数据敏感的企业想要部署自己的大模型该(如:DeepSeek R1)该选用什么方式呢? Ollama还是vllm呢? 我先说结论:Ollama适用于开发测试,vLLM适用于生产环境部署

下面我会进行详细的选型对比,让你有一个更清晰的认知。


0x02 选型对比 

Ollama与vLLM都是针对大语言模型(LLM)部署和推理的开源框架,但它们在设计目标、技术特点和适用场景上有显著的差异。下面通过多个维度给出具体对比说明

1. 核心定位与部署方式

  • Ollama : 专注于本地化、轻量化部署 ,通过Docker容器技术简化模型运行流程,用户无需复杂配置即可快速启动模型。其设计目标是降低本地使用LLM的门槛,适合个人开发者或资源有限的环境。
  • vLLM : 侧重于高性能推理加速与服务端扩展 ,支持多机多卡分布式部署,通过优化GPU资源利用率和内存管理技术(如PagedAttention)提升高并发场景下的吞吐量

2. 技术特点

  • Ollama :
    1. 简化部署 : 将模型权重、配置和依赖项打包为统一格式,通过简单命令(如ollama run)启动模型。
    2. 资源优化 : 针对单机环境优化GPU使用,适合实时响应需求,但对大规模并发支持有限。
    3. 跨平台支持 : 兼容多种操作系统,强调易用性和灵活性。
  • vLLM :
    1. 高效内存管理 : 采用PagedAttention 技术,动态分配内存块以减少冗余,支持更大规模的上下文长度。
    2. 连续批处理(Continuous Batching) : 通过动态调度算法合并请求,最大化GPU利用率,显著提升吞吐量。
    3. 量化支持 : 集成GPTQ等量化技术,降低显存占用并加速推理。

3. 适用场景

  • Ollama :
    1. 轻量级应用 : 适合个人电脑、移动设备或单机环境下的少量并发推理,例如本地开发、原型验证或实时交互。
    2. 快速实验 : 研究人员或爱好者可快速切换不同模型(如Llama系列)进行测试。
  • vLLM :
    1. 高并发服务 : 适用于需要处理大量请求的生产环境(如API服务、聊天机器人),支持分布式扩展以应对流量高峰。
    2. 资源密集型任务 : 在多GPU集群中表现优异,适合企业级应用或需要低延迟、高吞吐的场景。

4. 性能对比

  1. 吞吐量 : vLLM通过连续批处理和内存优化,显著高于Ollama,尤其在高并发时差异更明显。
  2. 资源占用 : Ollama在单机环境下资源占用更低,启动更快;vLLM需要更多初始配置但能更好地利用多卡资源。
  3. 延迟 : Ollama在实时响应场景中延迟更低,而vLLM通过批处理优化可平衡延迟与吞吐。

5. 开源生态与社区

  • Ollama : 以易用性为核心,社区提供丰富的预置模型(如Llama、Falcon),生态更贴近个人用户。
  • vLLM : 技术聚焦于推理优化,社区活跃于性能改进和企业级功能开发,适合需要深度

0x03 部署实战 

1. 部署Ollama(https://ollama.com)

  1. 首先,从 Ollama 官网 下载安装包,并按照提示完成安装。

图片


  1. Ollama 命令介绍 Ollama 提供了几个简单易用的命令,基本功能如下:
Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       启动 Ollama 服务
  create      从 Modelfile 创建一个模型
  show        查看模型详细信息
  run         运行一个模型
  stop        停止正在运行的模型
  pull        从注册表拉取一个模型
  push        将一个模型推送到注册表
  list        列出所有可用的模型
  ps          列出当前正在运行的模型
  cp          复制一个模型
  rm          删除一个模型
  help        获取关于任何命令的帮助信息

Flags:
  -h, --help      helpfor ollama
  -v, --version   Show version information

拉取模型并运行 ollama pull 具体的模型,这里以deepseek为

图片


  1. 选择模型
  2. 搜索你想要的模型:比如 deepseek,qwen
  3. 选择你的模型

图片
图片

ollama pull  deepseek-r1:14b
  1. 运行ollama远程服务
$ ENV OLLAMA_HOST=0.0.0.0:11434 ollama serve

注意:如果你对外提供公网服务,请勿设置OLLAMA_HOST=0.0.0.0:11434,因为无需授权即可访问所有的接口,这是一个严重的安全风险。

2. 部署vLLM(https://docs.vllm.ai)

vLLM安装稍微复杂一点,需要你有熟悉服务器的门槛,接下来我们开始

  1. 依赖环境准备
  • 操作系统: Ubuntu Server 24.04.2 LTS(强烈推荐)  下载地址:https://ubuntu.com/download/server
  • Python集成环境工具: UV(https://docs.astral.sh/uv/getting-started/installation/), (注意:好多人推荐用conda,但是我这里不推荐,因为官方修改了使用协议,超过200个员工的企业需要付费订阅)
  • 显卡或CPU: 显卡推荐NVIDIA,不过A(AMD)卡也支持,如果没有显卡就只能靠CPU顶了。
  • Docker以及Docker Compose 部署客户端工具
  • 科学上网环境: 由于vLLM与huggingface (https://huggingface.co/)深度绑定,模型需要从该网站下载
  1. 安装环境
  • 安装UV: Ubuntu Server 我这里默认你已经安装好,接下来安装UV,可以参考这里:https://docs.astral.sh/uv/getting-started/installation/
    $ curl -LsSf https://astral.sh/uv/install.sh | sh
  • 安装vLLM 官方参考文档:https://docs.vllm.ai/en/latest/getting_started/installation.html,这里展示了不同的安装情况,可以根据你当前的硬件情况选择合适的方式

图片

这里有不同平台的安装方式:
图片


初始化虚拟环境

$ uv venv vllm --python 3.12 --seed
$ source vllm/bin/activate

安装vllm,这里假设你用的NVIDIA显卡,其他的环境参照着官方文档一步一步安装即可

$ pip install vllm 
$ uv pip install vllm 

执行vllm -h可以看到下面信息

$ vllm -h
usage: vllm [-h] [-v] {chat,complete,serve} ...

vLLM CLI

positional arguments:
  {chat,complete,serve}
    chat                Generate chat completions via the running API server
    complete            Generate text completions based on the given prompt via the running API server
    serve               Start the vLLM OpenAI Compatible API server

options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit

启动vllm服务,并指定相应的模型,这里以deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B(https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B?local-app=vllm)为例:

图片

然后用下面命令启动,启动过程中会去下载模型,这个根据你的网络情况

env OPENAI_API_KEY=123456  vllm serve "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"

其中OPENAI_API_KEY为外部工具调用接口需要配置的key值,看到下面内容说明启动成功

图片


通过http://你服务器IP:8000/docs,可以访问所有接口文档

图片


0x04 安装客户端工具 

这里我介绍两款工具的使用方法, 一款是PC软件,一款是浏览器服务:

  • CherryStudio  (https://docs.cherry-ai.com/cherrystudio/download)
  • open-webui  (https://github.com/open-webui/open-webui)

1. CherryStudio

图片

下载后直接按提示安装,安装后并打开该软件

图片

配置vllm服务,创建模型供应商

图片

图片

1. 模型名字填写:vllm

2. 模型提供商选择OpenAI, 因为vllm兼容OpenAI的接口

接下来填写接口信息

图片

1. key在启动参数的地方设置过,直接填写

2. vllm服务地址

3. 然后点击下面按钮添加模型


图片

1. 模型名字:deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B

图片

接下来创建聊天助手:

图片

1. 选择聊天

2. 设置助手模型

3. 选中我们配置的模型

开启聊天

图片


2. open-webui

docker compose 配置文件

version: '3'

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main # 镜像略大,下载情况根据你网速
    ports:
      - "3000:8080"
    environment:
      - OPENAI_API_KEY=123456  # api key
      - OPENAI_API_BASE_URL=http://你服务器地址:8000/v1/  # vllm服务地址
    volumes:
      - ./data:/app/backend/data  # 挂载数据卷(根据项目需求调整路径)
    restart: always

启动docker服务

$ docker-compose up -d

访问web客户端,地址: http://你的服务器IP:3000, 由于服务启动比较慢,当你看到下面界面说明启动成功

图片

接下来配置用户名和密码

图片

配置后登录

图片

开启聊天:

图片

剩下的功能就由你来探索吧。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://sg.hqyman.cn/post/9626.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: