网站为什么打不开,百度网站排名,seo岗位有哪些,建行官网的网址开始之前#xff0c;如果你对大模型完全没了解过#xff0c;建议阅读之前的大模型入门文章#xff1a;
【SpringAI】#xff08;一#xff09;从实际场景入门大模型——适合Java宝宝的大模型应用开发
那么今天就开始写一个基于Spring AI程序的HelloWord!将大模型接入到咱…开始之前如果你对大模型完全没了解过建议阅读之前的大模型入门文章
【SpringAI】一从实际场景入门大模型——适合Java宝宝的大模型应用开发
那么今天就开始写一个基于Spring AI程序的HelloWord!将大模型接入到咱们的JAVA程序中 各位铁汁看的过程中一定要跟着实践一下啊 一、SpringAI简介
目前大多数的大模型应用开发都是基于Python的实际上Spring也发布了应用于AI领域的框架那就是SpringAI。SpringAI提供了与多种大模型对接的功能。通过它咱们能够轻易得将AI集成到Java程序中。
截止到当前2024年10月15日SpringAI官网还没有正式版只有1.0.0-SNAPSHOT、1.0.0-M2、1.0.0-M3。建议大家选择M版本SNAPSHOT版本表示处于开发中可能不稳定。 最新的版本信息和相关文档大家可以到Spring官网去查看SpringAI官网地址
二、大模型的选择-通义千问
1、通义千问
本次学习案例大模型选择的是阿里云的通义千问Qwen。它是一个大型语言模型系列能够生成与给定提示相关的连续文本并在各种任务上具有广泛的能力。
如果同学们想选择选择其他的大模型当然也可以去尝试
智谱AI大模型智谱AI大模型官网链接千帆大模型千帆大模型官网链接Moonshot大模型Moonshot大模型官网
2、申请API-KEY
要想使用通义千问需要到阿里云百炼平台。 如果顶部如图显示说明你需要开通这项服务。 开通成功后申请自己API-KEY。进行登录注册后鼠标移动至右上角头像并点击API-KEY
之后再创建API-KEY点击查看你就能看到你具体的API-KEY了。 对了目前开通后会送定量限时的免费额度哦大家快去试试
三、搭建SpringAI项目
1、环境选择
由于SpringAI要求SringBoot版本必须是3.2.x或者3.3.x并且SringBoot 3.2.x 以上的版本要求JDK版本是17所以我们要使用SpringAISpringBoot版本和JDK版本都应该满足需求。
2、导入相关依赖
2.1 导入SpringAI依赖并且配置仓库
dependencyManagementdependenciesdependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-bom/artifactIdversion1.0.0-M2/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement repositoriesrepositoryidspring-milestones/idnameSpring Milestones/nameurlhttps://repo.spring.io/milestone/urlsnapshotsenabledfalse/enabled/snapshots/repositoryrepositoryidspring-snapshots/idnameSpring Snapshots/nameurlhttps://repo.spring.io/snapshot/urlreleasesenabledfalse/enabled/releases/repository/repositories
注意导入依赖后可能会出现该错误
Non-resolvable import POM: Failure to find org.springframework.ai:spring-ai-bom:pom:1.0.0-M2 in https://maven.aliyun.com/repository/public was cached in the local repository, resolution will not be reattempted until the update interval of alimaven has elapsed or updates are forced该错误的原因大概率是因为你的maven镜像地址配置的阿里云仓库地址然后目前阿里云仓库还没有SpringAI的坐标所以会找不到SpringAI的依赖。
基于这个原因我们只需要修改Maven中的setting.xml原有的镜像信息不仅仅只有阿里云仓库地址我们也可以引入其他的镜像地址。
修改后可参考: mirrors!--在 mirrors 标签下 添加阿里云maven私服库-- mirroridalimaven/idmirrorOfcentral/mirrorOfnamealiyun maven/nameurlhttps://maven.aliyun.com/repository/public/url/mirrormirror idui/id mirrorOfcentral/mirrorOf nameHuman Readable Name for this Mirror./name urlhttp://uk.maven.org/maven2//url /mirror /mirrors
2.2 导入通义千问依赖
dependencygroupIdcom.alibaba/groupIdartifactIddashscope-sdk-java/artifactIdversion2.13.0/version
/dependency如果想使用通义千问sdk其版本可查看通义千问SDK其他版本
3、编码调用大模型API
编码如下。
注意要把API-KEY替换成你自己的API-KEY哦例子中选择的模型是通义千问-Plus你也可以选择通义千问的其他模型模型列表
代码中systemMsg和userMsg组成Prompts发送给大模型并且通过GenerationParam设置API-KEY和具体调用的大模型。 import java.util.Arrays;
import java.lang.System;
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;
public class Main {public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {Generation gen new Generation();Message systemMsg Message.builder().role(Role.SYSTEM.getValue()).content(你是个乐于助人的助手.).build();Message userMsg Message.builder().role(Role.USER.getValue()).content(你是谁).build();GenerationParam param GenerationParam.builder() .apiKey(你自己的API-KEY)// 模型列表https://help.aliyun.com/zh/model-studio/getting-started/models.model(qwen-plus).messages(Arrays.asList(systemMsg, userMsg)).resultFormat(GenerationParam.ResultFormat.MESSAGE).build();return gen.call(param);}public static void main(String[] args) {try {GenerationResult result callWithMessage();System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());} catch (ApiException | NoApiKeyException | InputRequiredException e) {System.err.println(错误信息e.getMessage());System.out.println(请参考文档https://help.aliyun.com/zh/model-studio/developer-reference/error-code);}System.exit(0);}
}
运行本段程序可以看到大模型给我们返回的结果 恭喜你你已经成功把大模型接入到Java程序中了
看完的同学欢迎一起交流鄙人不才如果有错误的地方望各位大佬指正 祝大家工作顺利永不被裁