深入解析 Spring AI 系列:项目结构一览

news/2025/1/9 8:40:28/文章来源:https://www.cnblogs.com/guoxiaoyu/p/18650932

从今天起,我们将以 Spring AI 为主线,开始更新一系列的文章。这些文章将围绕 Spring AI 项目展开,结合我的理解,深入讲解其相关的知识点、技术原理、以及在实际开发过程中涉及到的部分代码实现等内容。通过这些文章,希望能够帮助大家更好地理解和使用 Spring AI。今天的主题是将对 Spring AI 开源项目的整体结构进行分析,并重点探讨该项目是如何高效地集成各大人工智能模型接口的。

Spring AI

项目准备

首先,我们需要找到 Spring AI 项目的官方地址,并将其 fork 到我们自己的 GitHub 仓库中。这样一来,未来在进行开发或修改时,我们可以直接在自己的仓库中进行操作。如果需要提交 PR(Pull Request),也能够方便地从自己仓库中进行提交流程,而不需要每次都直接从原始仓库提交。

官方git地址是:https://github.com/spring-projects/spring-ai

image

如果在开发过程中官方已经进行了新的提交,你仍然可以通过以下方法确保自己的项目始终保持最新状态,如下图所示:

image

接下来,我们可以直接将项目下载到本地。此时,按照官方文档中的指示执行相关命令即可。需要注意的是,由于项目中包含了较大的文件,因此我们可以选择跳过这些文件的下载,这不会对项目的正常运行产生任何影响。相关命令如下:

GIT_LFS_SKIP_SMUDGE=1 git clone 你的项目地址/spring-ai.git

下载如图所示:

image

环境准备

Spring AI项目使用到的环境很新,所以本地最好现在下载后需要的jdk,JDK要是17版本,maven可以使用自己的要是3.8+版本即可。

在idea中直接进行clean package命令记得跳过测试,因为我们没有ak秘钥信息,最后建议不要使用项目自带的mvn命令,因为仓库代理已经仓库地址都不是我们想要的。最后本地就可以正常运行项目了。如图所示:

image

模块概览图

我对Spring AI项目的各个模块结构进行了初步的审查和梳理,并简单地绘制了一张示意图,旨在帮助大家更好地理解项目的整体架构和各个模块之间的关系。请参考下图:

image

如果我们想要集成一个大模型,目前需要关注的几个核心模块包括:modelspring-ai-bomspring-ai-spring-boot-autoconfigure 以及 spring-ai-spring-boot-starter

其中,spring-ai-bomspring-ai-spring-boot-starter 主要涉及的是基本的依赖配置,例如在 pom.xml 文件中声明相关依赖,这部分工作相对简单,通常只需写好依赖配置,后期开发完成后再进行完善即可,因此暂时不需要过多关注。

真正需要我们关注和着重开发的是 model 模块。这个模块将负责对接各大模型的 API,封装所有与模型交互所需的接口参数、调用实体及相关功能。因此,model 是我们集成过程中的第一步,必须确保它能够正确地封装各大模型的调用逻辑和相关配置。

最后,spring-ai-spring-boot-autoconfigure 模块的作用是在我们完成 model 模块开发后,进行自动化配置。具体来说,它负责从配置文件中读取所需的关键信息(如秘钥等),并将这些配置项注入到 model 模块中,使得模型能够正常调用。这个步骤通常是在模型集成完成后进行的,确保模型能够按照预期的方式启动和运行。

总结

通过今天的分析,我们对 Spring AI 项目的整体结构和各个核心模块有了初步的了解。在后续的文章中,我们将深入探讨如何在项目中集成不同的人工智能模型,并结合实际代码示例,带领大家一步步完成从依赖配置到接口封装的具体操作。希望通过这些内容,能够帮助开发者更高效地使用 Spring AI,加速智能应用的开发进程。

敬请关注接下来的系列文章,我将持续为大家提供更详细的技术解读与实践指导。


我是努力的小雨,一个正经的 Java 东北服务端开发,整天琢磨着 AI 技术这块儿的奥秘。特爱跟人交流技术,喜欢把自己的心得和大家分享。还当上了腾讯云创作之星,阿里云专家博主,华为云云享专家,掘金优秀作者。各种征文、开源比赛的牌子也拿了。

💡 想把我在技术路上走过的弯路和经验全都分享出来,给你们的学习和成长带来点启发,帮一把。

🌟 欢迎关注努力的小雨,咱一块儿进步!🌟

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/865363.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BUG:SWM32开机绘制lvgl框架下的某个自定义控件死机

一.BUG描述 现象1.画了一个关于"模式"的自定义控件,结果开机绘制总是死机。 现象2.用keil进行仿真调试全速运行同样死机,但是如果在异常处加断点,然后单步调试就正常。(注:仿真调试比直接运行的速度要慢) 现象3.把这个异常对象的创建代码删除,再后面加四个打印…

大镖客2--中文地图

下载GMM 从网站 https://gmm.aoe.top/ 下载GMM软件 双击安装GMM即可 下载前置 下载大镖客2前置 从我网盘下载: 通过网盘分享的文件:荒野大镖客2 Mod前置包.gmm链接: https://pan.baidu.com/s/1IRorQ9FO7Dy_LzU70U_uRw?pwd=6666 提取码: 6666 选择游戏 找到RDR2.exe文件 …

CDS标准视图:测量点数据 I_MeasuringPointData

视图名称:测量点数据 I_MeasuringPointData 视图类型:基础视图 视图代码:点击查看代码 @AbapCatalog.sqlViewName: IMEASPOINTDATA @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK @EndUserText.label: Measuring Point Data@VDM.vi…

vxe-table 实现 excel 选择两个单元格,拖拽自动识别数字规则并根据规则自动填充新的单元格

vxe-table 实现 excel 选择两个单元格,拖拽自动识别数字规则并根据规则自动填充新的单元格 官网:https://vxetable.cn鼠标按住右下角扩展按钮,当选取一个单元格时,自动将当前内容填充到扩展区域的所有单元格中,如果不希望自动识别数字规则,可以同时按住 ctrl 键可取消值自…

《模态测试、分析与仿真》网络研讨会

模态测试的目的和方法 如何利用有限元仿真数据进行建模和优化测点选择 模态参数识别和验证 模态分析结果如何与有限元仿真结果进行相关以上内容来源于网络,如有侵权,请联系删除!

新开了一家宠物公园,如何营销?

宠物公园可以借助看板软件进行营销,通过明确营销目标、利用看板软件进行任务管理、数据可视化与分析、优化客户互动与品牌建设以及整合供应链与提升运营效率等多个方面提升营销效率和效果。宠物公园可以借助看板软件进行营销,通过数据可视化、任务管理、客户互动等多个方面提…

pkusc/wc 做题记录题解

漆黑空心也想被释放,奈何思念比恨更顽强鲜花所有题目来源:search pku in qoj 参考文章:DaiRuiChens blog:PKUSC2024,云浅s blog:THUSC/PKUSC 2024cyfffs blog:PKUWC2024,realskcs blog:PKUWC2024 Day1,PKUWC2024 Day2ix35s blog:PKUSC2023,aleph1022s blog:PKUSC …

荣耀再续 | 蚁景科技在第136届广交会测试赛中再获团体亚军佳绩

近日,在第136届广交会网络平台测试赛中,蚁景科技凭借卓越表现与精湛技术脱颖而出,斩获团体积分132分,再度荣膺第二名的佳绩,续写荣誉篇章。近日,在备受瞩目的第 136 届广交会网络平台测试赛中,蚁景科技凭借卓越表现与精湛技术脱颖而出。此次比赛由中国网络空间安全教育论…

altium designer中布线如何走圆角.如图所示。我按了shift+空格键。可依旧是走45读的角。麻烦指教啊。急求

按TP键,在PCB Editor_Interactive Routing中,看是否选择了Restrict To 90/45,取消勾选即可更多追问追答追问取消了还是没用 追答shift+空格键要多按几次,是循环切换的转载自: https://zhidao.baidu.com/question/536745523.html

nginx下载安装配置

nginx下载安装配置 环境:win10虚拟机Vmware,在linux(centos7.6)下安装nginx(nginx-1.20.2.tar.gz) 注意:在linux中,不是管理员登录,最好在指令前加上sudo提权,避免权限不够执行失败带来的麻烦,以下命令请都加上sudo,这是一个好习惯。 下载 https://nginx.org/ …

WindowsLog_Check:日志分析

声明免责 仅供安全研究与学习之用,若将工具做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。介绍 该工具支持一键获取windows主机的日志,主机信息,GUI显示,支持使用微步KEY对文件进行MD5分析,支持检测相同MD5的文件,支持对内存进行字…

CDS标准视图:维护计划员组 I_MAINTENANCEPLANNERGROUP

视图名称:维护计划员组 I_MAINTENANCEPLANNERGROUP 视图类型:基础视图 视图代码:点击查看代码 @EndUserText.label: Maintenance Planner Group @Analytics: { dataCategory: #DIMENSION,dataExtraction : { enabled: true ,delta.changeDataCapture.automatic: true } } @V…