Ollama本地大模型安装配置的完整流程教学

Written by

in

文章目录
  • Ollama是一个轻量级、易于使用的大模型管理和部署工具,主要用于简化大模型的运行和交互。并且为开发者和用户提供了快速加载、管理和调用多种主流大模型的能力,同时支持本地化部署各类大模型。 核心特点: ✓ 轻量化设计:Ollama体积小巧,安装简单,适合个人开发者和小型团队 ✓ 多模型支持:支持多种主流大模型,如Llama系列、Qwen系列、Deepseek系列等 ✓ 资源优化:通过量化技术降低模型显存占用,减少对高性能GPU的依赖 ✓ 易用性:提供命令行工具和图形化界面,方便用户操作 ✓ 扩展性强:可以与其他工具(如 Kubernetes、Docker)结合,实现分布式部署和管理
  • 默认情况下,Ollama 可以使用所有可用 GPU 进行模型推理。如果需要限制 Ollama 只能使用特定的 GPU,可以通过 CUDA_VISIBLE_DEVICES 环境变量进行控制。 例如,限制 Ollama 只能使用 0 和 1 两个 GPU,编辑 /etc/systemd/system/ollama.service: [Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/usr/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 Environment=”OLLAMA_HOST=0.0.0.0:11434″ Environment=”OLLAMA_MODELS=/data/ollama/models” Environment=”CUDA_VISIBLE_DEVICES=0,1″ [Install] WantedBy=default.target 修改完成后,重新加载配置并重启 Ollama 服务: systemctl daemon-reload systemctl restart ollama 进阶说明 如果你的系统中搭载了多张英伟达显卡,且希望限制 Ollama 仅使用其中部分显卡,可将 CUDA_VISIBLE_DEVICES 设置为以逗号分隔的显卡列表。 使用数字编号:可以直接使用数字编号作为显卡标识,但编号顺序可能会发生变化 使用 UUID(推荐):使用 UUID 更为可靠,不会因硬件变更而改变 查看显卡的 UUID: nvidia-smi -L 强制使用 CPU 运算:如果想忽略显卡并强制 Ollama 使用 CPU 运算,可输入无效的显卡编号,例如: Environment=”CUDA_VISIBLE_DEVICES=-1″ 到此这篇关于Ollama本地大模型安装配置的完整流程教学的文章就介绍到这了,更多相关Ollama本地大模型安装配置内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!
  • 目录
    • Ollama介绍和特性
    • Ollama与其它工具对比
      • Ollama
      • vLLM
      • LocalAI
    • Ollama安装部署
      • Linux 手动安装 Ollama
      • Ollama 常用命令详解
      • Ollama WebUI 部署
      • Ollama 服务端常用配置
    • 限制使用指定GPU

      Ollama是一个轻量级、易于使用的大模型管理和部署工具,主要用于简化大模型的运行和交互。并且为开发者和用户提供了快速加载、管理和调用多种主流大模型的能力,同时支持本地化部署各类大模型。

      核心特点:

      • ✓ 轻量化设计:Ollama体积小巧,安装简单,适合个人开发者和小型团队
      • ✓ 多模型支持:支持多种主流大模型,如Llama系列、Qwen系列、Deepseek系列等
      • ✓ 资源优化:通过量化技术降低模型显存占用,减少对高性能GPU的依赖
      • ✓ 易用性:提供命令行工具和图形化界面,方便用户操作
      • ✓ 扩展性强:可以与其他工具(如 Kubernetes、Docker)结合,实现分布式部署和管理

      官网:https://ollama.com/

      安装简单,提供 CLI 和 WebUI,适合初学者和开发者。支持量化技术降低内存占用,适合普通硬件、支持 Linux、macOS 和 Windows、支持大部分主流模型。但是 Ollama 并发性能不如 vLLM。

      官网:https://vllm.ai/

      vLLM 是一个高效的大模型推理和服务引擎,在多 GPU 环境下性能表现优异,更适合大规模在线推理服务。但是 vLLM 的部署复杂度较高,需要一定的技术基础,主要面向 Linux,跨平台支持有限。

      官网:https://localai.io/

      LocalAI 和 Ollama 相似,是一个轻量级的本地大模型服务框架,开箱即用,无需复杂配置。但是性能优化不如 vLLM 和 Ollama,并且功能较少,比如不支持多线程加速等。

      下载并安装 Ollama:

      curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
      sudo tar -C /usr -xzf ollama-linux-amd64.tgz

      创建 Ollama 专用用户:

      sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
      sudo usermod -a -G ollama $(whoami)
      

      创建 Ollama 模型存储目录:

      mkdir /data/ollama/models
      chown -R ollama.ollama /data/ollama/
      

      创建 Ollama 启动 Service:

      [Unit]
      Description=Ollama Service
      After=network-online.target
      
      [Service]
      ExecStart=/usr/bin/ollama serve
      User=ollama
      Group=ollama
      Restart=always
      RestartSec=3
      Environment="OLLAMA_HOST=0.0.0.0:11434"
      Environment="OLLAMA_MODELS=/data/ollama/models"
      
      [Install]
      WantedBy=default.target
      

      将上述配置保存到 /etc/systemd/system/ollama.service

      启动 Ollama 服务:

      systemctl daemon-reload
      systemctl enable --now ollama
      

      查看启动状态:

      systemctl status ollama
      

      预期输出:

      ● ollama.service - Ollama Service
         Loaded: loaded (/etc/systemd/system/ollama.service; enabled; vendor preset: disabled)
         Active: active (running) since ...
      

      测试端口:

      curl 127.0.0.1:11434
      

      预期输出:

      Ollama is running

      下载模型

      ollama pull deepseek-r1:1.5b
      

      输出示例:

      pulling manifest
      pulling aabd4debf0c8… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 1.1 GB
      pulling 369ca498f347… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 387 B
      pulling 6e4c38e1172f… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 1.1 KB
      pulling f4d24e9138dd… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 148 B
      pulling a85fe2a2e58e… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 487 B
      verifying sha256 digest
      writing manifest
      success

      查看本地模型列表

      ollama list
      

      输出示例:

      NAME               ID            SIZE    MODIFIED
      deepseek-r1:1.5b   a42b25d8c10a 1.1 GB  3 minutes ago
      phi:latest         e2fd6321a5fe 1.6 GB  27 minutes ago

      查看模型详情

      ollama show deepseek-r1:1.5b
      

      输出示例:

        architecture        qwen2
        parameters          1.8B
        context length      131072
        embedding length    1536
        quantization        Q4_K_M

      Parameters
        stop "<|begin▁of▁sentence|>"
        stop "<|end▁of▁sentence|>"
        stop "<|User|>"
        stop "<|Assistant|>"

      License
        MIT License
        Copyright (c) 2023 DeepSeek

      启动一个模型并进入交互模式

      ollama run phi
      

      交互示例:

      >>> who are you?
      I am Phi, a large language model trained by Microsoft. I'm here to help you with any questions or tasks you have. What can I assist you with today?

      查看当前正在运行的模型

      ollama ps
      

      输出示例:

      NAME               ID            SIZE    PROCESSOR   UNTIL
      phi:latest         e2fd6321a5fe 5.4 GB  100% GPU   4 minutes from now
      deepseek-r1:1.5b   a42b25d8c10a 2.0 GB  100% GPU   About a minute from now

      停止一个运行中的模型

      ollama stop phi:latest
      

      停止后再次查看:

      ollama ps
      

      输出示例:

      NAME               ID            SIZE    PROCESSOR   UNTIL
      deepseek-r1:1.5b   a42b25d8c10a 2.0 GB  100% GPU   17 seconds from now

      删除一个本地模型

      ollama rm phi:latest
      

      输出示例:

      deleted 'phi:latest'

      删除后再次查看:

      ollama list
      

      输出示例:

      NAME               ID            SIZE    MODIFIED
      deepseek-r1:1.5b   a42b25d8c10a 1.1 GB  42 hours ago

      注意:Ollama WebUI 需要使用 Docker 启动,如果服务器没有安装 Docker,需要先安装 Docker。

      创建数据目录:

      mkdir -p /data/ollama/webui
      

      直接使用 docker 部署即可:

      docker run -d -p 3000:8080 -e ENABLE_OPENAI_API=false -e OLLAMA_BASE_URL=http://[OLLAMA_HOST]:11434 -e HF_HUB_OFFLINE=1 -v /data/ollama/models:/root/.ollama -v /data/ollama/webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
      

      启动后通过宿主机的 3000 端口访问即可。

      启动 Ollama 服务端:

      ollama serve
      

      使用自定义端口启动:

      OLLAMA_HOST=0.0.0.0:11435 ollama serve
      

      常用环境变量:

      环境变量 说明 默认值
      OLLAMA_DEBUG 启用调试模式,设置为 1 表示开启
      OLLAMA_HOST 指定 Ollama 服务绑定的 IP 地址和端口 127.0.0.1:11434
      OLLAMA_KEEP_ALIVE 设置模型在内存中保持加载的时间 5m
      OLLAMA_MAX_LOADED_MODELS 限制每块 GPU 上同时加载的最大模型数量
      OLLAMA_MAX_QUEUE 设置请求队列的最大长度,超过限制新请求会被拒绝
      OLLAMA_MODELS 指定模型文件存储的目录路径 ~/.ollama/models
      OLLAMA_NUM_PARALLEL 限制同时处理的最大并行请求数
      OLLAMA_NOPRUNE 禁用启动时模型清理操作
      OLLAMA_ORIGINS 指定允许跨域访问的来源列表(逗号分隔)
      OLLAMA_SCHED_SPREAD 强制将模型调度到所有可用 GPU 上,均匀分布
      OLLAMA_FLASH_ATTENTION 启用 Flash Attention 技术,硬件不支持可能报错
      OLLAMA_KV_CACHE_TYPE 指定 K/V 缓存的量化类型 f16
      OLLAMA_GPU_OVERHEAD 预留显存,防止其他进程因显存不足而崩溃
      OLLAMA_LOAD_TIMEOUT 设置模型加载的最大超时时间(分钟) 5m

      默认情况下,Ollama 可以使用所有可用 GPU 进行模型推理。如果需要限制 Ollama 只能使用特定的 GPU,可以通过 CUDA_VISIBLE_DEVICES 环境变量进行控制。

      例如,限制 Ollama 只能使用 01 两个 GPU,编辑 /etc/systemd/system/ollama.service

      [Unit]
      Description=Ollama Service
      After=network-online.target
      
      [Service]
      ExecStart=/usr/bin/ollama serve
      User=ollama
      Group=ollama
      Restart=always
      RestartSec=3
      Environment="OLLAMA_HOST=0.0.0.0:11434"
      Environment="OLLAMA_MODELS=/data/ollama/models"
      Environment="CUDA_VISIBLE_DEVICES=0,1"
      
      [Install]
      WantedBy=default.target
      

      修改完成后,重新加载配置并重启 Ollama 服务:

      systemctl daemon-reload
      systemctl restart ollama
      

      进阶说明

      如果你的系统中搭载了多张英伟达显卡,且希望限制 Ollama 仅使用其中部分显卡,可将 CUDA_VISIBLE_DEVICES 设置为以逗号分隔的显卡列表。

      • 使用数字编号:可以直接使用数字编号作为显卡标识,但编号顺序可能会发生变化
      • 使用 UUID(推荐):使用 UUID 更为可靠,不会因硬件变更而改变

      查看显卡的 UUID:

      nvidia-smi -L
      

      强制使用 CPU 运算:如果想忽略显卡并强制 Ollama 使用 CPU 运算,可输入无效的显卡编号,例如:

      Environment="CUDA_VISIBLE_DEVICES=-1"
      

      到此这篇关于Ollama本地大模型安装配置的完整流程教学的文章就介绍到这了,更多相关Ollama本地大模型安装配置内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!

      站内搜索