Spring-AI简单实践
目录
1. Spring-AI是什么
2. Spring-AI架构
3. spring-AI项目实践
3.1 Spring-AI Ailibaba是什么
3.2 引入依赖和配置
3.2 Spring-AI Ailibaba创建会话
1. Spring-AI是什么
Spring AI 项目由 Spring 官方开源并维护的 AI 应用开发框架,该项目目标是简化包含人工智能(AI)功能的应用程序的开发,避免不必要的复杂性。该项目从著名的 Python 项目(例如 LangChain 和 LlamaIndex)中汲取灵感,但 Spring AI 并非这些项目的直接移植,该项目的成立基于这样的信念:下一波生成式 AI 应用将不仅面向 Python 开发人员,还将遍及多种编程语言。从本质上讲,Spring AI 解决了 AI 集成的基本挑战:Connecting your enterprise Data and APIs with the AI Models。
2. Spring-AI架构
3. spring-AI项目实践
本文使用Spring-AI Alibaba,详细接入文档:Spring AI Alibaba 概述-阿里云Spring AI Alibaba官网官网
各大公司在Spring-AI的基础上都有一套快速开发AI应用的框架。
3.1 Spring-AI Ailibaba是什么
Spring AI Alibaba 开源项目基于 Spring AI 构建,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践,提供高层次的 AI API 抽象与云原生基础设施集成方案,帮助开发者快速构建 AI 应用。
3.2 引入依赖和配置
配置大模型:application.yml
spring:application:name: SpringAI-Demo
#AI配置ai:ollama: #AI提供商,也可以是openaibase-url: http://localhost:11434 #如果是远程第三方服务方,需要申请和填写api-keychat:model: deepseek-r1:1.6b
如果使用阿里的大模型接口,需要配置dashscope
spring.ai.dashscope.api-key=${AI_DASHSCOPE_API_KEY}
spring.ai.dashscope.chat.options.model=qwen-max
引入依赖
<dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter</artifactId><version>1.0.0-M5.1</version>
</dependency>
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-starter-model-ollama</artifactId>
</dependency>
若使用阿里的模型接口
<dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
</dependency>
3.2 Spring-AI Ailibaba创建会话
创建chatClient,设置默认参数
chatClient是面向对话式AI模型的客户端接口,提供API与AI会话模型交互,该接口封装了请求构建、调用、响应处理等流程,支持同步、流式调用。
public ChatClient chatClient(String userInput) {//此处设置的都是默认参数,可在自己的智能体中覆盖掉return chatClient.defaultSystem() .defaultAdvisors(new VectorStoreChatMemoryAdvisor(vectorStore)), //Chat Memorynew QuestionAnswerAdvisor(vectorStore), // RAGnew SimpleLoggerAdvisor(),//日志) .call() //调用大模型 .content(); //输出字符串结果}
注意:chatClient是单例,如果引入ollama模型调用商,就不能引入其它的例如openai