1. 问题现象与背景解析
最近在尝试使用Spring AI框架调用本地部署的Ollama大模型时,遇到了一个典型的404错误:"org.springframework.ai.retry.NonTransientAiException: 404 - {"error":"model 'mistral' not found"}"。这个错误看似简单,但实际上涉及到了本地模型部署、Spring AI框架配置以及模型调用流程等多个技术环节的协同工作。
1.1 错误信息的深层含义
这个异常表面上是说找不到名为'mistral'的模型,但背后可能隐藏着多种情况:
- 模型未正确下载:Ollama虽然支持Mistral模型,但需要显式执行下载命令才会将模型文件保存到本地
- 模型名称拼写错误:Ollama对模型名称大小写敏感,且不同版本的命名规范可能不同
- 服务未正确启动:Ollama服务可能没有正常运行,导致模型列表无法获取
- 端口配置错误:Spring AI客户端连接的Ollama服务地址与实际运行地址不匹配
提示:NonTransientAiException表示这是一个非临时性异常,意味着简单的重试无法解决问题,必须修正配置或环境问题。
1.2 技术栈背景说明
要彻底解决这个问题,我们需要理解涉及到的几个关键技术组件:
- Ollama:一个开源的本地大模型运行框架,支持多种开源模型如Llama、Mistral等。它提供了REST API供客户端调用。
- Spring AI:Spring生态中用于集成AI能力的框架,封装了多种AI服务的客户端实现,包括对Ollama的支持。
- Mistral:一个性能优异的开源大语言模型,7B参数版本可以在消费级GPU上流畅运行。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 完整解决方案与实施步骤
2.1 验证Ollama模型可用性
首先需要确保Ollama本地服务确实拥有所需的Mistral模型:
bash复制# 查看已安装的模型列表
ollama list
# 如果列表中没有mistral,需要先拉取模型
ollama pull mistral
# 启动模型服务(默认端口11434)
ollama run mistral
如
