《Spring AI 实战系列 入门篇》第 6 篇

张开发
2026/4/9 19:01:31 15 分钟阅读

分享文章

《Spring AI 实战系列 入门篇》第 6 篇
目录国产模型集成指南智谱GLM、Ollama本地部署、通义千问兼容模式《Spring AI 实战系列》完整目录 入门篇已完结 · 建议按顺序学习 进阶篇更新中️ 学习路径建议一、为什么要用国产模型1.1 优势对比1.2 Spring AI 1.1.3 国产模型支持情况二、智谱 GLM官方支持2.1 简介2.2 获取 API Key2.3 Maven 依赖2.4 配置2.5 可用模型2.6 代码示例三、Ollama 本地部署官方支持3.1 简介3.2 安装与使用3.3 Maven 依赖3.4 配置3.5 可用模型3.6 代码示例四、通义千问兼容模式4.1 简介4.2 获取 API Key4.3 Maven 依赖4.4 配置4.5 可用模型4.6 代码示例五、多模型切换架构5.1 策略模式实现5.2 使用示例六、系列总结Spring AI 1.1.3 国产模型支持情况汇总完整系列回顾技术栈总结下一步学习计划结语 参考资料 收藏关注持续更新国产模型集成指南智谱GLM、Ollama本地部署、通义千问兼容模式系列说明本文为《Spring AI 实战系列 入门篇》第 6 篇终篇前置知识完成第 1-5 篇预计阅读时间15 分钟⚠️重要说明Spring AI 1.1.3 版本对国产模型的支持程度不一本文会标注每种方式的实际可用性。《Spring AI 实战系列》完整目录 学习不迷路系列持续更新中点击链接直达各篇 入门篇已完结 · 建议按顺序学习篇目标题核心内容第 1 篇✅核心概念与快速上手Model / Prompt / Embedding 第一个项目第 2 篇✅Tool Calling让 AI 调用外部函数Tool声明式 编程式工具定义第 3 篇✅VectorStore RAG构建私有知识库向量数据库集成 文档检索第 4 篇✅结构化输出AI 结果映射为 POJOBeanOutputConverter第 5 篇✅Advisors自定义 AI 中间件拦截器链 对话记忆第 6 篇✅国产模型集成指南通义千问 / 文心一言 / 智谱 GLM 进阶篇更新中篇目标题核心内容进 1✅智能客服系统多轮对话 工具调用 人工兜底进 2✅企业知识库 RAG 管线多格式 ETL 混合检索RRF进 3AI Agent 自主规划ReAct 模式 多工具编排️ 学习路径建议Week 1-3 【入门篇】第1篇 → 第2篇 → 第3篇 → 第4篇 → 第5篇 → 第6篇 └→ 掌握 Spring AI 核心能力 Week 4-6 【进阶篇】智能客服 → 企业RAG → 代码助手 → AI Agent └→ 实战企业级 AI 应用一、为什么要用国产模型1.1 优势对比维度国外模型 (GPT-4)国产模型网络需要科学上网国内直连价格按 token 计费较贵相对便宜/有免费额度中文中文能力一般中文优化更强合规数据出境问题数据境内处理速度受网络影响响应更快1.2 Spring AI 1.1.3 国产模型支持情况┌─────────────────────────────────────────────────────────────┐ │ Spring AI 1.1.3 国产模型支持情况 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ✅ 官方 Starter 支持 │ │ ├── 智谱 GLM (spring-ai-zhipuai) │ │ └── Ollama (spring-ai-ollama) │ │ │ │ ⚠️ 兼容模式需额外配置 │ │ └── 通义千问 (DashScope OpenAI 兼容) │ │ │ │ ❌ 暂无官方支持 │ │ └── 百度文心一言 (可使用 OpenAI 兼容模式) │ │ │ └─────────────────────────────────────────────────────────────┘二、智谱 GLM官方支持2.1 简介智谱 GLMChatGLM是智谱AI开发的开源大模型国产开源标杆。特点说明官方支持Spring AI 1.1.3 内置支持中文优针对中文优化价格有免费额度2.2 获取 API Key访问 https://open.bigmodel.cn/注册并登录在控制台创建 API Key2.3 Maven 依赖!-- 智谱 GLM - 官方 Starter --dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-zhipuai/artifactId/dependency2.4 配置# 智谱 API Key建议使用环境变量 spring.ai.zhipuai.api-key${ZHIPU_API_KEY} # Chat 模型 spring.ai.zhipuai.chat.options.modelglm-4-flash2.5 可用模型模型说明glm-4-flash快速版性价比高 ✅ 推荐glm-4旗舰版能力最强glm-4v多模态支持图片2.6 代码示例RestControllerRequestMapping(/glm)publicclassGlmController{privatefinalChatClientchatClient;publicGlmController(ChatClient.Builderbuilder){this.chatClientbuilder.build();}GetMapping(/chat)publicStringchat(RequestParamStringmessage){returnchatClient.prompt().system(你是一个helpful的AI助手).user(message).call().content();}}三、Ollama 本地部署官方支持3.1 简介Ollama让你在本地运行大模型数据完全私有无需联网。特点说明✅官方支持Spring AI 1.1.3 内置支持隐私数据不离开本地离线无需网络资源需要本地 GPU/CPU3.2 安装与使用# 安装 Ollamacurl-fsSLhttps://ollama.com/install.sh|sh# 下载模型推荐 Qwen2.5ollama pull qwen2.5:7b# 启动服务默认端口 11434ollama serve3.3 Maven 依赖!-- Ollama - 官方 Starter --dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-ollama/artifactId/dependency3.4 配置# Ollama 服务地址 spring.ai.ollama.base-urlhttp://localhost:11434 spring.ai.ollama.chat.options.modelqwen2.5:7b # 可选温度参数 spring.ai.ollama.chat.options.temperature0.73.5 可用模型模型说明qwen2.5:7b推荐中文能力强 ✅llama3Meta 开源模型mistral高效开源模型3.6 代码示例RestControllerRequestMapping(/ollama)publicclassOllamaController{privatefinalChatClientchatClient;publicOllamaController(ChatClient.Builderbuilder){this.chatClientbuilder.build();}GetMapping(/chat)publicStringchat(RequestParamStringmessage){returnchatClient.prompt().user(message).call().content();}}四、通义千问兼容模式4.1 简介通义千问是阿里云自研的大语言模型中文能力强。特点说明⚠️兼容模式通过 OpenAI 兼容接口接入中文强中文理解与生成优秀价格有免费额度4.2 获取 API Key访问 https://dashscope.console.aliyun.com/登录阿里云账号创建 API Key4.3 Maven 依赖使用 OpenAI 兼容模式通过 OpenAI Starter 接入!-- 使用 OpenAI Starter 兼容通义千问 --dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-starter-model-openai/artifactId/dependency4.4 配置通义千问提供 OpenAI 兼容接口配置如下# 使用 OpenAI 配置连接通义千问 spring.ai.openai.api-key${DASHSCOPE_API_KEY} spring.ai.openai.base-urlhttps://dashscope.aliyuncs.com/compatible-mode/v1 # 模型名称使用通义千问模型 spring.ai.openai.chat.options.modelqwen-turbo # 可选配置 spring.ai.openai.chat.options.temperature0.7⚠️注意通义千问的 OpenAI 兼容模式需要开启增强版API在阿里云控制台启用。4.5 可用模型模型说明特点qwen-turbo快速版响应快便宜qwen-plus增强版能力更强qwen-max旗舰版最强能力qwen-vl-plus多模态支持图片4.6 代码示例RestControllerRequestMapping(/qwen)publicclassQwenController{privatefinalChatClientchatClient;publicQwenController(ChatClient.Builderbuilder){this.chatClientbuilder.build();}GetMapping(/chat)publicStringchat(RequestParamStringmessage){returnchatClient.prompt().user(message).call().content();}}五、多模型切换架构5.1 策略模式实现publicinterfaceChatModelProvider{StringgetName();StringgetDescription();ChatClientgetChatClient();}ServicepublicclassMultiModelService{privatefinalMapString,ChatModelProviderprovidersnewHashMap();publicMultiModelService(ListChatModelProviderproviderList){for(ChatModelProviderprovider:providerList){providers.put(provider.getName(),provider);}}publicStringchat(StringproviderName,Stringmessage){ChatModelProviderproviderproviders.get(providerName);if(providernull){thrownewIllegalArgumentException(未知模型: providerName);}returnprovider.getChatClient().prompt().user(message).call().content();}}5.2 使用示例RestControllerRequestMapping(/ai)publicclassMultiModelController{privatefinalMultiModelServicemultiModelService;publicMultiModelController(MultiModelServiceservice){this.multiModelServiceservice;}GetMapping(/chat)publicStringchat(RequestParamStringmessage,RequestParam(defaultValueglm)Stringmodel){returnmultiModelService.chat(model,message);}}六、系列总结Spring AI 1.1.3 国产模型支持情况汇总模型支持方式推荐程度智谱 GLM官方 Starter⭐⭐⭐⭐⭐Ollama官方 Starter⭐⭐⭐⭐⭐通义千问OpenAI 兼容⭐⭐⭐⭐百度文心需自行实现⭐⭐完整系列回顾恭喜你已完成《Spring AI 实战系列 入门篇》全部 6 篇篇目标题核心内容第 1 篇 ✅核心概念与快速上手Model / Prompt / Embedding第 2 篇 ✅Tool CallingTool 注解、工具调用第 3 篇 ✅VectorStore RAG向量数据库、私有知识库第 4 篇 ✅结构化输出BeanOutputConverter第 5 篇 ✅Advisors中间件、自定义拦截器第 6 篇✅国产模型集成智谱/Ollama/通义千问兼容进阶篇已更新篇目标题核心内容进 1 ✅智能客服系统多轮对话 工具调用 人工兜底进 2 ✅企业知识库 RAG 管线多格式 ETL 混合检索RRF进 3 AI Agent 自主规划ReAct 模式 多工具编排技术栈总结Spring AI ├── Model Providers (官方支持) │ ├── OpenAI (GPT-4/3.5) │ ├── Anthropic (Claude) │ ├── 智谱 GLM ⭐ (spring-ai-zhipuai) │ └── Ollama ⭐ (spring-ai-ollama) │ ├── 兼容模式 │ └── 通义千问 (DashScope OpenAI 兼容) │ └── Core APIs ├── ChatClient ├── EmbeddingModel ├── VectorStore └── Tool Calling下一步学习计划理论要结合实践下一步将使用 Spring AI 去实现 AI 智能客服、企业知识库、AI 代码助手的核心功能后面应该会考虑使用 langchain4j 或者其他集成框架去优化完善这些项目。结语AI 的内核是数学家和算法工程师的战场但 AI 的应用是每个开发者的机会。你不需要懂算法、懂微调但你需要知道怎么用。会用就是竞争力愿每一位仍在 Java 赛道深耕逐梦的开发者都能得偿所愿与诸君共勉 参考资料Spring AI 官方文档https://docs.spring.io/spring-ai/reference/智谱 AIhttps://open.bigmodel.cn/阿里云通义千问https://dashscope.console.aliyun.com/Ollamahttps://ollama.com/引用说明本文核心概念与技术描述参考自 Spring AI 官方文档https://docs.spring.io/spring-ai/reference/模型信息来自智谱 AI、阿里云通义千问、Ollama 各官方平台公开资料。 收藏关注持续更新如果觉得有帮助请⭐收藏本文—— 方便后续查阅随时回顾核心概念关注公众号「AI日撰」—— 点击菜单「获取源码」获取完整代码Gitee 仓库分享给同事—— 一起学习 Spring AI少走弯路系列更新不迷路下篇推荐进阶篇 · 智能客服系统

更多文章