写点什么

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

  • 2025-01-08
    福建
  • 本文字数:1260 字

    阅读完需:约 4 分钟

Spring AI


项目准备


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


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



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



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


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


下载如图所示:



环境准备


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


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



模块概览图


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



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

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


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


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


总结


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


文章转载自:努力的小雨

原文链接:https://www.cnblogs.com/guoxiaoyu/p/18650932

体验地址:http://www.jnpfsoft.com/?from=001YH

用户头像

还未添加个人签名 2023-06-19 加入

还未添加个人简介

评论

发布
暂无评论
深入解析 Spring AI 系列:项目结构一览_spring_快乐非自愿限量之名_InfoQ写作社区