我们相信:世界是美好的,你是我也是。 来玩一下解压小游戏吧!

苏南大叔在本文中,将对ollama加载.gguf格式的大模型文件的方式,进行详细的说明。ollama官方网站和huggingface网站,都提供普通及gguf格式的大模型以供下载。目前,ollama可以拉取特殊的.gguf格式模型,但是依然无法处理特殊中的特殊【分享式的gguf格式】。本文将针对如何使用这种guff模型文件,展开讨论。

苏南大叔:Ollama加载GGUF模型,如何支持分片分享式大模型? - ollama-gguf
Ollama加载GGUF模型,如何支持分片分享式大模型?(图5-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。本文测试环境:win10@22H2ollama@0.6.8deepseek-r1:7b

前文回顾

本地还没有安装好ollama的小伙伴,可以参考文章:

本文中提及的modelfile导入大模型的方法,在下面文章里面也有提及:

通用加载方式

仅仅使用ollama run就可以应付大多数情况。对于GGUF文件,也是可以使用的。

ollama可以拉取并运行ollama官方上的大模型。例如:

ollama run deepseek-r1:7b

加载网络GGUF库【独立非共享】

ollama也支持加载huggingface网站上的GGUF格式的大模型。但是,一个库地址里面有很多个GGUF文件,它会选择其中的一个或多个下载并运行,下载评判标准未知。

下面的代码选了一个单库多文件,并且模型很小的作为例子。下面这几条指令,是等效的。

ollama run hf.co/ggml-org/SmolVLM-500M-Instruct-GGUF
ollama run hf.co/ggml-org/SmolVLM-500M-Instruct-GGUF:Q8_0
ollama run hf-mirror.com/ggml-org/SmolVLM-500M-Instruct-GGUF
ollama run hf-mirror.com/ggml-org/SmolVLM-500M-Instruct-GGUF:Q8_0

苏南大叔:Ollama加载GGUF模型,如何支持分片分享式大模型? - ollama-create-from-modelfile
Ollama加载GGUF模型,如何支持分片分享式大模型?(图5-2)

也就是说,网络gguf采取的似乎并不是url地址,而是貌似某种作用域。并且如果代表的实际文件,不是gguf格式的话,也会报错。
D:\>ollama run hf-mirror.com/deepseek-ai/DeepSeek-R1
pulling manifest
Error: pull model manifest: 400: {"error":"Repository is not GGUF or is not compatible with llama.cpp"}

直接传递网络gguf文件地址,是不能运行的。需要下载回来后,采用接下来的modelfilefrom方案进行加载。

加载本地GGUF库【独立非共享】

可以通过modelfileFROM命令加载。加载的目标,是本地下载好的模型(不局限于GGUF)。不支持加载远程地址。参考的modelfile内容如下:

# 注意使用绝对路径,相对路径会报错
FROM d:\gguf\<gguf>.gguf

通过下面的命令,加载对应新模型。

ollama create <your_name> -f modelfile

苏南大叔:Ollama加载GGUF模型,如何支持分片分享式大模型? - 本地加载gguf大模型文件
Ollama加载GGUF模型,如何支持分片分享式大模型?(图5-3)

modelfilefrom,可以加载任何形式的大模型。但是,gguf格式的单文件,只能通过这种方式加载。

苏南大叔:Ollama加载GGUF模型,如何支持分片分享式大模型? - url测试失败
Ollama加载GGUF模型,如何支持分片分享式大模型?(图5-4)

处理分享式GGUF【分片gguf】

huggingface网站上,存在着把一个大模型切分成多个小文件的情况。ollama明确表示,不支持这种“分享式”大模型。ollama明确表示并不支持这种为了便于分享而做分割处理的模型文件。参考下图:

D:\>ollama run hf-mirror.com/unsloth/DeepSeek-R1-GGUF
pulling manifest
Error: pull model manifest: 400: {"error":"The specified repository contains sharded GGUF. Ollama does not support this yet. Follow this issue for more info: https://github.com/ollama/ollama/issues/5245"}

苏南大叔:Ollama加载GGUF模型,如何支持分片分享式大模型? - 分享式gguf
Ollama加载GGUF模型,如何支持分片分享式大模型?(图5-5)

官方讨论帖子:

官方给出的解决方案是:先下载llama.cpp[名字略显怪异],然后执行--merge命令。

./llama-gguf-split --merge mymodel-00001-of-00002.gguf out_file_name.gguf

合并成一个大文件之后,再通过modelfilefrom方式进行加载即可。

结语

这里有来自苏南大叔的温馨提示:modelfile除了可以加载大模型外,还可以通过system命令对大模型进行微调。

更多苏南大叔的ollama经验文字,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   ollama