快速结论:该报错通常发生在本地 Ollama 环境未配置任何云凭据的情况下,Ollama 调用 /api/embed 或 /api/generate 时返回 401 认证错误。优先排查系统环境变量中是否存在 LLAMA_API_KEY 或 OLLAMA_NEW_ENGINE 残留值。
适用环境:Windows 10 (19045.6466),Ollama 0.32.14(通过 winget 安装),未配置 Ollama Cloud 登录、OLLAMA_API_KEY 及反向代理。
最快修复方案:清除用户级与系统级环境变量中的 LLAMA_API_KEY 和 OLLAMA_NEW_ENGINE(设置为 $null),重启 Ollama 服务后即可恢复。
注意事项:该方案基于 Issue 评论中的验证结果,但其后续完整日志未公布,属于“已确认可恢复”的处理方式;如果清除后仍然报错,需检查其他第三方环境变量注入或 Ollama 版本升级残留配置。
问题场景
用户在本机安装 Ollama 0.32.14(winget 安装),未登录 Ollama Cloud、未设置 OLLAMA_API_KEY、无反向代理。在调用本地嵌入模型(如 nomic-embed-text-v2-moe)、命令行 ollama run qwen3.5:0.8b 或通过 curl 请求 /api/embed 时,均返回 500 错误,错误体为“tokenize error”并嵌套 401 认证异常。该错误与模型无关(在 3 个不同模型上复现),且与客户端无关(原生 curl 同样触发)。
报错原文
{"error":"tokenize error: {\"error\":{\"message\":\"Invalid API Key\",\"type\":\"authentication_error\",\"code\":401}}"}
Error: 500 Internal Server Error: tokenize error: {"error":{"message":"Invalid API Key","type":"authentication_error","code":401}}
原因分析
该错误的 JSON 结构("type":"authentication_error","code":401)与 llama-server 原生的纯文本 Unauthorized: Invalid API Key 输出不一致,说明认证异常可能由请求路径中的其他组件包装后通过 Ollama 的“tokenize error:”前缀返回。根据 Issue 评论中的排查线索,可能原因是系统或用户环境变量中存在 LLAMA_API_KEY 或 OLLAMA_NEW_ENGINE 的残留值,导致 Ollama 在 tokenize 阶段错误地尝试进行云 API 认证。用户最初忽略了这两个变量,直到评论者提醒后才通过 CMD 的 set | findstr LLAMA 发现。
环境排查
- 检查 PowerShell 或 CMD 中
LLAMA_API_KEY环境变量(用户级和系统级)。 - 检查
OLLAMA_NEW_ENGINE环境变量(用户级和系统级)。 - 确认
OLLAMA_API_KEY是否已彻底清除(用户与机器作用域)。 - 确认
~/.ollama/id_ed25519是否存在(虽然 Issue 中删除后错误未变,但建议检查残留备份)。 - 确认当前 Ollama 版本是否为 0.32.14,以及升级前是否使用过其他 API Key 配置。
解决步骤
- 打开 PowerShell 或 CMD,运行
set | findstr LLAMA,确认是否存在LLAMA_API_KEY或其他包含 LLAMA 的变量。 - 如果存在,执行以下命令清除用户级和系统级变量(需要管理员权限):
[Environment]::SetEnvironmentVariable("LLAMA_API_KEY", $null, "User")[Environment]::SetEnvironmentVariable("OLLAMA_NEW_ENGINE", $null, "User")[Environment]::SetEnvironmentVariable("LLAMA_API_KEY", $null, "Machine")[Environment]::SetEnvironmentVariable("OLLAMA_NEW_ENGINE", $null, "Machine")- 重启 Ollama 服务(任务管理器结束 ollama.exe 进程后重新启动,或使用
ollama stop后重启)。 - 重新尝试
ollama run qwen3.5:0.8b或 curl 请求 /api/embed 验证。
验证方法
清除变量并重启服务后,使用同一型号重新执行 curl http://127.0.0.1:11434/api/embed -d '{"model":"nomic-embed-text-v2-moe","input":"test"}',如果返回正常的嵌入向量 JSON(不再包含 "error" 字段),说明问题已解决。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


