[HELP?]: 1.180.0 llama server failed to start

该报错通常出现在 AnythingLLM Desktop 从旧引擎切换到新 llama.cpp 引擎后,在发送第一条聊天消息、引擎进程加载模型阶段直接退出时。优先排查 Microsoft Visual C++ 运行时是否缺失或未安装完整,以及后端日志中是否有 DLL 或 onnxruntime 模块

快速结论:该报错通常出现在 AnythingLLM Desktop 从旧引擎切换到新 llama.cpp 引擎后,在发送第一条聊天消息、引擎进程加载模型阶段直接退出时。优先排查 Microsoft Visual C++ 运行时是否缺失或未安装完整,以及后端日志中是否有 DLL 或 onnxruntime 模块加载失败之类的线索。

适用环境:AnythingLLM Desktop 1.18.0(Issue 中用户误写为 1.180.0);Windows 11 Pro,Intel 平台,64GB 内存;运行于 Hyper-V 虚拟机,主机为双 Xeon Silver CPU;已关闭 Hyper-V 处理器兼容性模式(该设置会隐藏 AVX/AVX2)。

最快修复方案:暂无确认的一步修复方案。Issue 中维护者建议优先尝试手动安装最新 Microsoft Visual C++ Redistributable(x64)并重启虚拟机;维护者同时说明已在 1.19.0 修复“VC++ Redist 自动安装未真正执行”的问题。

注意事项:该问题截至关闭时未获得用户最终确认,结论属于“可能原因”级别。VC++ 方案并非社区已验证成功;若安装后仍失败,需通过后端日志和 llama-server 版本命令进一步定位,而不是反复更换模型。

问题场景

用户在 Windows 11 Pro 上运行 AnythingLLM Desktop,升级到 1.18.0 后按提示切换到新引擎。此后无论下载新模型还是使用默认模型、甚至之前旧引擎能正常工作的模型,只要在聊天框输入消息,就会收到 llama server 启动失败的错误。用户环境为 Hyper-V 虚拟机,主机使用双 Xeon Silver CPU,虚拟机内已关闭处理器兼容性模式。

报错原文

[HELP?]: 1.180.0 llama server failed to start
llama-server failed to start
The specified module could not be found ... onnxruntime_binding.node

原因分析

维护者解释,llama-server failed to start 表示引擎进程在加载模型之前就已退出,具体原因会记录在后端日志中,因此单看这条提示无法确定根因。

从用户提供的 backend 日志看,reranker 加载时出现 The specified module could not be found ... onnxruntime_binding.node。维护者据此判断,可能原因是 Microsoft Visual C++ 运行时缺失或未完整安装;新 llama.cpp 引擎依赖该运行时,而旧引擎不依赖它,这可以解释升级前正常、升级后失败的现象。

另有两点背景:其一,1.18.0 中 VC++ Redist 的自动安装可能根本没有执行;其二,Hyper-V 的处理器兼容性模式会隐藏 AVX/AVX2,但用户确认该选项已关闭,因此这不是本例的主要原因。

环境排查

  • 确认 AnythingLLM Desktop 版本是否为 1.18.0,以及是否在升级提示中切换到了新引擎。
  • 确认 Windows 是否已安装最新的 Microsoft Visual C++ Redistributable(x64);若为 Windows on ARM 或 ARM 虚拟机,则应使用 ARM64 版本。
  • 检查 C:\Users\wheels\AppData\Local\Programs\AnythingLLM\vc_redist_install.log 是否存在及其退出码:3010 表示需要重启;该文件在 1.18.0 中缺失,说明自动安装很可能从未运行。
  • 确认 Hyper-V 虚拟机未启用“Migrate to a physical computer with a different processor version”(处理器兼容性模式),避免 AVX/AVX2 被隐藏。
  • 查看 AnythingLLM 存储目录下的 backend 日志,确认引擎退出前是否有 DLL、onnxruntime 或运行时相关报错。

解决步骤

  1. 先复现一次报错,然后从 AnythingLLM 存储目录中取出最新的 backend 日志,确认引擎退出前的具体错误,位置参考 官方存储目录说明。
  2. 检查 vc_redist_install.log 的退出码。若文件不存在,说明 1.18.0 的 VC++ 自动安装很可能没有执行;若退出码为 3010,则需要重启。
  3. 手动下载并安装最新的 Visual C++ Redistributable(x64):https://aka.ms/vs/17/release/vc_redist.x64.exe;ARM 环境改用 ARM64 版本。
  4. 重启虚拟机,再重新加载模型并发送一条聊天消息测试。
  5. 若仍然失败,在终端运行以下命令,记录输出或弹窗内容:
    & "$env:APPDATA\anythingllm-desktop\storage\engines\llamacpp\cpu\llama-server.exe" --version
  6. 同时在 Hyper-V 中确认处理器兼容性模式保持关闭;如有需要,关机后修改再启动。

验证方法

重启虚拟机后,在 AnythingLLM 中重新选择并加载模型,发送一条聊天消息。若不再出现 llama-server failed to start 且模型能正常回复,说明问题已缓解。若仍报错,则以最新 backend 日志和 llama-server.exe --version 的输出为准继续排查,而不要仅凭提示文字判断。

参考来源

Mintplex-Labs/anything-llm #6837

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 30450

发表回复

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