在使用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文件中手動添加
之后重新運行,即可成功轉化。