使用Langchian4j框架让模型调用Tool报错:Tools are currently not supported by this model 问题解决
我用的langchain4j版本是
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-spring-boot-starter</artifactId><version>0.34.0</version></dependency>
问题的原因,我用的是qwen的ChatLanguageModel实现,看源码发现qwen没有对这个方法做实现,导致了报错。
default Response<AiMessage> generate(List<ChatMessage> messages, List<ToolSpecification> toolSpecifications) {}
解决方法
可以发现OpenAiChatModel对这个方法做了实现,因此我们直接讲LLM实现类替换成openAi,就解决了
static ChatLanguageModel aimodel = OpenAiChatModel.builder().baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1").apiKey("sk-").modelName("qwen-max").temperature(0.1).topP(0.1).build();
再次运行可以看到调用工具并输出结果