在使用ollama配置本地模型时,只支持gguf格式的模型,所以我们首先需要把自己的模型转化为bin格式,本文为paddle,onnx,pytorch格式的模型提供说明,safetensors格式比较简单请参考官方文档,或其它教程。
1.paddle2onnx
paddle需要在训练结束后将模型保存为onnx格式。具体代码略
2.onnx2bin
import onnx
import onnxruntime
import onnx2fst
# 加载 ONNX 模型
model = onnx.load("E:\\nlp\PaddleNLP-develop\examples\dialogue\dgu\model\intent\intent0704\model.onnx")
# 保存为二进制文件
onnx.save_model(model, "pytorch_model.bin")
现在我们获得了bin模型文件,接下来可以将其转化为gguf文件。
首先进入llamacpp官网并下载
ggerganov/llama.cpp: LLM inference in C/C++ (github.com)
可以看到有很多文件,其中这两个是我们要用的。
第一步
vim convert-hf-to-gguf-update.py
现在可能改名字了,改成你的名字即可。
第二步
找到models这个列表,初始的时候列表中有很多值,在其中添加我们的模型,格式如图所示,其余的可以删掉不影响结果。
保存之后执行
python convert-hf-to-gguf-update.py
中括号里的hf token换成自己的,可以在hugging face个人主页中申请一个。
第三步
python convert-hf-to-gguf.py /root/… --outfile /root…/model.gguf
即可转化为gguf格式
说明
如果出现报错,说明update更新失败。
根据报错信息在convert-hf-to-gguf.py文件中手动添加
之后重新运行,即可成功转化。