Spring AI Alibaba配置管理,用 Nacos ,就够了
前言
Hi,如果你能点进这篇文章,大概率也是在用Spring AI搭建Java AI应用的时候,碰到了各种让人头疼的配置动态管理的问题了吧~ 比如像调用算法模型的“API-KEY密钥”这类打死也不能让别人知道的敏感配置该如何加密存储管理,还有像模型的各类调用配置参数,以及Prompt Engineering里的Prompt Template如何可以在不发布重启应用的情况下,快速修改生效来响应业务需求的变化?另外 AI应用所依赖外部的向量数据库、文本Embedding服务的接入点、服务认证信息配置又该如何安全高效管理?不过不用焦虑,接下来我们就着这些问题深入讨论下,看看如何利用Spring AI Alibaba + Nacos来一一解决。
首先打个广告~ 介绍下为什么会推荐使用Spring AI Alibaba,相信大家已经或多或少了解阿里云通义千问大模型了,那在各大开源模型榜单上都是屠榜者的存在,但是Java开发者如果选型使用Spring AI框架构建应用的话就会发现,目前支持的基本上都是国外的模型供应商,比如OpenAI、微软、亚马逊、谷歌和Huggingface这些,并不支持通义模型。不过现在没关系了,在刚刚过去的云栖大会上,阿里云官方刚刚宣布开源了Spring AI Alibaba项目,它基于Spring AI + 通义大模型开发构建,可以说是整个阿里云通义系列的模型及服务在Java AI应用开发领域的最佳实践,也提供了高层次的AI API抽象和云原生基础设施的集成方案,可以帮助Java开发者快速地构建 AI 应用。

言归正传,回到文章开篇介绍的那几个配置管理问题,如果你恰好正在使用Spring AI Alibaba开发应用的话,可以跟着我一起动手试验下。只需要在你的应用启动 application.properties 配置文件里稍加改动下,你就会发现其实只需要几行配置就统统都搞定啦😄
#nacos server地址
spring.cloud.nacos.config.server-addr=${NAOCS_SERVER_ADDR}
#nacos 配置管理所在的命名空间ID
spring.cloud.nacos.config.namespace=
#nacos ram ak、sk,如果是开源自建的服务端可以使用用户名密码的认证鉴权方式
spring.cloud.nacos.config.access-key=${NACOS_CONFIG_ACCESS_KEY}
spring.cloud.nacos.config.secret-key=${NACOS_CONFIG_SECRET_KEY}
#通义模型接入API KEY
spring.ai.dashscope.api-key=${AI_DASHSCOPE_API_KEY}
接入Nacos后,我们接下来就可以在控制台上创建几个配置,即可完成所有场景下的配置托管,就这么简单,不信的话我们一个个来看
