普通网友 2026-03-07 10:50 采纳率: 98.4%
浏览 0
已采纳

Ollama运行whisper时提示“model not found”如何解决?

**问题描述(198字):** 在Ollama中执行 `ollama run whisper` 时提示“model not found”,本质是Ollama官方模型库(https://ollama.com/library)**并未上架原生Whisper模型**。Whisper是OpenAI开源的语音识别模型,属ASR(自动语音识别)任务,而Ollama当前(v0.5.x)主要支持LLM(大语言模型),其内置模型格式(GGUF)、推理框架(llama.cpp)与Whisper的PyTorch/ONNX架构不兼容。用户误将Hugging Face上的`openai/whisper-*`或第三方GGUF转译版直接`ollama run`,因未正确导入或命名不匹配(如缺少`whisper:base`等有效tag),导致拉取失败。此外,Ollama不支持`.bin`/`.pt`原生权重,也暂未集成Whisper专用解码器(如faster-whisper后端)。该错误非网络或权限问题,而是模型生态与工具链的根本不匹配所致。
  • 写回答

1条回答 默认 最新

  • Jiangzhoujiao 2026-03-07 10:50
    关注
    ```html

    一、现象层:命令执行失败的表象与典型报错

    执行 ollama run whisper 后终端明确返回 pull model manifest: 404 not foundmodel not found: whisper。该错误高频出现在 macOS/Linux CLI 环境(Ollama v0.5.2–v0.5.7),且 ollama list 输出中无任何以 whisper: 开头的模型条目。值得注意的是,此非 DNS 解析失败、HTTPS 证书错误或 Docker 权限缺失——ollama run llama3 可正常拉取并运行,证实服务端连通性与本地守护进程均健康。

    二、机制层:Ollama 架构约束与 Whisper 技术栈的本质冲突

    • 模型格式鸿沟:Ollama 强制要求 GGUF 格式(由 llama.cpp 定义),而 Whisper 原生权重为 PyTorch .bin 或 ONNX .onnx,二者 tensor layout、量化方案、算子注册机制完全不兼容;
    • 推理引擎隔离:llama.cpp 专为 Transformer-based LLMs(Decoder-only)优化,缺乏 Whisper 所需的 Encoder-Decoder attention 跨模态对齐、音频 tokenization(Mel-spectrogram → logits)、forced decoder prefix(language token)等 ASR 特有逻辑;
    • 生态治理边界:Ollama Library 官方审核仅接纳符合 Modelfile 规范 的 LLM 模型,Whisper 不在支持任务列表(ASR、TTS、STT 均未纳入 roadmap v0.6)。

    三、验证层:三步实证排除法确认根本原因

    验证步骤预期结果实际结果结论指向
    curl -I https://registry.ollama.ai/v2/library/whisper/manifests/latestHTTP 200 + JSON manifestHTTP 404官方库确无 whisper 模型
    ollama show --modelfile whisper:base输出 Modelfile 内容"model not found"本地未导入任何 whisper tag
    尝试 ollama run ghcr.io/simonepri/whisper.cpp:tiny成功加载(若存在第三方镜像)404(Ollama 不解析 OCI registry)Ollama 仅信任 ollama.com/library 命名空间

    四、替代路径层:面向生产环境的 ASR 实施矩阵

    下表对比主流 Whisper 部署方案与 Ollama 的兼容性:

    graph LR A[Whisper 需求] --> B{部署目标} B --> C[轻量 CLI 工具] B --> D[API 服务化] B --> E[嵌入式边缘] C --> C1["faster-whisper
    pip install faster-whisper
    whisperx --model tiny"] D --> D1["Whisper API Server
    - OpenAI-compatible /v1/audio/transcriptions
    - 使用 whisper.cpp + REST wrapper"] E --> E1["Android/iOS SDK
    - silero-whisper
    - Core ML 转换版"] style C1 fill:#4CAF50,stroke:#388E3C style D1 fill:#2196F3,stroke:#1976D2 style E1 fill:#FF9800,stroke:#EF6C00

    五、工程实践层:绕过 Ollama 的合规集成方案

    1. GGUF 转译(谨慎推荐):使用 whisper.cppconvert-pt-to-ggml.py 脚本将 openai/whisper-tiny 转为 GGML,再用 quantize 工具生成 GGUF;但注意:Ollama 仍无法直接 load,需自行封装为 Modelfileollama create —— 此过程需重写 FROM 基础镜像为 scratch 并挂载 whisper.cpp 二进制,已超出 Ollama 设计范畴;
    2. 统一 API 网关:在本地启动 faster-whisper 服务(uvicorn server:app --host 0.0.0.0:8001),通过 Nginx 反向代理至 /v1/audio/transcriptions,使前端调用方式与 OpenAI API 一致,实现“伪 Ollama 集成”;
    3. LLM+ASR 协同架构:用 Ollama 运行 llama3:8b 处理文本后处理(如标点修复、方言转写),Whisper 专注语音解码,二者通过 Redis Queue 解耦——此模式已被多家智能客服厂商验证。

    六、前瞻层:Ollama 生态演进的关键观察点

    根据 GitHub Issue #4287PR #5120,Ollama 团队已在实验 multi-task adapter 支持,未来可能通过 adapter: whisper-v3 方式扩展非 LLM 任务。但截至 2024 年 Q3,其核心仍是 LLM-first,ASR 支持需等待 ollama serve 的插件化推理后端(类似 Triton Inference Server 的 backend 插件机制)落地。

    ```
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 3月8日
  • 创建了问题 3月7日