20
2025
03
10:30:05

离线部署本地大模型 - 本地部署Ollama完整教程

  • 目前最先进的OpenAI的GPT系列模型,由于某些原因对国内用户并未开放。

  • 对于特殊行业企业来,这些大模型并不能满足企业的特殊需求。

  • 隐私问题和数据安全:企业与研究机构开始寻求在本地环境部署大模型的方法,同时构建专属的私有知识库,以实现更高程度的控制和灵活性。

  • 收费问题:对于个人来说,如果是一个重度用户,那么使用成本将是不能忽视的问题。

本地部署大模型的优势:

  • 隐私和数据安全得到保障。

  • 特殊行业可以基于开源大模型进行微调。

  • 免费

今天就来介绍一款可以在本地运行开源的 LLM(大型语言模型)服务工具Ollama。Ollama也是目前本地运行大模型最简单的服务工具,尤其适合普通PC。

Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型、降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和部署最新大语言模型,包括如Qwen2、Llama3、Phi3、Gemma2等开源的大型语言模型。

Ollama 安装和常用系统参数设置

下载安装Ollama服务工具

首先下载并安装Ollama工具 - MacOS 下载 - Windows 下载 - Linux 请参见

另外Ollama还只是Docker安装

CPU only

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

如果是 Nvidia GPU,需要先安装 NVIDIA Container Toolkit.

启动容器

docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

如果是AMD GPU

docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm

如果仅仅只是想运行模型,不启动服务的话可以:

docker exec -it ollama ollama run llama3.1

Ollama工具安装比较简单,详细的安装可以参考官方的文档 windows.md" class=" wrap external" target="_blank" rel="nofollow noreferrer" data-za-detail-view-id="1043" style="text-decoration-line: none; border-bottom: 1px solid rgb(129, 133, 143); cursor: pointer;">Windows、LinuxDocker

常用的系统环境变量参数

  • OLLAMA_MODELS:模型文件存放目录 > 默认目录为当前用户目录 > Windows C:\Users%username%.ollama\models, > MacOS ~/.ollama/models, > Linux /usr/share/ollama/.ollama/models

  • OLLAMA_HOST:Ollama 服务监听的网络地址, > 默认为127.0.0.1,如果允许其他电脑访问Ollama(如:局域网中的其他电脑) > 建议设置成0.0.0.0,从而允许其他网络访问

  • OLLAMA_PORT:Ollama 服务监听的默认端口,默认为11434

  • OLLAMA_ORIGINS:HTTP 客户端请求来源,半角逗号分隔列表,若本地使用无严格要求,可以设置成星号,代表不受限制。

  • OLLAMA_KEEP_ALIVE:大模型加载到内存中后的存活时间(单位秒) > 默认为5m即 5 分钟(300秒) > 0 代表处理请求响应后立即卸载模型 > 任何负数则表示一直存活 > 如果请求频繁,建议设置时间更长一点,比如24h,即模型在内存中保持 24 小时,提高访问速度

  • OLLAMA_NUM_PARALLEL:请求处理并发数量,默认为1,即单并发串行处理请求,可根据实际情况进行调整

  • OLLAMA_MAX_QUEUE:请求队列长度,默认值为512,可以根据情况设置,超过队列长度请求被抛弃

  • OLLAMA_DEBUG:输出 Debug 日志标识,应用研发阶段可以设置成1,即输出详细日志信息,便于排查问题

  • OLLAMA_MAX_LOADED_MODELS:最多同时加载到内存中模型的数量,默认为1,即只能有 1 个模型在内存中

Ollama 管理和下载大模型

安装好Ollama之后可以通过命令行终端,执行ollama -h 查看下都有哪些命令

> ollama -h    
Large language model runner

Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start ollama
  create      Create a model from a Modelfile
  show        Show information for a model
  run         Run a model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  help        Help about any command

可以通过执行下面的命令即运行qwen2:7b大模型,首次运行需要先下载模型7b的模型4.4GB,大概需要几分钟。

ollama run qwen2:7b

远程仓库下载其他大模型到本地,登录官方模型仓库

>ollama pull qwen2:0.5b
pulling manifest
pulling manifest
pulling manifest
pulling manifest
pulling manifest
pulling 8de95da68dc4... 100% ▕████████████████████████▏ 352 MB
pulling 62fbfd9ed093... 100% ▕████████████████████████▏  182 B
pulling c156170b718e... 100% ▕████████████████████████▏  11 KB
pulling f02dd72bb242... 100% ▕████████████████████████▏   59 B
pulling 2184ab82477b... 100% ▕████████████████████████▏  488 B
verifying sha256 digest
writing manifest
removing any unused layers
success

一般7b的模型大概需要8G的内存或者显存,如果硬件条件允许尽可能下载更多参数的模型,以获得更好的推理效果。 如果硬件条件一般,可以下载小一点的,qwen2最小的0.5b,只有5亿参数,有1G的内存可能就能满足。 官方的模型仓库有很多大语言模型、多模态模型、嵌入模型等,可以根据自身需要下载合适的模型。

查看已下载的模型列表

>ollama list
NAME            ID              SIZE    MODIFIED
qwen2:0.5b      6f48b936a09f    352 MB  9 minutes ago
qwen2:7b        e0d4e1163c58    4.4 GB  10 days ago

运行大模型

执行下面的命令,即可开启大模型对话

ollama run qwen2:7b

>>> hello
Hello! How can I assist you today?

这种方式显然不够友好,这里给大家推荐两款web客户端

介绍两款WebUI

Page Assist

这个是一款chrome浏览器插件下载安装开源项目地址, 安装简单,使用方便,同时也支持本地知识库。

设置

离线部署本地大模型 - 本地部署Ollama完整教程


对话

离线部署本地大模型 - 本地部署Ollama完整教程


open webui

是一种可扩展、功能丰富且用户友好的自托管 WebUI,更多介绍可以查看官网 安装稍显复杂,需要python和node环境,如果不是研发人员,不对源码做修改,建议直接使用Docker部署安装
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

打开浏览器访问 http://localhost:3000

设置

离线部署本地大模型 - 本地部署Ollama完整教程


对话

离线部署本地大模型 - 本地部署Ollama完整教程

同时还只是导入GGUF模型,这样就省的编写Modelfile

Ollama Modelfile

在使用 Ollama 进行本地部署和运行大型语言模型时,Modelfile 扮演着至关重要的角色。它是一个文本文件,用于定义和配置模型的行为和特性。

关于Ollama Modelfile的详细用法参考官方文档,这介绍一下GGUF 导入模型的方式。

Ollama 模型仓库提供了很多开源大模型,还支持高度的模型自定义和扩展能力。这意味着开发者可以根据特定的需求调整模型参数,或者导入已有的模型,以此来创建更加个性化的AI应用。以下是几种自定义模型的方法。
  • 首先,下载模型的GGUF格式的文件

  • 然后,创建一个名为Modelfile的文件,该文件包含指向你想要导入模型的本地文件路径的FROM指令。例如:

FROM ./your-model-path.gguf
  • 执行命令,在 Ollama 中创建模型

ollama create example -f Modelfile
  • 运行自定义模型,检查是否创建成功

ollama run example

结语

本文粗略的介绍了Ollama搭建本地大模型的基本的安装和使用方法,想要完整了解Ollama,建议参考官方文档,后面的文章中我们将继续介绍Ollama的其他用法,比如:Modelfile,比如从 PyTorch 或 Safetensors 导入模型,自动量化等。




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

离线部署本地大模型 - 本地部署Ollama完整教程

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

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

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

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

您的IP地址是: