unknown tokenizer format: Can’t Import Mistral-small-3.2

用户在 macOS 上使用 Ollama 0.13.3 尝试导入一个基于 mistral-small-3.2 的微调模型(从 HuggingFace 下载的 Safetensors 权重),执行 ollama create 命令时触发报错。同样的错误在使用官方版本 mistralai/Mistral

快速结论:该报错通常出现在 Ollama 从 Safetensors 导入模型时遇到不支持的 tokenizer 格式或缺失 tokenizer 文件(如 tokenizer.json)的场景。优先确认模型目录下是否包含 tokenizer.json,若缺失可尝试复制同目录下的 tekken.json 重命名填补。

问题场景

用户在 macOS 上使用 Ollama 0.13.3 尝试导入一个基于 mistral-small-3.2 的微调模型(从 HuggingFace 下载的 Safetensors 权重),执行 ollama create 命令时触发报错。同样的错误在使用官方版本 mistralai/Mistral-Small-3.2-24B-Instruct-2506 时也复现。

报错原文

gathering model components
copying file sha256:... 100%
...
converting model
Error: unknown tokenizer format

原因分析

可能原因:

  • 模型目录中缺少 tokenizer.json 文件:Ollama 在从 Safetensors 导入时需要该文件识别 tokenizer 格式。
  • generation_config.json 格式破损:用户检查发现该 JSON 文件内容错误,影响导入流程。
  • 当前 Ollama 对 Safetensors 导入支持的架构有限(参见 官方导入文档),而 mistral-small-3.2 可能不在默认支持列表中。
  • 若模型所基于的微调框架使用了非标准 tokenizer 格式,也可能导致转换失败。

补充:有评论指出,该报错也曾在其他模型(如 abliterated 版本)中出现,且可能与模型本身质量问题(如 tokenizer 配置不完整)有关。

环境排查

  • Ollama 版本:0.13.3(用户当时使用版本)
  • 操作系统:macOS 26.2(Apple Silicon)
  • GPU/CPU:Apple 原生(M 系列芯片)
  • 模型来源:HuggingFace 下载的 Safetensors 权重,如 mistralai/Mistral-Small-3.2-24B-Instruct-2506 或微调版(如 huihui-ai/Huihui-Mistral-Small-3.2-24B-Instruct-2506-abliterated-v2
  • 模型目录内容:需确认是否包含 tokenizer.jsongeneration_config.jsontekken.json 等文件

解决步骤

  1. 检查模型文件完整性:进入下载的模型目录,确认是否存在 tokenizer.json 文件。如果缺失,查找同目录下是否有 tekken.json 或其他 tokenizer 配置文件。
  2. 复制缺失的 tokenizer 文件(可优先尝试):如果 tokenizer.json 缺失但存在 tekken.json,将其复制并重命名为 tokenizer.json
    cp tekken.json tokenizer.json
  3. 修复 generation_config.json检查该文件是否为合法的 JSON 格式(可在编辑器中打开,确认无语法错误)。如发现格式破损,需手动修正或从官方模型仓库获取正确版本。
  4. 使用 llama.cpp 转为 GGUF(备选方案):如果直接导入仍然失败,建议先用 llama.cpp 的 convert_hf_to_gguf.py 将 Safetensors 转换为 GGUF 格式,再通过 Modelfile 导入 Ollama。对于多模态模型(如 mistral-small-3.2 包含视觉层),需分两步转换:
    python convert_hf_to_gguf.py --outfile text.gguf --outtype f16 --mistral-format /path/to/safetensors
    python convert_hf_to_gguf.py --outfile vision.gguf --outtype f16 --mistral-format /path/to/safetensors --mmproj
    然后在 Modelfile 中组合使用:
    FROM text.gguf
    FROM vision.gguf
    ollama create model-name -f Modelfile
  5. 确认微调状态:如果模型经过微调(如 LoRA),请确认适配器是否已融合到基础模型。若未融合,需参考 Ollama 导入微调适配器的文档进行处理。

验证方法

执行 ollama create 命令后,观察是否不再出现 unknown tokenizer format 错误,并成功提示模型已创建。然后运行 ollama run model-name 测试推理是否正常(注意:某些 abliterated 或质量不佳的模型可能虽能导入,但在推理时仍会崩溃,如出现 panic: failed to sample token,则表明模型本身有问题,不建议继续使用)。

参考来源

ollama/ollama #13465

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 16235

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注