当前位置: 首页 > news >正文

SpringBoot集成阿里百炼大模型(初始demo) 原子的学习日记Day01

文章目录

    • 概要
      • 下一章SpringBoot集成阿里百炼大模型(多轮对话) 原子的学习日记Day02
    • 整体架构流程
    • 技术名词解释
    • 集成步骤
      • 1,选择大模型以及获取自己的api-key(前面还有一步开通服务就没有展示啦!)
      • 2,集成SpringBoot
        • 配置文件(配置Api-key)
        • 依赖导入(主要就是导入最后一个sdk其余的看自己的情况,我这里有依赖冲突,排除了lombok)
        • Service文件
        • Controller文件
    • 测试结果

概要

使用springboot集成阿里百炼大模型的第一天!从今天开始,将进入阿里百炼大模型的学习当中!百炼大模型作为先进的人工智能技术成果,拥有诸多优势,尤其在处理自然语言理解和生成任务方面。其中可选择的模型有很多,我选择了,选择什么要根据自己的钱包来看,原子钱包不多,选择了免费试用的!!!!
可以参考官方文档

下一章SpringBoot集成阿里百炼大模型(多轮对话) 原子的学习日记Day02

在这里插入图片描述

百炼大模型的优势

百炼大模型(此处假设指的是阿里云开发的语言模型“通义千问”或类似的大型预训练语言模型)作为先进的人工智能技术成果,拥有诸多优势,尤其在处理自然语言理解和生成任务方面。虽然直接提及“百炼大模型”可能不是具体已知模型的名称,但我们可以基于当前大型语言模型的一般特点,总结这类模型的优势:

广泛的知识覆盖与理解能力:通过在大规模互联网文本数据上进行训练,这些模型能够吸收和理解跨领域的广泛知识,从而在各种话题上提供有质量的回答和讨论。

语境理解与连贯对话:高级的上下文理解能力使得这些模型能够追踪对话历史,生成连贯、贴合上下文的回复,提升人机交互的自然流畅度。

多语言支持:许多大型语言模型支持多语言输入和输出,促进了跨国界、跨文化的沟通与交流。

代码生成与解释:一些先进的大模型展示了编写和解释代码的能力,这对于软件开发、教育辅导等领域有着重大意义。

创意生成与辅助创作:能够根据用户提供的信息或提示生成创意性的文字内容,包括故事、诗歌、文章草稿等,为内容创作者提供灵感和支持。

情感理解和个性化互动:通过学习人类语言中的情感表达,模型能在一定程度上理解和回应用户情绪,实现更加人性化的互动体验。

持续学习与迭代优化:大型语言模型的训练框架允许不断吸纳新数据进行微调,使其随着时间推移不断进步,适应语言和社会趋势的变化。

应用广泛性:可广泛应用于客户服务、教育、娱乐、新闻生成、研发辅助等多个领域,提高工作效率和服务质量。

总之,百炼大模型或同类的大型语言模型,凭借其深度学习能力和大数据训练基础,为推动人工智能技术的实际应用和发展提供了强大的支持。

整体架构流程

使用
Java8+Spring2+阿里百炼大模型集成+SpringBoot

技术名词解释

  • api-key —当您通过API/SDK调用大模型或应用时,需要获取API-KEY作为调用时的鉴权凭证。
  • SDK —SDK是Software Development Kit的缩写,中文意为“软件开发工具包”。它是一系列软件开发工具的集合,旨在为特定的平台、框架、硬件或服务提供便捷的开发环境。SDK通常包括但不限于以下组件:
  • 通义千问—是阿里云研发的大语言模型
  • 灵积----是阿里云推出的模型服务平台,提供了包括通义千问在内的多种模型的服务接口
  • 百炼------是阿里云推出的一站式大模型应用开发平台,同时也提供模型调用服务。
  • DashScope是灵积的英文名,两者指的是同一平台

集成步骤

1,选择大模型以及获取自己的api-key(前面还有一步开通服务就没有展示啦!)

在模型广场中选择自己需要的大模型并注册自己的apikey(要自己保存好喔!)
在这里插入图片描述
在这里插入图片描述

2,集成SpringBoot

配置文件(配置Api-key)
api:key: 填自己的apikey
依赖导入(主要就是导入最后一个sdk其余的看自己的情况,我这里有依赖冲突,排除了lombok)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>CommentDemo</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.2</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.4.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.22</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><version>2.4.2</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId></dependency><dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>2.0.7</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>19.0</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version></dependency><!-- https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java --><dependency><groupId>com.alibaba</groupId><artifactId>dashscope-sdk-java</artifactId><version>2.16.0</version><exclusions><exclusion><artifactId>lombok</artifactId><groupId>org.projectlombok</groupId></exclusion></exclusions></dependency></dependencies></project>
Service文件
package com.demo.yuanzi.service.impl;import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
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 org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;import java.util.Arrays;
@Service
public class YuanZIGpt {@Value("${api.key}")private String apiKey;public GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {Generation gen = new Generation();Message systemMsg = Message.builder().role(Role.SYSTEM.getValue()).content("You are a helpful assistant.").build();Message userMsg = Message.builder().role(Role.USER.getValue()).content("java的特性?").build();GenerationParam param = GenerationParam.builder().model("qwen-turbo").messages(Arrays.asList(systemMsg, userMsg)).resultFormat(GenerationParam.ResultFormat.MESSAGE).temperature(0.8f).apiKey(apiKey) // 添加 API key 到参数中.build();return gen.call(param);}
}
Controller文件
@GetMapping("/test2")public String show2() {try {GenerationResult result = yuanZIGpt.callWithMessage();System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());} catch (ApiException | NoApiKeyException | InputRequiredException e) {// 使用日志框架记录异常信息System.err.println("An error occurred while calling the generation service: " + e.getMessage());}System.exit(0);return "测试";}

测试结果

在这里插入图片描述

http://www.lryc.cn/news/415987.html

相关文章:

  • 高级java每日一道面试题-2024年8月06日-web篇-cookie,session,token有什么区别?
  • Python 图文:小白也能轻松生成精美 PDF 报告!
  • AQS的ReentrantLock源码
  • CSP-J 模拟题2
  • 途牛养车省养车平台源码 买卖新车租车二手车维修装潢共享O2O程序源码
  • 开发中遇到的gzuncompress,DomDocument等几个小问题以及一次Php上线碰到的502问题及php异常追踪
  • 【Material-UI】Button 组件中的基本按钮详解
  • 人工智能自动驾驶三维车道线检测—PersFormer模型代码详解
  • LangChain +Streamlit+ Llama :将对话式人工智能引入您的本地设备成为可能(上篇)
  • sql注入部分总结和复现
  • 开源企业级后台管理的快速启动引擎:Ballcat
  • FashionAI比赛-服饰属性标签识别比赛赛后总结(来自 Top14 Team)
  • C语言 | Leetcode C语言题解之第319题灯泡开关
  • 【第十届泰迪杯数据挖掘挑战赛A题害虫识别】-农田害虫检测识别-高精度完整更新
  • 【Linux】—— Linux进程状态(R、S、D、T、Z、X)
  • 重生之我在NestJS中使用EventStream
  • 自动化工具Selenium IDE基本使用——脚本录制
  • 【第十一天】进程调度算法,进程间通信方式,进程同步和互斥
  • Python的lambda函数
  • java9-泛型
  • zotero安装与使用
  • Elasticsearch未授权访问漏洞
  • 【FPGA】module中CLOCK RESET iCall oDone的含义
  • OpenGL实现3D游戏编程【连载2】——了解并创建3D空间模型
  • Java-文件操作和IO
  • AI智能化赋能电商经济,守护消费净土,基于轻量级YOLOv8n开发构建公共生活景下的超大规模500余种商品商标logo智能化检测识别分析系统
  • C语言菜鸟入门·数据结构·链表超详细解析
  • C# Unity 面向对象补全计划 七大原则 之 依赖倒置原则 (DIP)难度:☆☆ 总结:多抽象,多接口,少耦合
  • 大模型面试问题
  • keeplive配置详解与haproxy配置详解