清华主页 - 清华新闻 - 综合时讯 - 正文

阿里通义千问API(Java)基于Springboot后端使用教程

一、先申请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;要求界面,响应如下。

 。

 。

 。

 。

 。

 。

 。

 。

 。

 。 。

2025-06-24 11:56:52

相关新闻

清华大学新闻中心版权所有,清华大学新闻网编辑部维护,电子信箱: news@tsinghua.edu.cn
Copyright 2001-2020 news.tsinghua.edu.cn. All rights reserved.