SpringAI

简介: SpringAI整合全球主流大模型,支持多种技术架构,提供统一开发接口。本文以OpenAI和Ollama为例,详解如何通过SpringAI快速构建对话机器人,涵盖项目搭建、依赖引入与配置,助力开发者高效上手大模型应用开发。

前言
SpringAI整合了全球(主要是国外)的大多数大模型,而且对于大模型开发的三种技术架构都有比较好的封装和支持,开发起来非常方便。
不同的模型能够接收的输入类型、输出类型不一定相同。SpringAI根据模型的输入和输出类型不同对模型进行了分类:
大模型应用开发大多数情况下使用的都是基于对话模型(Chat Model),也就是输出结果为自然语言或代码的模型。
目前SpringAI支持的大约19种对话模型,以下是一些功能对比:
Provider
Multimodality
Tools/Functions
Streaming
Retry
Built-in JSON
Local
OpenAI API Compatible
Anthropic Claude
text, pdf, image






Azure OpenAI
text, image






DeepSeek (OpenAI-proxy)
text






Google VertexAI Gemini
text, pdf, image, audio, video






Groq (OpenAI-proxy)
text, image






HuggingFace
text






Mistral AI
text, image






MiniMax
text






Moonshot AI
text






NVIDIA (OpenAI-proxy)
text, image






OCI GenAI/Cohere
text






Ollama
text, image






OpenAI
In: text, image, audio Out: text, audio






Perplexity (OpenAI-proxy)
text






QianFan
text






ZhiPu AI
text






Watsonx.AI
text






Amazon Bedrock Converse
text, image, video, docs (pdf, html, md, docx …)






其中功能最完整的就是OpenAI和Ollama平台的模型了。
接下来,我们就以这两个平台为例给大家讲解SpringAI的应用。
1.SpringAI入门(对话机器人)
接下来,我们就利用SpringAI发起与大模型的第一次对话。
1.1.快速入门
1.1.1.创建工程
创建一个新的SpringBoot工程,勾选Web、MySQL驱动即可:
工程结构如图:
原始pom.xml如下:
XML
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0" encoding="UTF-8"?>


4.0.0

org.springframework.boot
spring-boot-starter-parent
3.4.3


com.itheima
ai-demo
0.0.1-SNAPSHOT
ai-demo
ai-demo














17



org.springframework.boot
spring-boot-starter-web

<dependency>
  <groupId>com.mysql</groupId>
  <artifactId>mysql-connector-j</artifactId>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>




org.springframework.boot
spring-boot-maven-plugin



1.1.2.引入依赖
SpringAI完全适配了SpringBoot的自动装配功能,而且给不同的大模型提供了不同的starter,比如:
模型/平台
starter
Anthropic
XML
复制代码
1
2
3
4


org.springframework.ai
spring-ai-anthropic-spring-boot-starter

Azure OpenAI
XML
复制代码
1
2
3
4


org.springframework.ai
spring-ai-azure-openai-spring-boot-starter

DeepSeek
XML
复制代码
1
2
3
4


org.springframework.ai
spring-ai-openai-spring-boot-starter

Hugging Face
XML
复制代码
1
2
3
4


org.springframework.ai
spring-ai-huggingface-spring-boot-starter

Ollama
XML
复制代码
1
2
3
4


org.springframework.ai
spring-ai-ollama-spring-boot-starter

OpenAI

相关文章
|
6月前
|
人工智能 安全 Java
Spring AI 核心架构解析:构建企业级 AI 应用的 Java 新范式
Spring AI 为 Java 开发者提供企业级 AI 应用新范式,通过分层架构、统一抽象(如 ChatClient、PromptTemplate)与 Spring 生态深度集成,支持 RAG、函数调用、流式响应等核心功能,实现安全、可观测、可维护的智能系统构建。
1562 8
|
7月前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
4915 93
|
5月前
|
人工智能 NoSQL 前端开发
Chap03. SpringAI
SpringAI整合多款主流大模型,支持对话、函数调用与RAG等架构,提供统一API简化开发。通过ChatClient封装交互,结合Prompt工程、工具调用与知识检索,可快速构建智能客服、哄哄模拟器、ChatPDF等应用,并支持多模态与持久化扩展,助力AI应用高效落地。
|
存储 人工智能 Java
【SpringAIAlibaba新手村系列】(3)ChatModel 与 ChatClient 的深度对比
本章深度解析 Spring AI 中 `ChatModel`(底层接口)与 `ChatClient`(高级封装)的本质区别:前者如“手动挡”,精准控制但需写大量样板代码;后者似“智能点餐机”,链式调用、支持系统提示、模板、工具调用等,开发高效。初学者推荐优先使用 `ChatClient`。
485 0
【SpringAIAlibaba新手村系列】(3)ChatModel 与 ChatClient 的深度对比
|
2月前
|
人工智能 NoSQL Java
大模型应用开发2-SpringAI实战
本文介绍了SpringAI框架如何整合大语言模型,并详细讲解了应用开发的关键技术。主要内容包括: 核心功能 支持OpenAI、Ollama等主流平台 封装对话模型、向量计算等功能 提供同步/异步调用方式 关键技术实现 会话记忆管理(内存/Redis) 工具调用(Function Calling) 知识增强(RAG)架构 多模态交互(文本/图像) 典型应用场景 文献阅读助手实现 智能客服系统 文档知识库问答 开发实践 配置向量数据库 处理PDF文档 实现工具调用 兼容阿里云平台 该框架显著简化了大模型应用开发
|
6月前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
4621 43
|
8月前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段三:自定义 Advisor 与结构化输出实现以及对话记忆持久化开发
本文介绍如何在Spring AI中自定义Advisor实现日志记录、结构化输出、对话记忆持久化及多模态开发,结合阿里云灵积模型Qwen-Plus,提升AI应用的可维护性与功能性。
1739 125
AI 超级智能体全栈项目阶段三:自定义 Advisor 与结构化输出实现以及对话记忆持久化开发
|
5月前
|
人工智能 NoSQL 前端开发
springai
SpringAI整合多款主流大模型,支持对话、函数调用与RAG等架构,提供统一API简化开发。涵盖Ollama、OpenAI等平台,实现聊天机器人、智能客服、知识库问答(如ChatPDF)及多模态交互,助力快速构建AI应用。
1203 0
|
8月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
6670 2
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API