问题描述

在进行AI应用开发时,引入了langchain4j-community-dashscope包:

<dependency>
	<groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-community-dashscope</artifactId>
    <version>1.3.0-beta9</version>
</dependency>

此时,langchain4j-community-dashscope包中dashscope-sdk-java的版本是2.21.1.
在这里插入图片描述

当我们将AI应用作为微服务,引入Spring-Cloud-Alibaba:2023.0.1.0:

<dependency>
	<groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2023.0.1.0</version>
</dependency>

系统在执行到大模型调用时报错:

Caused by: java.lang.NoSuchMethodError: 'com.alibaba.dashscope.aigc.generation.GenerationParam$GenerationParamBuilder com.alibaba.dashscope.aigc.generation.GenerationParam$GenerationParamBuilder.searchOptions(com.alibaba.dashscope.aigc.generation.SearchOptions)'
	at dev.langchain4j.community.model.dashscope.QwenHelper.toGenerationParam(QwenHelper.java:750) ~[langchain4j-community-dashscope-1.3.0-beta9.jar:na]
	at dev.langchain4j.community.model.dashscope.QwenChatModel.generateByNonMultimodalModel(QwenChatModel.java:132) ~[langchain4j-community-dashscope-1.3.0-beta9.jar:na]
	at dev.langchain4j.community.model.dashscope.QwenChatModel.doChat(QwenChatModel.java:158) ~[langchain4j-community-dashscope-1.3.0-beta9.jar:na]
	at dev.langchain4j.model.chat.ChatModel.chat(ChatModel.java:46) ~[langchain4j-core-1.3.0.jar:na]
	at dev.langchain4j.model.chat.ChatModel.chat(ChatModel.java:76) ~[langchain4j-core-1.3.0.jar:na]
	at cn.daydayup.dev.manus.core.node.ChapterAnalyseNode.apply(ChapterAnalyseNode.java:58) ~[classes/:na]
	at cn.daydayup.dev.manus.core.node.ChapterAnalyseNode.apply(ChapterAnalyseNode.java:27) ~[classes/:na]
	at org.bsc.langgraph4j.action.AsyncNodeAction.lambda$node_async$0(AsyncNodeAction.java:36) ~[langgraph4j-core-1.6.2.jar:na]
	at org.bsc.langgraph4j.action.AsyncNodeActionWithConfig.lambda$of$1(AsyncNodeActionWithConfig.java:53) ~[langgraph4j-core-1.6.2.jar:na]
	at org.bsc.langgraph4j.CompiledGraph$AsyncNodeGenerator.evaluateAction(CompiledGraph.java:721) ~[langgraph4j-core-1.6.2.jar:na]
	at org.bsc.langgraph4j.CompiledGraph$AsyncNodeGenerator.next(CompiledGraph.java:863) ~[langgraph4j-core-1.6.2.jar:na]
	at org.bsc.async.AsyncGenerator$WithEmbed.next(AsyncGenerator.java:127) ~[async-generator-3.2.2.jar:na]
	at org.bsc.async.AsyncGeneratorOperators.forEachAsync(AsyncGeneratorOperators.java:86) ~[async-generator-3.2.2.jar:na]

问题定位

引入的Spring-Cloud-Alibaba:2023.0.1.0后,发现langchain4j-community-dashscope中dashscope-sdk-java版本变成了2.12.0。
在这里插入图片描述
因此,可以确定是因为引入spring-cloud-alibaba-dependencies:2023.0.1.0导致的,原因是该版本开始引入了spring-ai的相关依赖:
在这里插入图片描述
同时,我们可以发现在spring-cloud-alibaba:2023.0.1.x版本中均存在特定版本的dashscope-sdk-java:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决方法

在最新的2023.0.3.x版本中已经没有了spring-ai相关的依赖了,因此我们升级一下spring-cloud-alibaba-dependencies的版本:

<dependency>
	<groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2023.0.3.3</version>
</dependency>

升级后,langchain4j-community-dashscope中dashscope-sdk-java版本就变正常了。
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐