【必看收藏】Ollama大模型全攻略:零基础入门到离线部署,一文掌握LLM本地运行技巧
前言
之前收到小伙伴们发来一些关于Ollama的典型常见问题:
“有的小伙伴发私信问,Ollama是否支持安装非Ollama官方大模型”——这个问题很有意思!答案是:肯定支持。
“有的小伙伴发信息问,自己没有GPU显卡推理,想使用 CPU 推理可以玩 Ollama大模型吗?” 答案是:当然可以啦!
“还有小伙伴留****言咨询说,自己离线部署接入Ollama的模型,只有凭据里有信息,但模型那里还是0” —— 感觉这位小伙伴应该是配置了Ollama大模型LLM的访问凭据信息,但是未能生效成功加载识别列出该大模型LLM。这个问题也很典型。
…
还有一些其他方面的问题,这里就不一一罗列了。这些问题就像是许多零基础入门Ollama大模型LLM的小伙伴们经常会遇到的“拦路虎”。针对解决这些典型的常见问题,这篇关于Ollama专题的文章应运而生。****
下面我将主要介绍GGUF格式、如何科学合理地选择GGUF格式量化版本的大模型LLM、一起分享如何快速高效地从国内外顶尖主流的开源平台 Hugging Face Hub 和 ModelScope 下载自己所需的各种大模型LLM资源,重点讲解如何在本地使用 Ollama 在线/离线部署接入运行 Ollama 官方/非 Ollama 官方的大模型 LLM、如何自定义与应用 Modelfile 配置文件微调大模型LLM,以及在 Ollama 接入本地大模型 LLM 过程中可能会遇到的一些典型的常见问题如何快速排查定位与解决。
1、使用Ollama在线本地安装运行Ollama官方大模型LLM
2、使用Ollama离线安装运行Ollama官方大模型LLM
1。在联网主机下载大模型LLM
使用 ollama pull 下载所需大模型LLM(如 deepseek-r1:7b),命令行如下:
ollama pull deepseek-r1:7b
2。大模型LLM文件迁移
大模型默认位置:
Windows:C:\Users\用户名.ollama
Linux:~/.ollama
将 .ollama 目录下 blobs 和 manifests 两个文件夹打包,拷贝到离线主机的相同.ollama目录下。
3。验证离线大模型LLM
在离线主机执行命令行如下:
ollama list
此时,即可查看Ollama官方大模型LLM是否迁移成功。
03
GGUF格式的大模型LLM
如果我们想要使用 Ollama 安装接入运行非Ollama官方的大模型LLM,那么就很有必要先了解一下 GGUF 格式。理解了 GGUF 格式,你就能更好地理解本地运行大模型的整个生态。
1。GGUF 格式
GGUF 的全称是 GPT-Generated Unified Format,请不要理解为“由 GPT 生成的统一格式”,正确的理解应该是:一种专为 GPT 类大模型设计的、将所有信息打包在一起的统一文件格式。最简单、最清晰的做法就是直接称呼它 “GGUF 格式”,或者用意译“大模型统一格式”。
简单来说,GGUF 是一种专门为在 CPU 和 GPU 上高效加载和运行大语言模型 LLM 而设计的文件格式。你可以把它想象成一个“大模型打包格式”,它不仅包含了模型的“大脑”(权重数据),还附带了运行这个大脑所需的“说明书”(元数据)。GGUF 是 ggml 格式的继任者。ggml 是 llama.cpp 项目的初始模型格式,但后来为了更好的扩展性和对新模型架构的支持,社区设计了更先进的 GGUF 格式。现在,GGUF 已经成为 llama.cpp 生态(包括 Ollama)事实上的标准。
2。GGUF 格式的核心优势是什么?为何如此重要?
GGUF 格式的出现,其核心优势主要是为了解决几个关键问题:
1. 高效的量化
这是 GGUF 最核心的优势。
-
什么是量化?
原始的大模型权重,通常是 16 位浮点数(FP16),这意味着每个参数需要 2 个字节(1byte=8bit)的存储空间。一个 70 亿参数的模型就需要
7B * 2 bytes = 14GB的空间,这对普通电脑的内存和显存来说是巨大的负担。 -
量化做了什么?
量化,就是将模型权重从高精度(如 FP16)转换为低精度(如 4 位整数 INT4)的过程。这会极大地减小模型文件的大小和内存占用。
-
效果如何?
- 体积减小: 一个 4 位量化(Q4)的模型,体积可能只有原始 FP16 模型的 1/4 到 1/3。
- 速度提升: 更小的数据量,意味着更快的加载速度和推理速度,尤其是在内存带宽受限的情况下。
- 硬件门槛降低: 一个原本需要 14GB 显存才能运行的 FP16 模型,量化后可能只需要 4-5GB 的内存或显存,甚至可以在纯 CPU 上流畅运行!
2. 一站式文件
GGUF 是一个单一的、自包含的文件。
这个 GGUF 文件里包含了:
- 模型架构信息: 比如“这是一个 Llama 模型”或“这是一个 Mistral 模型”。
- 模型权重: 经过量化的核心参数数据。
- 词汇表: 模型用来将文本转换为数字 ID 的词典。
- 超参数: 如层数、头数、上下文长度等。
- 对话模板: 指导模型如何处理用户输入和生成回复的格式:
<|im_start|>角色名 ... 对话内容 ... <|im_end|>
上面这个格式就是构建“对话模版”的语法,它告诉大模型:“哪个角色要开始说话了,请注意听。” 正是这种结构化的格式,才让大模型能够进行流畅、有条理的多轮对话。
其中,
<|im_start|>: 这是一个开始标记。它告诉模型:“一段新的对话开始了”。****<|im_start|>角色名:指明了接下来这段话是谁说的。
常见的角色有:
user: 用户,也就是你输入的指令或问题。assistant: 助手,也就是大模型生成的回答。system: 系统,一个全局的、高层次的指令,用来设定大模型的角色和行为。感觉这有点儿像是我们作为游戏的策划设计者,在跟大模型LLM交代接下来的对话背景,一起玩Cosplay扮演者的节奏哈哈哈。。。。(比如"你是一个乐于助人的牧羊人")。
<|im_end|>: 这是一个结束标记。它告诉模型:“这段话说完了”。
一个完整的对话示例如下:
<|im_start|>system
你是一个学识渊博的科学家。<|im_end|>
<|im_start|>user
请解释一下什么是黑洞?<|im_end|>
<|im_start|>assistant
黑洞是时空中的一个区域,其引力场强大到连光都无法逃脱。它通常是由大质量恒星在生命末期坍缩形成的。<|im_end|>
<|im_start|>user
那黑洞是怎么被发现的呢?<|im_end|>
为什么这个“对话模板”格式非常重要?
因为这背后其实是大模型LLM的训练方式:
(1)大模型LLM在训练时就是这样教的: 像 Mistral、Llama 3 这类大模型,在训练时,训练数据就是被整理成了这种对话模板格式的“剧本”。大模型LLM学会了在这种格式下进行推理和生成。如果你用别的格式,它可能会“看不懂”,导致回答质量下降或行为异常。
(2)激活“聊天模式”: 当你使用这种特定的对话模板时,就相当于按下了大模型LLM的“聊天模式”开关。大模型LLM会进入一个专门为多轮对话优化的状态。
(3)保证输出格式一致性: 通过对话模板,你可以确保大模型LLM的输出也遵循这个对话模板格式(以 <|im_start|>assistant 开始,以 <|im_end|> 结束)。这对于开发应用程序非常重要,因为你的程序可以轻松地解析出大模型LLM的回答。
因此,我们只需要下载一个大模型LLM的.gguf 文件,就意味着我们拥有了运行该大模型LLM所需的一切,无需再担心配置文件或依赖项缺失。Ollama 正是利用了这一点 —— “GGUF 是一个单一的、自包含的文件”,通过 Modelfile 指向这个 GGUF 文件,就能轻松运行大模型LLM了。
3. 跨平台兼容性
GGUF 的设计目标之一,就是兼容不同的硬件。
- CPU 优先:它最初就是为了在 CPU 上高效运行而设计的。
- GPU 加速:同时,它也支持将计算任务 offload(卸载)到 GPU 上,以获得更快的速度。Ollama 和
llama.cpp可以自动检测你的硬件(NVIDIA CUDA, Apple Metal 等)并利用 GPU 加速。 - 统一接口:无论你是在 Windows、macOS 还是 Linux 上,无论你用的是 Intel CPU、Apple M 系列芯片还是 NVIDIA 显卡,GGUF 格式都提供了一套统一的加载和运行方案。
由此可见,GGUF格式的重要性,不言而喻。
3。如何识别和选择 GGUF 模型?
当你在 开源平台 Hugging Face 或者 阿里的魔搭社区(ModelScope)上搜索大模型时,你会看到各种以 .gguf 结尾的文件,文件名中通常包含量化等级的信息。如下图所示:

常见的量化等级(从低到高):
| 量化等级 | 文件名示例 | 特点 | 推荐场景 |
| Q2_K | Q2_K.gguf | 体积最小,速度最快,但效果损失最明显。 | 内存/显存极度受限(< 4GB),只追求速度。 |
| Q3_K | Q3_K_M.gguf | 体积小,效果一般。 | 对话质量要求不高的场景。 |
| Q4_K_M | Q4_K_M.gguf | 最佳平衡点。体积和效果之间取得了很好的平衡。 | 绝大多数用户的推荐选择。 |
| Q5_K_M | Q5_K_M.gguf | 效果非常接近原始模型,体积稍大。 | 对模型质量有较高要求,且有足够内存/显存。 |
| Q8_0 | Q8_0.gguf | 8位量化,效果极好,接近 FP16。 | 追求高质量,内存/显存充足。 |
| F16 | F16.gguf | 未量化的 16 位浮点模型。 | 效果最好,体积最大,需要大量显存。 |
注意: 在大模型LLM的文件名中,
_M (Medium) ,通常表示该量化等级下的一个中等版本,是质量和大小的良好折中。_S (Small) 表示更小更快,_L (Large) 表示更大更好。
_K(K-Quants)是一种先进的量化方法,这是 llama.cpp 项目中开发的一种更智能、更先进的量化策略。
- 传统量化:对模型的所有部分都“一视同仁”地进行压缩。
- K-Quants:它更“聪明”。它会识别出模型中哪些部分更重要(比如注意力机制中的某些权重),并对这些部分使用稍高的精度(比如 6 位);而对不那么重要的部分使用更低的精度(比如 3 位或 2 位)。
- 优势:在相同的平均比特数下,K-Quants 方法通常能比传统量化方法保留更多的模型性能,得到更好的质量。
4。如何查找和确认一个模型是否有 GGUF 版本?
这是最实用的部分!
当你听到一个新模型时,可以按以下步骤操作:
1. 搜索关键词 “TheBloke” 或 “bartowski”
在 Hugging Face 模型库中,这两位是社区的大牛,他们几乎将所有主流模型都转换成了高质量的 GGUF 格式。
- 搜索格式:
TheBloke/<模型名>-GGUF - 示例:
- 想找 Llama 3 8B Instruct 的 GGUF 版本?搜索
TheBloke/Llama-3-8B-Instruct-GGUF。 - 想找 Qwen2.5 7B Instruct 的 GGUF 版本?搜索
TheBloke/Qwen2.5-7B-Instruct-GGUF。
进入他们的模型页面后,你会在 "Files and versions"标签页下看到一系列不同量化等级的 .gguf 文件,供你下载。
具体如下图所示:

2. 在 Hugging Face 上直接搜索
直接在 Hugging Face 的搜索框里,输入: <模型名> GGUF。
示例:
搜索 Mistral-7B-Instruct-v0.2 GGUF ,会列出所有包含该模型和 GGUF 关键词的仓库,你通常能很快找到合适的版本。
具体如下图所示:

当然,我们也可以访问国内的 魔搭社区(www.modelscope.cn) 开源平台来搜索下载我们喜欢的大模型LLM和数据集资源,具体如下图所示:

3. 查看 llama.cpp 的官方支持列表
llama.cpp 的 GitHub 仓库 https://github.com/ggml-org/llama.cpp 通常会维护一个支持模型的列表或文档,这是最权威的信息来源,但对于普通用户来说,直接去 Hugging Face 搜索会更直观快捷。
04
Hugging Face Hub 的国内镜像网站
看到这里,有的小伙伴可能不禁会问,我没有“梯子”无法科学上网,打不开 Hugging Face 官方网站,怎么办呢?
哈哈哈,别着急,其实我们还可以通过访问下面这个网址:
https://hf-mirror.com
来实现访问全球最大、最流行的开源平台 Hugging Face Hub 官方网站,进而下载我们喜欢的大模型LLM资源。这个网址https://hf-mirror.com 其实是 Hugging Face Hub 的一个国内镜像网站。小伙伴们可以把它理解为 Hugging Face 在中国的"分店"或者"高速下载站"。
1.为什么需要这个网站?(它解决了什么问题)
Hugging Face 是全球最大、最流行的 AI 模型和数据集托管平台,几乎所有主流的开源大模型(如 DeepSeek,Qwen,Llama,Mistral 等)都会在上面发布。Hugging Face Hub 的入口在 Hugging Face 官网:https://huggingface.co/
然而,由于网络原因,中国大陆的用户直接访问 Hugging Face 官方网站 可能会遇到:
(1)速度极慢:下载一个几 GB 的模型可能需要数小时甚至数天。
(2)连接不稳定:下载过程中经常中断。
(3)完全无法访问:在某些网络环境下,根本无法打开网站。
这严重影响了国内开发者、研究人员和 AI 爱好者的工作效率。hf-mirror.com 就是为了解决这些问题而诞生的!!!
2. hf-mirror.com 的主要作用和优势:
–加速下载:通过国内的服务器节点,让你能够以接近本地带宽的速度下载模型和数据集,将数小时的下载时间缩短到几分钟。
–稳定访问:提供了一个稳定可靠的访问渠道,不用担心连接中断或无法访问的问题。
–全站镜像:它不仅镜像了模型,还包括了数据集 和 Spaces,功能非常完整。
–免费使用:这是一个公益性质的镜像站,对所有用户免费开放。
3.如何使用 hf-mirror.com 呢?
使用这个镜像站非常简单,通常只需要设置一个环境变量,告诉你的工具(如 huggingface-hub 库、git 等)去这个镜像站下载,而不是去官方站。
以下是在命令行中设置的方法:
方法一:设置环境变量(推荐)
这是最通用、最简单的方法。
对于 Linux / macOS:
在终端中运行:
export HF_ENDPOINT=https://hf-mirror.com
为了让这个设置永久生效,可以把它加到你的 shell 配置文件中(如 ~/.bashrc):
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
source ~/.bashrc
具体如下图所示:

对于 Windows (PowerShell):
在 PowerShell 中运行:
$env:HF_ENDPOINT="https://hf-mirror.com"
具体如下图所示:

此外,还需要给我们本地的Ollama添加环境变量 HF_ENDPOINT,这非常非常重要! 这是在本地使用Ollama自动加速在线直接下载全球顶尖开源平台 Hugging Face Hub 上的大模型LLM资源的巧妙技巧!
具体操作如下:
# 编辑 ollama.service
sudo vim /etc/systemd/system/ollama.service
# 在[Service]下,添加如下配置项后,保存并退出vim编辑器
Environment="HF_ENDPOINT=https://hf-mirror.com"
Environment="OLLAMA_REQUEST_TIMEOUT=30m"
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 重启 Ollama 服务
sudo systemctl restart ollama
# 使用 wget 下载,它比 Ollama 内置下载更稳定,使用最可靠的“本地导入”方法(强烈推荐)
wget https://hf-mirror.com/TheBloke/Mistral-7B-Instruct-v0.2-GGUF/resolve/main/mistral-7b-instruct-v0.2.Q4_K_M.gguf
现在,环境变量已经永久性地配置好了。Ollama 服务在启动时就已经知道了要使用 hf-mirror.com,整个下载过程都会通过镜像站进行。
这里,我们 以 ollama run 命令行为例,进行演示说明,大模型LLM的在线最高时的下载速度居然达到惊人的10M/s,简直不可思议!
如下图所示,

至此,意味着,不仅仅是 huggingface-cli,几乎所有与 Hugging Face 官方库交互的工具(比如 Python 代码中的 from_pretrained() 方法,或者 git clone 命令行,或者 ollama run 命令行, 或者 浏览器页面直接点击下载,或者 wget 命令行)都会自动识别并使用这个环境变量 HF_ENDPOINT。你不需要为每个工具单独设置镜像源,一个环境变量就能解决绝大部分工具的下载问题。
另外,我们再以 wget 下载命令行为例,具体如下图所示:
首先,复制我们想要下载的目标大模型LLM的直接下载链接地址URL,如下图所示:

然后,在Linux服务器上执行 wget 命令行即可,具体如下图所示:

这里,有个在线加速下载的小妙招,那就是:在 Hugging Face 默认的模型文件下载链接地址 URL 中,/blob/main/ 用于在网页上浏览文件。当我们需要直接下载文件时,更稳健的写法是使用 /resolve/main/ 替代默认的 /blob/main/,同时去掉后缀"?download=true"。
具体如下图所示:

方法二:使用 Hugging Face CLI
huggingface-cli 是 Hugging Face 官方提供的命令行工具,自带完善的下载功能。
1. 安装依赖
pip install -U huggingface_hub
2. 设置环境变量
Linux:
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
source ~/.bashrc
Windows Powershell:
$env:HF_ENDPOINT = "https://hf-mirror.com"
3.下载模型与数据集
3.1 下载模型(示例:下载 mistral-7b-instruct-v0.2.Q4_K_M.gguf 到本地指定目录 models_cache 下 )
huggingface-cli download TheBloke/Mistral-7B-Instruct-v0.2-GGUF --filename mistral-7b-instruct-v0.2.Q4_K_M.gguf --cache-dir ./models_cache
3.2 下载数据集(示例:下载数据集 wikitext 到本地指定目录 wikitext 下)
huggingface-cli download --repo-type dataset --resume-download wikitext --local-dir wikitext
可以添加 --local-dir-use-symlinks False 参数禁用文件软链接,这样下载路径下所见即所得。
方法三:使用 hfd
hfd 是 hf-mirror.com 网站开发的 huggingface 专用下载工具,基于成熟工具 aria2,可以做到稳定高速下载不断线。
1. 下载hfd
wget https://hf-mirror.com/hfd/hfd.sh
chmod a+x hfd.sh
2. 设置环境变量
Linux:
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
source ~/.bashrc
Windows Powershell:
$env:HF_ENDPOINT = "https://hf-mirror.com"
3.1.下载模型与数据集
3.1 下载模型(示例:下载gpt2)
./hfd.sh gpt2
3.2 下载数据集(示例:下载数据集wikitext )****
./hfd.sh wikitext --dataset
方法四:使用 git clone
使用 git clone 从 Hugging Face 下载大模型资源,需要先安装Git LFS(Large File Storage),然后执行克隆命令。
1.安装 git lfs
首先我们需要安装 git lfs 来处理大文件下载:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
2.克隆大模型仓库
使用标准的 git clone 命令格式:
git lfs install
git clone https://huggingface.co/组织名/模型名
示例:
# 克隆Llama2-7B模型
git lfs install
git clone https://huggingface.co/daryl149/llama-2-7b-hf
3.处理下载中断
如果克隆过程中断,可以进入模型目录执行以下命令恢复:
git lfs pull
**通过以上方法任选其一,设置完成后,**当我们使用 huggingface-cli download、或者 from transformers import AutoModel.from_pretrained 、或者 git clone 从 Hugging Face 官方网址下载资源时,就会自动通过 hf-mirror.com 进行加速下载啦!
05
Ollama在线本地安装运行非Ollama官方大模型LLM
有了以上基础知识的铺垫,接下来我们正式开始详解如何使用 Ollama 在线安装运行一个非Ollama官方的大模型LLM。
直接在线导入非Ollama官方的GGUF格式大模型LLM,这是最常见,也是最推荐的方法。许多优秀的开源模型都托管在 Hugging Face Hub 或者 ModelScope 上。Ollama 可以直接从这些国内外开源平台拉取模型。
1.Ollama 在线下载 Hugging Face Hub 模型
从 Hugging Face Hub 的国内镜像网站 hf-mirror.com(注意:非Ollama官方网站)直接在线下载大模型LLM。
举例说明:
这里,我们在线下载安装运行一个在 Hugging Face Hub 上很受欢迎的大模型 TheBloke/Mistral-7B-Instruct-v0.2-GGUF。这是一个经过量化优化的 GGUF 格式模型,非常适合在本地运行。
步骤 1:搜索找到目标模型,复制其量化版本的 ollama run 命令行
我们打开目标模型的浏览器页面,在右侧点击下拉菜单“Use this model”,选择“Ollama”,具体如下图所示:


这里的 Q4_K_M 是量化等级,数字越小模型越小越快,但效果可能稍差。Q4_K_M 是一个很好的平衡点。
步骤2:在已安装Ollama的服务器上直接在线下载运行,执行如下命令行:
# ollama查看是否已安装大模型LLM
ollama list
# 由于我们上面已经给本地Ollama设置了环境变量 Environment="HF_ENDPOINT=https://hf-mirror.com"
# 因此会自动加速Ollama在线下载非Ollama官方网站(Hugging Face Hub的国内镜像网站)上 GGUF格式的大模型文件。
ollama run hf.co/TheBloke/Mistral-7B-Instruct-v0.2-GGUF:Q4_K_M
具体如下图所示:

步骤3:等下载完毕后,查看是否在线安装成功,执行如下命令行:
ollama list | grep mistral
2.Ollama 在线下载 ModelScope 模型
从国内的开源平台魔搭社区 ModelScope(注意:非Ollama官方网站)直接在线下载大模型LLM。
这里,我们举例说明,从ModelScope网站给本地下载一个大模型 Qwen3-VL-4B-Instruct-GGUF。
具体步骤如下:
(1)在下载前,先通过如下命令安装 modelscope 库:
pip install modelscope
(2)使用 modelscope download 指令下载模型,执行命令行如下:
# 这里创建一个自定义的模型目录 Qwen3-VL-4B-Instruct-GGUF。默认下载路径在 ~/.cache/modelscope/hub/models
mkdir -p /home/airobot/models_cache
# 将模型库里的全部文件,下载到本地指定的目录下
# modelscope download --model Qwen/Qwen3-VL-4B-Instruct --local_dir /home/airobot/models_cache
# 仅将模型库的指定文件,下载到本地指定的目录下
modelscope download --model NexaAIDev/Qwen3-VL-4B-Instruct-GGUF Qwen3-VL-4B-Instruct.Q4_K.gguf --local_dir /home/airobot/models_cache
(3)下载完成后,你可以用 ls 命令确认GGUF文件是否已经存在:
ls -l /home/airobot/models_cache
具体如下图所示:

Ollama 是建立在 llama.cpp 开源推理引擎基础上的大模型推理工具框架。得益于底层引擎提供的高效模型推理,以及多硬件适配,Ollama 能够在包括 CPU、GPU 在内的,不同的硬件环境上,运行各种精度的 GGUF 格式大模型。通过Ollama命令行就能拉起LLM模型服务。
ModelScope 魔搭社区上托管了数千个优质的 GGUF 格式的大模型(包括LLM和视觉多模态模型),并支持了Ollama框架和ModelScope平台的链接,通过一个简单的 ollama run 命令,就能直接一键完成下载并运行ModelScope模型库上的GGUF模型。该命令行的具体格式为:
ollama run modelscope.cn/{model-id}
其中 model-id 的具体格式为{username}/{model}。
例如:
ollama run modelscope.cn/Qwen/Qwen2.5-3B-Instruct-GGUF
ollama run modelscope.cn/second-state/gemma-2-2b-it-GGUF
ollama run modelscope.cn/Shanghai_AI_Laboratory/internlm2_5-7b-chat-gguf
在一个GGUF模型库中,一般也会有不同精度的模型文件存在,如Q3_K_M, Q4_K_M, Q5_K等。如下图所示:

默认情况下,如果模型repo里有 Q4_K_M 版本的话,Ollama会自动拉取并使用该版本,在推理精度以及推理速度,资源消耗之间做一个较好的均衡。
Ollama支持加载不同精度的GGUF模型,可以显式配置来指定想要使用的版本。例如:
ollama run modelscope.cn/Qwen/Qwen2.5-3B-Instruct-GGUF:Q3_K_M
这里命令行最后的:Q3_K_M选项,就指定了使用Q3_K_M精度的GGUF模型版本,这个选项大小写不敏感,也就是说,无论是:Q3_K_M,还是:q3_k_m,都是使用模型repo里的"qwen2.5-3b-instruct-q3_k_m.gguf" 这个模型文件。当然,也可以直接指定模型文件的全称,同样支持,具体如下所示:
ollama run modelscope.cn/Qwen/Qwen2.5-3B-Instruct-GGUF:qwen2.5-3b-instruct-q3_k_m.gguf
除了常见的大模型LLM以外,这种使用方式也支持了包括Llama3.2-Vision在内的视觉多模态模型,需要确保使用Ollama 0.4.0以上的版本。例如:
ollama run modelscope.cn/AI-ModelScope/Llama-3.2-11B-Vision-Instruct-GGUF
运行如下图所示:

至此,我们就可以实现在本地直接在线下载安装并运行各种非Ollama官方的GGUF格式大模型LLM,进行交互使用啦!
06
Ollama离线本地安装运行非Ollama官方大模型LLM
Ollama 不能直接 run 运行一个本地的 GGUF 格式模型文件。
Ollama离线安装运行非Ollama官方大模型LLM,其核心思想是:Ollama 运行模型需要一个名称为 Modelfile 的配置文件。这个Modelfile 文件就像是模型的“配方”,它告诉 Ollama 从哪里获取模型文件、如何设置参数、以及使用什么模板等。
整个过程非常简单,具体实现如下: 步骤1:在联网主机上,直接在线下载GGUF格式的大模型LLM文件。 具体的下载方法,可参考上面的 "03 Ollama在线安装运行非Ollama官方大模型LLM"这个章节的内容。小伙伴们也可以通过浏览器、wget 或 curl 等各种方式下载GGUF格式大模型LLM。
步骤2:将已下载好的GGUF格式模型文件放到离线的目标主机上。
步骤3:在目标主机上,创建一个名称为 Modelfile 配置文件。
比如,我们在上面已经在线下载好了一个 GGUF 格式的模型文件,并且已经放到了目标主机的这个路径下:
/home/airobot/models_cache/wget_test/mistral-7b-instruct-v0.2.Q4_K_M.gguf
那么,此时我们的 Modelfile 应该这样编写:
# Modelfile
# 从本地路径加载模型
FROM /home/airobot/models_cache/wget_test/mistral-7b-instruct-v0.2.Q4_K_M.gguf
注意:
(1)关键字 FROM,为纯大写;
(2)使用绝对路径,或相对于你运行 ollama create 命令的路径。
步骤4:使用 ollama create 命令行,通过 Modelfile 配置文件,本地离线加载运行大模型LLM。
具体如下所示:
# 基于本地GGUF格式模型,创建一个自定义的大模型名称
ollama create mistral-7b-instruct -f ./Modelfile
# 加载运行大模型
ollama run mistral-7b-instruct
具体如下图所示: 在下载 Hugging Face Hub 镜像站的模型资源时,ollama create + Modelfile 是比 ollama run 命令行直接在线加载运行更可靠、更推荐的大模型LLM导入方式。
为什么说 "ollama create 命令行 + Modelfile 配置文件"是最佳选择方法?
主要原因如下:
(1)彻底解决网络问题:
模型文件已经在本地,Ollama 不再需要从网络下载任何东西,完全绕过了 TLS handshake timeout、file does not exist 等所有网络相关错误。
(2)绕过清单文件:
Modelfile 直接指定了模型文件,Ollama 不需要去查找和解析远程的 manifest 文件,避免了“清单不存在”的问题。
(3)完全的控制权:
你可以给模型起任何你喜欢的名字(如 mistral-cat-girl),不受原始仓库命名规则的约束。
(4)离线可用:
一旦导入,即使断开网络,你也可以随时运行这个模型。
至此,我们就可以在本地离线加载运行各种 GGUF 格式的大模型 LLM啦!!!
进阶:自定义 Modelfile(调整参数和模板)
Ollama支持通过Modelfile配置文件,来实现大模型推理的参数自定义。ModelScope与Ollama的对接,会根据平台上GGUF模型的信息,自动生成每个模型需要的配置与参数,包括推理模板(Template),模型参数(Parameters)等。
此外,当模型贡献者在模型repo里,配置了template或params等参数,我们将以repo里的参数配置为准。
具体而言:自定义聊天模板(template)。
你可以在模型库repo中创建一个名称为 template 的新模版文件。该模版必须是 Go 模版,例如:
{{ if .System }}<|system|>
{{ .System }}<|end|>
{{ end }}{{ if .Prompt }}<|user|>
{{ .Prompt }}<|end|>
{{ end }}<|assistant|>
{{ .Response }}<|end|>
要了解更多关于 Go 模板格式的信息,可参考Ollama官方文档 https://github.com/ollama/ollama/blob/main/docs/template.md。
–自定义System Prompt:你可以模型repo中创建一个名称为 system 的新文件,来配置System Prompt。
–自定义模型参数(Parameters):你可以模型repo中创建一个名称为 params 的 JSON 格式文件。具体可参考Ollama官方文档https://github.com/ollama/ollama/blob/main/docs/modelfile.md#parameter。
Modelfile 的强大之处,远不止 FROM 指令。你可以通过 Modelfile 来微调大模型的行为。
一个更完整的 Modelfile 配置文件,示例如下:
# Modelfile
# 1. 指定模型来源
FROM /home/airobot/models_cache/wget_test/mistral-7b-instruct-v0.2.Q4_K_M.gguf
# 2. 设置模型参数(可选)
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER stop "<|im_end|>"
# 3. 设置系统提示词(可选)这里,扮演一个猫娘角色
SYSTEM """You are a helpful, smart and friendly assistant. Always answer in the style of a cat girl."""
# 4. 设置对话模板(非常重要!)
TEMPLATE """
<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
参数说明:
–PARAMETER:用于设置模型的运行参数,如 temperature(创造性)、top_p(多样性)、stop(停止词)等。
--SYSTEM:为模型设置一个全局的系统提示词,定义它的角色和行为。
--TEMPLATE:这是最关键的部分之一。它定义了你和模型对话的格式。不同的模型训练时使用的模板不同,如果模板不匹配,模型可能无法``正确理解指令。
--通常可以在模型的 Hugging Face 页面(README 文件)或其原始仓库中,找到推荐的模板格式。
--这里的 {{ .Prompt }} 是一个占位符,Ollama 会自动将你的输入提示词替换到这里。
此时,还使用这个更复杂的 Modelfile 重新创建自定义命名模型为 mistral-7b-instruct-cat-girl,如下所示:
# 基于本地编写的Modelfile配置文件和已下载的GGUF格式大模型,创建一个自定义重命名的模型名称。
ollama create mistral-7b-instruct-cat-girl -f ./Modelfile
# 使用 ollama run 命令行,在本地离线加载运行该自定义命名的大模型
ollama run mistral-7b-instruct-cat-girl
具体如下图所示:

此时,该大模型就会根据我们在 Modlefile 配置文件里微调的模型参数、系统提示词、角色,以"猫娘"的口吻与你对话,并且遵循特定的对话格式。
备注:
在 Ollama 的 Modelfile(模型配置文件)和模板语法中,单花括号 {} 和双花括号 {{}} 有明确且不同的作用,它们都源于 Go 语言模板引擎的语法。
双花括号 {{}}:模板变量和逻辑控制
-
用途:用于插入变量、执行表达式、条件判断、循环等,是模板语法的主要标记。
-
Go 语言模板引擎的语法示例:
{{ .System }}
{{ .Prompt }}
{{ if .System }}...{{ end }}
{{ range .Messages }}...{{ end }}
- 含义:
{{ .System }}:插入名为 System 的变量。{{ if .System }}...{{ end }}:条件判断,如果 System 存在,则渲染内部内容。{{ range .Messages }}...{{ end }}:遍历 Messages 列表。
- 在 Ollama Modelfile 中的典型写法:
TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|> {{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|> {{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|> {{ .Response }}<|eot_id|>"""
单花括号 {}:一般用于对象字面量或普通文本
- 用途:在模板外,单花括号通常用于表示 JSON 对象或普通文本。在模板内,单花括号不具备模板变量或逻辑控制功能**。**
- 在 Ollama Modelfile 中,单花括号一般出现在:
- JSON 对象:比如,在
MESSAGE指令中定义对话历史:
MESSAGE {"role": "user", "content": "Hello"}
- 系统提示/普通文本:比如,在
SYSTEM指令中:
SYSTEM {"role": "system", "content": "You are an assistant."}
07
Ollama接入大模型LLM时的常见问题与解决方案
1.离线部署接入ollama的模型,只有凭据里有信息,模型那里还是0,什么情况?
“凭据里有信息,模型那里还是0” 这个现象,几乎可以100%确定是网络连接问题。
首先,我们需要检查 Ollama 服务是否正在运行。
可以在安装有Ollama的服务器上,执行如下命令行:
curl http://{{Ollama服务器IP}}:11434/api/tags
或者
ollama list
如果上述命令行执行成功,则可以看到Ollama已安装加载运行的大模型LLM列表。
如果上述命令行执行失败,则说明Ollama本身的服务配置可能有问题。
为了方便小伙伴们快速定位问题,这里我梳理了一个详实有效的清单:
(1)Ollama服务在跑吗?
==> 任务管理器检查 Ollama 服务进程PID是否在线,可执行命令行如下:
airobot@ai:~$ ps aux | grep ollama
root 13597 0.0 0.3 482368 44044 ? Sl 11月07 0:10 /app/storage/cwd/langgenius/ollama-0.0.7@8fc496b3892344da47db6125c76fc0dbfd8020753f198032751d83f561d9443e/.venv/bin/python -m main
ollama 140504 0.3 0.4 2157044 48868 ? Ssl 11月07 0:35 /usr/local/bin/ollama serve
airobot 443942 0.0 0.0 12260 2284 pts/1 S+ 00:02 0:00 grep --color=auto ollama
airobot@ai:~$
# 检查 11434 端口是否被其他进程PID占用
airobot@ai:~$ sudo netstat -anpt| grep 11434
[sudo] airobot 的密码:
tcp6 0 0 :::11434 :::* LISTEN 138633/ollama
airobot@ai:~$
(2)Ollama服务配置,对吗?
==> 可参考 Ollama 服务配置如下:
airobot@ai:~$ cat /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin"
#Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_API_KEY=1234" # 设置空的 API 密钥
Environment="OLLAMA_LOAD_TIMEOUT=10m"
Environment="OLLAMA_TIMEOUT=900000"
Environment="OLLAMA_KEEP_ALIVE=0"
Environment="OLLAMA_NUM_PARALLEL=1"
Environment="OLLAMA_MAX_LOADED_MODELS=1"
Environment="OLLAMA_DEBUG=1"
Environment="OLLAMA_REQUEST_TIMEOUT=30m"
Environment="HF_ENDPOINT=https://hf-mirror.com"
[Install]
WantedBy=default.target
airobot@ai:~$
(3)网络通吗?
==> curl http://{{Ollama服务器IP}}:11434/api/tags 测试。
(4)大模型文件存在吗?
==> 检查 ~/.ollama/models 目录。
(5)客户端(比如,Dify)配置的Ollama服务地址URL,对吗?
==> 确认客户端里填的是 http://Ollama服务器IP:11434 。如果是需要兼容OpenAI接口规范,则还需要在该URL后面追加 /v1,即 http://Ollama服务器IP:11434/v1。
(6)客户端(比如,Dify)配置的大模型LLM名称,是否没有与 Ollama 服务查询到大模型LLM名称完全保持一致?
==> 配置的大模型LLM名称必须要与实际可用的模型名称保持一致,通过执行 ollama list 命令行,可以方便查看到当前可用的大模型 LLM 名称列表。
(7)防火墙/代理是不是开着?拦了吗?
==>关闭防火墙和代理试试。
08
写在最后
在本文中,我跟小伙伴们介绍和一起分享了如下主要内容:
(1)GGUF格式的基本概念及其重要性。
(2)在实际项目中,如何科学合理地选择量化版本 GGUF 格式大模型LLM。【重点】
(3)如何从全球顶尖、主流的开源平台 Hugging Face Hub 的国内镜像网站 hf-mirror.com、国内主流的开源平台 ModelScope 魔搭社区,快速搜索和下载获取自己所需的任意一款大模型 LLM 资源。以及如何查找和确认一个大模型是否有 GGUF 版本。从此,妈妈再也不用担心你找不到自己想要下载的大模型LLM了。【重点】
(4)如何使用 Ollama 在本地直接在线加载运行Ollama官方网站提供的大模型LLM。
(5)如何使用 Ollama 在本地离线加载运行Ollama官方网站提供的大模型LLM。
(6)如何使用 Ollama 在本地在线加载运行非Ollama官方网站(如 Hugging Face、ModelScope)提供的大模型LLM。
(7)如何使用 Ollama 在本地离线加载运行非Ollama官方网站(如 Hugging Face、ModelScope)提供的大模型LLM。【重点】
其中,关于如何使用 Ollama 本地离线安装运行非Ollama官方大模型 LLM 的标准操作流程,非常实用,具体如下:
1。下载模型:将 GGUF 格式模型文件保存到本地。
2。创建 Modelfile:创建一个指向本地GGUF格式模型文件的配置文件。
3。导入模型:使用 ollama create 将本地GGUF格式的大模型LLM注册到 Ollama。
4。运行模型:运行你注册的GGUF格式大模型LLM。
简而言之,如果小伙伴们需要下载 Ollama 官方适配好的大模型LLM,可直接访问 https://ollama.com/library,搜索模型名称,复制命令即可用 ollama pull 或 ollama run 下载。
如果需要更多开源的大模型LLM,可以去 Hugging Face 国内镜像网站或者 ModelScope魔搭社区搜索 GGUF 格式,然后用 Modelfile 导入到 Ollama。
通过上述方法,几乎任意一款大模型LLM,一旦量化为GGUF格式(GGUF 格式模型是跨平台兼容,提供了一套统一的加载和运行方案),在硬件支持的情况下,Ollama 都可以统统加载运行,同时支持CPU/GPU加速推理。
最后,针对 Ollama 无法正常有效接入已安装部署的本地大模型 LLM 等一些常见问题,本文提供了一份详实有效的排查清单和解决方案。
希望以上实用干货内容,对更多小伙伴们学习AI有所帮助!
最后
为什么要学AI大模型
当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!
DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。
最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
AI大模型系统学习路线
在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。
AI大模型入门到实战的视频教程+项目包
看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
海量AI大模型必读的经典书籍(PDF)
阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
600+AI大模型报告(实时更新)
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
AI大模型面试真题+答案解析
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐


所有评论(0)