@TOC
有些时候,需要离线进行本地大模型的部署,此次为保证环境离线,我使用的是笔记本电脑安装的虚拟机(系统是openEuler),安装的整个流程笔记本电脑都是断网状态。
首先要安装 Ollama,下载 ollama-linux-amd64.tgz
后解压即可使用,完全可以离线。
联网时将执行ollama run xxxx
下载的模型文件 sha256-6e4c38...
复制到其他服务器的 /root/.ollama/models/blobs
目录下,其他服务器使用 ollama run xxxx
运行相同的模型,实现了模型文件的复用,但离线时报错:
pulling manifest
Error: pull model manifest: Get "https://registry.ollama.ai/v2/library/deepseek-r1/manifests/1.5b": dial tcp:
lookup registry.ollama.ai on xxx.xxx.xxx.x:53: read udp xxx.xxx.xxx.xxx:50447->xxx.xxx.xxx.x:53: i/o timeout
并非是无法离线迁移模型文件,而是流程不对。以 deepseek-r1:1.5b
为例,完整流程如下:
将 /root/.ollama/models/manifests/registry.ollama.ai/library/
文件夹下的 /deepseek-r1/1.5b
文件夹和文件复制到其他服务器,其内容如下:
{
"config": {
"digest": "sha256:a85fe2a2e58e2426116d3686dfdc1a6ea58640c1e684069976aa730be6c1fa01",
"mediaType": "application/vnd.docker.container.image.v1+json",
"size": 487
},
"layers": [
{
"digest": "sha256:aabd4debf0c8f08881923f2c25fc0fdeed24435271c2b3e92c4af36704040dbc",
"mediaType": "application/vnd.ollama.image.model",
"size": 1117320512
},
{
"digest": "sha256:369ca498f347f710d068cbb38bf0b8692dd3fa30f30ca2ff755e211c94768150",
"mediaType": "application/vnd.ollama.image.template",
"size": 387
},
{
"digest": "sha256:6e4c38e1172f42fdbff13edf9a7a017679fb82b0fde415a3e8b3c31c6ed4a4e4",
"mediaType": "application/vnd.ollama.image.license",
"size": 1065
},
{
"digest": "sha256:f4d24e9138dd4603380add165d2b0d970bef471fac194b436ebd50e6147c6588",
"mediaType": "application/vnd.ollama.image.params",
"size": 148
}
],
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"schemaVersion": 2
}
./ollama ls
NAME ID SIZE MODIFIED
deepseek-r1:1.5b a42b25d8c10a 1.1 GB 49 minutes ago
可以看到模型已经迁移成功了。
可以去《魔搭社区》下载需要的 gguf 格式的模型文件,这里以最新发布的 gemma3-1b 模型举例,搜索到模型后,选择模型文件,我使用的是 Git 下载,需要先安装 git-lfs 工具。
下载文件:
可以选择适合的版本进行使用,还蛮值的哭一下的,0.3.9
版本的 Ollama 无法使用 Gemma3 模型,这里找个较小的 GGUF 模型 orca-mini-3b.gguf
进行流程演示。
vim Modelfile
# 文件内容为模型文件的完整路径
FROM <model_path>/<mode_file>
实例
vim Modelfile-orca
# 文件内容
FROM ./orca-mini-3b.gguf
# 模型名称可自行编写
./ollama create <model_name> -f <path_to_Modelfile>
实例
# 运行
./ollama create orca-mini:3b -f Modelfile-orca
# 输出
transferring model data 100%
using existing layer sha256:4c876b7b0994294c677a6a1b375a0c618270f456585b42e443665ca4b89f917a
creating new layer sha256:f523886ce06140cd1fc63379074119b032a55dfaa82123addd15a136d20dca86
writing manifest
success
NAME ID SIZE MODIFIED
orca-mini:3b 7c7761bf092b 2.0 GB About a minute ago
/root/.ollama/models/manifests/registry.ollama.ai/library/orca-mini/3b
内容{
"config": {
"digest": "sha256:f523886ce06140cd1fc63379074119b032a55dfaa82123addd15a136d20dca86",
"mediaType": "application/vnd.docker.container.image.v1+json",
"size": 263
},
"layers": [
{
"digest": "sha256:4c876b7b0994294c677a6a1b375a0c618270f456585b42e443665ca4b89f917a",
"from": "/root/.ollama/models/blobs/sha256-4c876b7b0994294c677a6a1b375a0c618270f456585b42e443665ca4b89f917a",
"mediaType": "application/vnd.ollama.image.model",
"size": 1979946720
}
],
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"schemaVersion": 2
}
使用 gguf 格式模型 Ollama 也会将其转换,也可以使用转换后的文件进行迁移。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。