截止2025-02-08,ollama已经实现了可以直接从huggingface拉取模型,我们只要找到模型的地址,例如 https://huggingface.co/lier007/xiaobu-embedding-v2,然后调用命令
ollama pull https://huggingface.co/lier007/xiaobu-embedding-v2
就可以直接拉取 huggingface上的模型。
但是~~~这里有个前提,file里面有上传gguf文件,如果没有的话,是没法直接拉取的。所以我们要另想办法去加载huggingface的模型。
原理
通过命令加载模型:
ollama create 自定义modelName -f modelfile绝对路径
其中modelfile里面只需要一行:
FROM ./xxxxxxxxx.gguf
所以关键的步骤就是要获取gguf文件。
我们将要做的就是,下载huggingface的模型仓库,然后通过工具,把仓库里的模型转成gguf格式。
步骤
环境准备:
通过 conda 构建一个 python3.11的环境。
- 克隆 llama.cpp 仓库:
首先,克隆llama.cpp
仓库,该工具可用于模型转换。
$ git clone https://github.com/ggerganov/llama.cpp.git
$ cd llama.cpp - 下载 Hugging Face 嵌入模型:
将您需要的 Hugging Face 嵌入模型下载到llama.cpp/models
目录。例如,下载DMetaSoul/Dmeta-embedding-zh
模型:
$git clone https://huggingface.co/DMetaSoul/Dmeta-embedding-zh models/Dmeta-embedding-zh
- 转换模型为 GGUF 格式:
使用convert-hf-to-gguf.py
脚本将 Hugging Face 模型转换为 GGUF 格式。
$python3 convert-hf-to-gguf.py --outtype f32 models/Dmeta-embedding-zh
到这里就可以在modols/Dmeta-embedding-zh
找到对应的 gguf 文件了,接下来就像前面原理里面说的一样,通过OLLAMA加载就好。



发表回复