喜提好人卡?混元模型模块独立维护与开源发布

接着我们上次向Spring AI提交的混元模型模块,我已经完成了所有关于混元的聊天对接,并提交了相应的PR描述。提交后,荣获了一张“好人卡”,如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

今天,我们决定将之前提交给Spring AI官方的PR重新拿出来,并准备将其独立维护在一个开源仓库中。做出这一决策的原因是Spring AI官方表示将不再继续维护这么多大模型。这一决定其实也有其合理性,因为Spring AI的核心目标是通过简化Java开发智能体的过程来提升开发效率,而不是承担维护多个大型模型的责任。这种偏离了最初目标的做法,可能会导致资源和精力的过度分散,本末倒置了。

好了,废话不多说,今天我们主要的目标是将相关的代码单独提取出来,并推送到maven中央仓库中,确保它可以被广泛使用和管理。

混元

最初我们打算将这个项目命名为spring-ai-tencent,但经过一番思考后,我们发现这个名字可能会带来一些误解。为了避免这种误解,同时确保名称更加简洁明了,我们决定继续使用spring-ai-hunyuan这个名称。这个名称不仅更容易记住,而且不会引发额外的混淆,

提取代码

第一步就是将写入到Spring AI中的混元对接代码都提取出来,最后结果如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

核心模块(core)主要负责与混元的API对接,提供基础的接口和功能。Autoconfigure模块则实现了自动依赖注入功能,使得项目中的相关依赖能够自动装配并正确运行。Starter模块则是专为其他项目提供的依赖包,通过引入Starter模块,其他项目能够快速集成并使用混元模型。

简单测试一下,看下测试用例是否都正常通过了。如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

这个过程相对繁琐且没有太多技术含量,因此直接跳过。值得一提的是,我将项目中的所有包名都统一更改为 io.github.studiousxiaoyu,主要是出于发布到 Maven 中央仓库的考虑。由于在向 Maven 仓库提交时,包名必须遵循一定的规范,因此不可以随意命名,后续会详细解释这一点。

注册mvn账户

接下来,我们需要进行 Maven 账户的注册。可以通过以下官方链接进行注册:https://central.sonatype.com/

在注册过程中,只需根据官方页面提供的详细指引进行操作即可。由于注册步骤非常直观且有明确的指导,因此在这里就不再详细说明了。

Namespace

接着,我们就需要弄一个命名空间专门存储我们的开源代码,如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

这里你可以有自己的域名也可以,为了方便我这里直接使用的github仓库地址,gitee也是可以的。如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

添加后,他会给你一长串的id,就是我打马赛克的地方。

喜提好人卡?混元模型模块独立维护与开源发布

开源仓库

然后,你将这一长串id复制出来,去自己的github仓库创建一个公共开源的仓库即可。如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

这里不用添加任何文件,空仓库也是没问题的。主要就是他们在验证的时候,看有没有这个仓库地址而已。如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

最后,我们稍等一会儿,他就会验证成功了,如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

秘钥信息

前提准备工作已经顺利完成,接下来只需确保你的本地 Maven 环境中配置好一些必要的秘钥信息,主要包括两个关键部分:GPG 密钥和 Maven 账户密码。这是官方要求的必要步骤,只有配置齐全后,才能顺利进行后续的发布或部署操作。

Gpg

先来申请复杂的gpg,本地必须安装下这个软件:https://gnupg.org/download/index.html#sec-1-2

下载的时候,如果有钱就捐,没钱就如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

安装好 GPG 后,由于安装路径没有添加到环境变量中,因此我们需要手动找到 GPG 的安装位置。比如:E:Program Files (x86)GnuPGbin。你可以根据实际安装位置进行调整。

打开cmd命令面板,我们需要生成自己的私钥和公钥:

gpg --gen-key

按照指示创建完成后,再使用命令分发生成的id即可:

gpg --keyserver keyserver.ubuntu.com --send-keys 生成的id

接着在setting.xml中写好自己写的秘钥,注意不是生成的id。

<server>     <id>gpg.passphrase</id>     <passphrase>秘钥</passphrase> </server> 

gpg.passphrase是固定的,写好后,进行deploy时会校验这个值。你不用修改成其他的id

如果你没配置这个字段值的话,每次deploy时都会提示如下弹窗让你输入。如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

mvn账户秘钥

在进行申请之前,首先需要在我们项目的 pom.xml 依赖文件中配置好该插件的信息。在配置时,特别需要注意 publishingServerId 属性中的值是可以根据需要进行修改的。具体修改成什么值,需要确保与 Maven 中的 settings.xml 配置文件中的相关值一致。

<build>     <plugins>         <plugin>           <groupId>org.sonatype.central</groupId>           <artifactId>central-publishing-maven-plugin</artifactId>           <version>0.7.0</version>           <extensions>true</extensions>           <configuration>             <publishingServerId>central</publishingServerId>           </configuration>         </plugin>     </plugins> </build> 

那么mvn中的setting配置文件写的秘钥,我们也需要申请,官方地址如下:https://central.sonatype.com/account

点击如图所示,生成相关的秘钥信息。如账户和密码。

喜提好人卡?混元模型模块独立维护与开源发布

紧接着我们就需要在mvn中的setting配置文件添加如下信息:

<settings>   <servers>     <server>       <id>central</id>       <username><!-- your token username --></username>       <password><!-- your token password --></password>     </server>   </servers> </settings> 

没错的,这里的id对应的就是pom文件中的publishingServerId值。

发布

在完成所有相关信息的配置后,我们就可以执行 mvn deploy 指令来开始部署操作。此时,系统将进行一些处理,稍等片刻,当控制台显示部署成功的消息后,我们就可以前往以下网址:https://central.sonatype.com/publishing/deployments

在这个页面上查看我们刚刚推送的 Maven 依赖包是否成功上传并且已被正确发布。效果如图所示:

喜提好人卡?混元模型模块独立维护与开源发布

小结

在本篇文章中,我们详细介绍了将混元模型模块从Spring AI迁移并独立维护的全过程。

首先,介绍了项目命名的思考与调整,选择了更符合开源规范的spring-ai-hunyuan作为最终名称。接着,我们展示了如何提取并整理代码,包括核心模块、自动配置模块和Starter模块的构建。重点还包括了如何在Maven中央仓库上注册账户、配置GPG密钥、申请Maven账户秘钥等细节步骤,确保代码能够顺利发布和管理。

最终,我们通过执行 mvn deploy 命令完成了依赖包的上传,成功将项目推送至Maven中央仓库,为广大开发者提供了一个稳定且可扩展的开源解决方案。

发表评论

您必须 [ 登录 ] 才能发表留言!

相关文章