阿里通义千问API(Java)使用教程,基于Springboot后端
创始人
2024-12-18 05:33:54
0

目录

一、先申请key

1.1 登录阿里云官网并搜索模型服务灵积,开通key

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

​编辑

1.3 创建key

二、导入依赖坐标

2.1 导入以下俩个坐标

2.2 编写Controller层 

 2.3 Servic层及实现类

三、测试

3.1 在浏览器中输入后端本地,并请求接口,响应如下


一、先申请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 @Anonymous public 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层及实现类

接口

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;  @Service public 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;  @Slf4j public 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("请问杭州阿里巴巴工作环境咋样?").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 在浏览器中输入后端本地,并请求接口,响应如下

相关内容

热门资讯

6分钟细节!开心十三张外挂,福... 6分钟细节!开心十三张外挂,福建众娱软件到底有没有挂(本来真的是有挂)1、福建众娱软件到底有没有挂透...
如何分辨真伪!财神十三张有吗(... 如何分辨真伪!财神十三张有吗(总是存在有挂)详细透视辅助教程1、用户打开应用后不用登录就可以直接使用...
五分钟攻略!雀友会潮汕麻将老是... 五分钟攻略!雀友会潮汕麻将老是输,微友麻将助赢神器购买真是存在有挂,爆料教程(有挂揭秘)雀友会潮汕麻...
必备科技!中至吉安小程序有没有... 必备科技!中至吉安小程序有没有挂(透视)透视辅助器(2022已更新)(哔哩哔哩);在进入中至吉安小程...
九分钟黑科技!雀神外挂怎么开,... 九分钟黑科技!雀神外挂怎么开,哈灵麻将系统设置猫腻(原来是真的有挂)1、哈灵麻将系统设置猫腻系统规律...
指导大家!熊猫麻将系统规律(真... 指导大家!熊猫麻将系统规律(真是真的有挂)详细辅助教程1、完成熊猫麻将系统规律透视辅助安装,帮助玩家...
5分钟辅助!白金岛跑胡子有没有... 5分钟辅助!白金岛跑胡子有没有挂,经典联盟牛牛一贯真的有挂,教你教程(有挂总结);1、玩家可以在白金...
安装程序教程!财神十三张辅助神... 安装程序教程!财神十三张辅助神器(透视)透明挂透视辅助软件(2025已更新)(哔哩哔哩)1、财神十三...
3分钟攻略!微信小程序三打哈辅... 3分钟攻略!微信小程序三打哈辅助器,旋娱有挂吗(一直真的有挂);微信小程序三打哈辅助器辅助器中分为三...
信息共享!广西跑胡子有挂吗(确... 信息共享!广西跑胡子有挂吗(确实真的有挂)详细透视教程1、广西跑胡子有挂吗系统规律教程、广西跑胡子有...