Ollama 转换gguf模型报错解决方法: BPE pre-tokenizer was not recognized – update get_vocab_base_pre()

共计 391 个字符,预计需要花费 1 分钟才能阅读完成。

在转换huggingface模型的时候,如果出现了这个错误,如图:

Ollama 转换gguf模型报错解决方法: BPE pre-tokenizer was not recognized - update get_vocab_base_pre()

那么代表了模型的tokenizer类型,Ollama还不支持自动下载。如果是本地就有模型的话,其实tokenizer直接用本地的就好。

只需要改造一下 convert_hf_to_gguf.py 这个文件,重点看这个函数 get_vocab_base_pre()

Ollama 转换gguf模型报错解决方法: BPE pre-tokenizer was not recognized - update get_vocab_base_pre()

主要逻辑会用一段提前编辑好的txt,用加载的tokenizer做encode,并将encode的结果做摘要,如果实际结果跟提前定义的tokenizer一致,那么tokenizer的名字就确定了。回到最初的问题,如果加载的tokenizer编码结果不一致,那么就会报这个错误。这时候只需要将logger.debug这一行改成logger.warning,然后重新执行一遍,将这个chkhsh值复制下来,照着写一个if判断语句,res的名字换成你自己的名字就可以了。

正文完
 
root
版权声明:本站原创文章,由 root 2024-08-07发表,共计391字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。