一、先申请key。
1.1 登录阿里云官网,搜索模型服务灵积,打开key。

1.2 点击上图中的控制台并进入。

1.3 创建key。

二、引入依赖坐标。
2.1 导入以下两个坐标。
com.alibaba dashscope-sdk-java org.slf4j slf4j-simple 2.8.3
com.squareup.okhttp3 okhttp 4.10.0
2.2 编写Controller 。
controller层没有将前端请求数据传输到api中的参数,有需要的话可以自己加,在这里,使用浏览器测试是否返回数据。
import com.alibaba.dashscope.aigc.generation.GenerationResult;import com.alibaba.dashscope.exception.InputRequiredException;import com.alibaba.dashscope.exception.NoApiKeyException;import com.ruoyi.aliyunchat.service.ChatService;import com.ruoyi.common.annotation.Anonymous;import com.ruoyi.pojo.Result;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@Slf4j@RestController@Anonymouspublic class ChatController { @Autowired private ChatService chatService; @RequestMapping("/chat") public Result chatAi() throws NoApiKeyException, InputRequiredException { GenerationResult generationResult = chatService.chatAi(); return Result.success(generationResult); }}。
2.3 Servic层及实现类。
2.3 Servic层及实现类。
界面。
import com.alibaba.dashscope.aigc.generation.GenerationResult;import com.alibaba.dashscope.exception.InputRequiredException;import com.alibaba.dashscope.exception.NoApiKeyException;public interface ChatService { GenerationResult chatAi() throws NoApiKeyException, InputRequiredException;}。
实现类。
import com.alibaba.dashscope.aigc.generation.GenerationResult;import com.alibaba.dashscope.exception.InputRequiredException;import com.alibaba.dashscope.exception.NoApiKeyException;import com.ruoyi.aliyunchat.aliqianwen.QianWenChat;import com.ruoyi.aliyunchat.service.ChatService;import org.springframework.stereotype.Service;@Servicepublic class ChatServiceImpl implements ChatService { @Override public GenerationResult chatAi() throws NoApiKeyException, InputRequiredException { return QianWenChat.callWithMessage(); }}。
然后是官网上的Demo,我们在这里封装一下。
import com.alibaba.dashscope.aigc.generation.Generation;import com.alibaba.dashscope.aigc.generation.GenerationResult;import com.alibaba.dashscope.aigc.generation.models.QwenParam;import com.alibaba.dashscope.common.Message;import com.alibaba.dashscope.common.MessageManager;import com.alibaba.dashscope.common.Role;import com.alibaba.dashscope.exception.ApiException;import com.alibaba.dashscope.exception.InputRequiredException;import com.alibaba.dashscope.exception.NoApiKeyException;import com.alibaba.dashscope.utils.Constants;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class QianWenChat { public static GenerationResult callWithMessage() throws NoApiKeyException, ApiException, InputRequiredException { Constants.apiKey="你的key"; Generation gen = new Generation(); MessageManager msgManager = new MessageManager(10); Message systemMsg = Message.builder().role(Role.SYSTEM.getValue()).content("You are a helpful assistant.").build(); Message userMsg = Message.builder().role(Role.USER.getValue()).content("杭州阿里巴巴的工作环境如何?#xff1f;").build(); msgManager.add(systemMsg); msgManager.add(userMsg); QwenParam param = QwenParam.builder().model(Generation.Models.QWEN_TURBO).messages(msgManager.get()) .resultFormat(QwenParam.ResultFormat.MESSAGE) .topP(0.8) .enableSearch(true) .build(); GenerationResult result = gen.call(param); log.info("千问api回答的话是:{ }",result); System.out.println(result); return result; }}。
三、测试。

三、测试。
3.1 输入后端本地ÿ在浏览器中c;要求界面,响应如下。
。
。
。
。
。
。
。
。
。
。 。