自学内容网 自学内容网

【JAVA高级篇教学】第一篇:Springboot对接通义千问大模型

博主今天打算讲解下Java如何对接阿里云的通义千问大模型,可以自己玩玩ai问答之类的!

目录

一、发展历程

二、API-KEY的获取与配置

三、引用SDK

四、文本模型

1.代码

2.返回数据

3.官方代码案例

五、通义千问VL

 1.计量计费

六、查看API-KEY调用额度

七、其他模型


一、发展历程

  • 2019 年起,阿里巴巴集团开始进行大模型研究
  • 2023 年 4 月 7 日,阿里云宣布 “通义千问” 开始邀请测试,此次测试主要面向企业用户1.
  • 2023 年 4 月 11 日,在阿里云峰会上正式发布,阿里巴巴所有产品未来将接入 “通义千问” 大模型
  • 2023 年 8 月 3 日,通义千问旗下 70 亿参数通用模型 qwen-7b 和对话模型 qwen-7b-chat 上架魔搭,并且两款模型均开源、免费、可商用
  • 2023 年 9 月 13 日,通义千问大模型首批通过备案,正式向公众开放
  • 2023 年 10 月 31 日,阿里云在 2023 云栖大会上正式升级发布通义千问 2.0,模型参数达到了千亿级别
  • 2024 年 6 月 7 日,阿里通义千问 qwen2 大模型发布,并在 huggingface 和 modelscope 上同步开源
  • 2024 年 9 月中旬,通义千问开源模型累计下载量已突破 4000 万,Qwen 系列衍生模型总数超过 5 万个
  • 2024 年 9 月 20 日 ,阿里云 CTO 周靖人发布了通义千问新一代开源模型 Qwen2.5,涵盖多个尺寸的大语言模型、多模态模型、数学模型和代码模型

二、API-KEY的获取与配置

在对接通义千问大模型前,我们需要开通下服务和设置下API-KEY,这些都是免费的。

如何获取通义千问API的KEY_模型服务灵积(DashScope)-阿里云帮助中心

不过因为阿里云的模型升级,现在点击开通服务,直接跳转到了阿里云百炼。

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

如何设置API-KEY?

三、引用SDK

<!-- https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dashscope-sdk-java</artifactId>
    <version>2.16.5</version>
</dependency>

依赖版本地址:https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java

大家可以根据自己需求来做调整!

四、文本模型

1.代码

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;

/**
 * @author caozhen
 * @ClassName AliTongYiQianWen
 * @description: 阿里-通义千问
 * @date 2024年01月22日
 * @version: 1.0
 */
@Slf4j
public class AliTongYiQianWen {

    public static String simpleMultiModalConversationCall(String question)
            throws ApiException, NoApiKeyException, InputRequiredException {
        Constants.apiKey = "sk-da8cxxxxxxxxxxxxxxxxxx";//这里填写自己申请的APIKEY
        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(question).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);
        String str = result.getOutput().getChoices().get(0).getMessage().getContent();
        log.info("通义千问回答content:{}", str);
        return str;
    }

    public static void main(String[] args) throws NoApiKeyException, InputRequiredException {
        System.out.println(simpleMultiModalConversationCall("您好"));
    }

}

2.返回数据

这里是我已经处理了数据信息,我来看看具体返回了什么?我们吧log打印部分直接打印result。

log.info("通义千问回答content:{}", JSON.toJSONString(result));
{
  "output": {
    "choices": [
      {
        "finishReason": "stop",
        "message": {
          "content": "您好!有什么我可以帮您的吗?",
          "role": "assistant"
        }
      }
    ]
  },
  "requestId": "12964d29-6b30-93cf-90f9-533c69cba016",
  "usage": {
    "inputTokens": 30,
    "outputTokens": 8
  }
}

3.官方代码案例

如何使用通义千问API_模型服务灵积(DashScope)-阿里云帮助中心 

五、通义千问VL

通义千问开源视觉理解大模型Qwen-VL于2023年12月1日发布重大更新,不仅大幅提升通用OCR、视觉推理、中文文本理解基础能力,还能处理各种分辨率和规格的图像,甚至能“看图做题”。

升级的Qwen-VL(qwen-vl-plus/qwen-vl-max)模型现有几大特点:

  • ‒ 大幅增强了图片中文字处理能力,能够成为生产力小帮手,提取、整理、总结文字信息不在话下。
  • ‒ 增加可处理分辨率范围,各分辨率和长宽比的图都能处理,大图和长图能看清。
  • ‒ 增强视觉推理和决策能力,适于搭建视觉Agent,让大模型Agent的想象力进一步扩展。
  • ‒ 升级看图做题能力,拍一拍习题图发给Qwen-VL,大模型能帮用户一步步解题。

代码部分可以参考官方提供的案例。

 1.计量计费

六、查看API-KEY调用额度

地址:调用统计 

七、其他模型

后续会开放出讯飞星火、ChatGPT、豆包、谷歌mini等其他模型对接,敬请期待!

点个关注,不会迷路! 


原文地址:https://blog.csdn.net/qq_23126581/article/details/144347318

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!