news 2026/2/26 11:57:26

轻松入门SpringAI-SpringAI调用Ollama

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
轻松入门SpringAI-SpringAI调用Ollama

轻松入门 Spring AI 调用 Ollama
(2025-2026 最新最实用写法)

目前使用 Spring AI + Ollama 最推荐的几种组合方式(按推荐顺序):

排名方式优点缺点/限制适合场景推荐度
1Spring AI Ollama ChatClient配置最少、写法最自然、生态最好需要 Ollama 已经在运行绝大多数日常开发★★★★★
2使用 OllamaChatModel 手动创建更灵活,可精细控制参数代码稍微多一点需要特殊参数或实验★★★★
3AiServices + Ollama适合做工具调用/结构化输出/Agent学习曲线稍高中高级用法★★★★
4直接用 Ollama Java 官方客户端不依赖 Spring AI,完全独立失去 Spring AI 所有高级抽象极致轻量/非 Spring 项目★★

最推荐写法(99% 场景都够用)

1. 依赖(使用最新稳定版)
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId><version>1.0.0-M6 或 1.0.0.RELEASE(看你用的 spring boot 版本)</version></dependency><!-- 如果你用的是快照版或 milestone,可能需要添加仓库 -->
2. application.yml 最简配置
spring:ai:ollama:base-url:http://localhost:11434# 默认就是这个,几乎不用改chat:options:model:qwen2.5:7b-instruct# ← 改这里就切换模型# 常用推荐模型(2026年初):# qwen2.5:7b-instruct# deepseek-r1:7b# llama3.2:3b# phi4:14b# gemma2:9btemperature:0.75top-p:0.9max-tokens:4096
3. 最常用代码模板(ChatClient 方式)
@RestController@RequestMapping("/ollama")@RequiredArgsConstructorpublicclassOllamaSimpleController{privatefinalChatClientchatClient;// Spring AI 自动注入// 1. 普通调用@GetMapping("/chat")publicStringsimpleChat(@RequestParamStringmsg){returnchatClient.prompt().user(msg).call().content();}// 2. 流式输出(前端打字机效果)@GetMapping(value="/stream",produces=MediaType.TEXT_EVENT_STREAM_VALUE)publicFlux<String>streamChat(@RequestParamStringmsg){returnchatClient.prompt().user(msg).stream().content();}// 3. 带系统提示 + 记忆(最实用组合)privatefinalChatMemorychatMemory=newMessageWindowChatMemory(10);@GetMapping("/memory")publicStringchatWithMemory(@RequestParamStringsessionId,@RequestParamStringmessage){returnchatClient.prompt().system(""" 你是一位说话很幽默、接地气、喜欢用表情的资深程序员 用中文回答,尽量使用 markdown 格式 """).user(message).advisors(MessageChatMemoryAdvisor.builder().chatMemory(chatMemory).sessionId(sessionId).build()).call().content();}}

快速上手检查清单(按顺序做)

步骤命令/操作预期结果
  1. 安装并启动 Ollama |ollama serve| 看到 http://localhost:11434
  2. 拉取一个常用模型 |ollama pull qwen2.5:7b-instruct| 模型下载完成
  3. 命令行简单测试 |ollama run qwen2.5:7b-instruct| 可以正常对话
  4. 启动 Spring Boot 项目 | 正常启动 | 无报错
  5. 浏览器访问 |/ollama/chat?msg=你好啊| 得到中文回答
  6. 测试流式 |/ollama/stream?msg=讲个程序员笑话| 看到逐字出现效果

常见问题速查表(2026年初常见坑)

问题原因解决方案
连接超时/拒绝连接Ollama 没启动先运行ollama serve
模型找不到模型名写错了ollama list查看已下载模型名
中文回答很差/乱码用了不擅长中文的模型换 qwen2.5 / deepseek-r1 / glm4 等
流式输出不工作模型本身不支持 streaming部分小模型不支持,换大一点的模型
显存爆了/启动很慢模型太大,显卡不够换 3b/7b 量级模型,或加--num-gpu 0只用 CPU

一句话总结目前(2026年1月)最舒服的本地组合:

Spring Boot 3.3.x + Spring AI 1.0.x + Ollama + qwen2.5:7b-instruct 或 deepseek-r1:7b + ChatClient 流式 + 记忆 + 系统提示

祝你本地玩得开心,早日做出自己的小 AI 玩具~ 🚀

需要我帮你把某个特定模型(比如 deepseek-r1 / phi4 / gemma2)的配置和表现做更详细对比吗?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/20 13:49:06

轻松入门SpringAI-Spring AI的其他模型

轻松入门 Spring AI 其他主流模型接入指南 &#xff08;2026年1月 常用模型速览 推荐配置方式&#xff09; 目前 Spring AI 支持/兼容的模型非常多&#xff0c;以下是2026年初国内开发者最常实际使用的几类模型&#xff0c;按照“上手难度 性价比 中文能力”综合排序&…

作者头像 李华
网站建设 2026/2/20 17:03:53

Mysql调优-------执行计划

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、执行计划二、参数说明总结前言 学习了mysql调优及其相关 一、执行计划 二、参数说明 id:有几个查询&#xff0c;有一个就加一&#xff1b;MySQL查询优化器…

作者头像 李华
网站建设 2026/2/24 7:12:29

hotspot中的Java类对象如何保存虚函数

hotspot中的Java类对象如何保存虚函数 定义 在Java中,几乎所有可被继承的函数被称为虚函数。 In HotSpot, a virtual method is essentially:Any non-static, non-private, non-final instance method whose invocation target is determined at runtime based on the actual…

作者头像 李华
网站建设 2026/2/20 3:41:50

如何配置Dev-C++使用特定的编译器版本?

在 Dev-C 中配置特定编译器版本需要手动操作&#xff0c;以下是详细步骤&#xff1a;1. 安装目标编译器版本下载所需版本的编译器&#xff08;如 MinGW 的特定 GCC 版本&#xff09;解压至独立目录&#xff08;例如&#xff1a;D:\MinGW-13.1&#xff09;2. 配置 Dev-C打开工具…

作者头像 李华
网站建设 2026/2/24 17:22:40

为什么大厂都在做智能运维AI平台?AI应用架构师解析背后的商业逻辑

为什么大厂都在做智能运维AI平台&#xff1f;AI应用架构师解析背后的商业逻辑 引言&#xff1a;一场运维故障引发的思考 2023年双11凌晨&#xff0c;某头部电商平台的支付系统突然宕机12分钟。尽管技术团队紧急修复&#xff0c;但这场故障仍导致&#xff1a; 直接交易损失超2亿…

作者头像 李华
网站建设 2026/2/25 16:42:02

YOLO26 改进 - 注意力机制 | 空间增强注意力SEAM(Spatially Enhanced Attention Module)提升遮挡场景检测鲁棒性

前言 本文介绍了分离与增强注意力模块&#xff08;SEAM&#xff09;在YOLO26中的结合应用。SEAM模块旨在增强面部特征学习能力&#xff0c;特别是处理面部遮挡问题。它采用多头注意力机制强调面部区域、抑制背景区域&#xff0c;第一部分使用深度可分离卷积减少参数并学习通道…

作者头像 李华