Spring AI(9) :解决阿里百炼平台兼容性问题
本章代码已分享至Gitee:https://gitee.com/lengcz/ai-study.git文章目录阿里百炼平台兼容问题 关于 AlibabaOpenAiChatModel✅ 官方推荐方案⚠️ 版本注意事项升级依赖版本(推荐)测试智能客服重写OpenAiChatModel阿里百炼平台兼容问题 关于AlibabaOpenAiChatModel这个类名并非Spring AI Alibaba 官方标准库中的一部分。它更可能是早期版本如 1.0.0-M6 及更早中开发者为了临时解决通义千问流式输出与 OpenAI 协议兼容性问题而自定义的适配类。✅ 官方推荐方案从1.0.0-M7版本开始官方已原生解决了协议兼容性问题。现在接入通义千问模型应根据使用场景选择以下官方标准类场景推荐使用的官方标准类说明直接使用阿里云通义模型DashScopeChatModel这是 Spring AI Alibaba 为阿里云 DashScope 平台提供的原生实现功能最完整。通过 OpenAI 兼容协议接入OpenAiChatModel如果习惯用 OpenAI 的 API 风格或需要接入 DeepSeek 等第三方模型可通过配置base-url指向百炼的 OpenAI 兼容端点来使用。⚠️ 版本注意事项版本差异早期教程可能基于1.0.0-M6等旧版本。请务必以官方最新文档为准。依赖管理确保使用了正确版本的 Spring AI Alibaba BOMBill of Materials来管理依赖版本避免版本冲突。配置方式无论使用哪种ChatModel都需要在application.yml中正确配置api-key和base-url等关键参数。升级依赖版本(推荐)?xml version1.0 encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.4.13/versionrelativePath/!-- lookup parent from repository --/parentgroupIdcom.lengcz/groupIdartifactIdai-study/artifactIdversion0.0.1-SNAPSHOT/versionnameai-study/namedescriptionai study/descriptionurl/licenseslicense//licensesdevelopersdeveloper//developersscmconnection/developerConnection/tag/url//scmpropertiesjava.version17/java.versionspring-ai.version1.0.0-M7/spring-ai.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-ollama-spring-boot-starter/artifactId version1.0.0-M7/version /dependency--!--1.0.0-M6 及以下使用这个,但是存在与openai兼容问题不推荐ndash;gt; dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-openai-spring-boot-starter/artifactId /dependency--dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-starter-model-ollama/artifactId/dependencydependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-starter-model-openai/artifactIdversion1.0.0-M7/version/dependencydependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactId/dependency!--建议不用使用自带的lombok而是由自己指定版本--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.22/version/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-spring-boot3-starter/artifactIdversion3.5.10.1/version/dependencydependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2/artifactIdversion2.0.57/version/dependency/dependenciesdependencyManagementdependenciesdependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-bom/artifactIdversion${spring-ai.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project测试智能客服将客服接口改为stream流的方式RequestMapping(value/service,producestext/html;charsetutf-8;)publicFluxStringservice(Stringprompt,StringchatId){//1.保存会话idchatHistoryRepository.save(service,chatId);//2.请求模型returnserviceChatClient.prompt().user(prompt).advisors(a-a.param(CHAT_MEMORY_CONVERSATION_ID_KEY,chatId)).stream()//阿里百炼虽然是支持openai接口规范但实际调用时必须使用call()方法不能使用stream()方法.content();//stream() 表示流式输出}启动服务器测试重写OpenAiChatModel复制OpenAiChatModel新增AlibabaOpenAiChatModel以解决低版本问题此步骤略。

相关新闻

KVM虚拟化环境部署:从硬件支持到内核模块的完整验证指南

KVM虚拟化环境部署:从硬件支持到内核模块的完整验证指南

1. 从一次部署失败说起:为什么检查KVM支持是第一步 最近在给一台老服务器部署基于KVM的虚拟化环境,系统装好,软件包也齐了,信心满满地敲下 virt-install 命令,结果迎面而来的是一盆冷水:“ERROR 内部错误…

2026/11/12 17:08:49 阅读更多 →
CSP-S 2019 括号树 题解

CSP-S 2019 括号树 题解

这道题我准备按照考场上的思路从50分到100分写题解 开干! 50分的特例 当我们浏览完数据时,我们会发现有一个特殊性质:Fii-1。这就意味着这棵树退化为了一条链。这时,这道题就变成了一道DP模版题:括号匹配。&#xff08…

2026/11/13 17:20:04 阅读更多 →
教模型记笔记:为什么有一类 skill 模型再聪明也替代不了

教模型记笔记:为什么有一类 skill 模型再聪明也替代不了

能力增长会消灭很多 skill:那些教模型"怎么想"的,模型自己会想了,就该拆。但它消灭不了教模型"你这里是什么样"的那一类——私有格式、内部约定、只有你知道的输入长相。模型可以无限聪明,但它猜不到你没告诉…

2026/11/12 17:08:54 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻