Spring AI(9) :解决阿里百炼平台兼容性问题 📅 2026/8/5 8:00:13 本章代码已分享至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以解决低版本问题此步骤略。