1、概述
随着大模型技术的成熟,其应用场景已从 Web 在线对话延伸至传统业务领域。当前,大模型的 API 交互与业务集成模式逐渐标准化,Java 生态的核心框架 Spring 也顺势推出spring-ai 正式版,为大模型集成提供支持。
需要明确的是,Spring-AI 并非业务集成的 “必需品”,但它延续了 Spring 生态的设计理念 —— 通过一套与 Spring 全家桶兼容、语义统一且易于扩展的 Java API,将大模型交互简化为开发者熟悉的 “类数据库操作” 模式。就像用 MyBatis 操作 MySQL 无需关注数据库底层实现一样,借助 Spring-AI,开发者可专注于业务逻辑,大幅降低大模型集成的技术门槛与开发成本。
接下来,我们将从大模型基础认知切入,逐步深入到 Spring-AI 的实践应用,完整覆盖大模型工程化落地的核心环节。
2、什么是大模型
大模型的舞台上,从来不缺新面孔。自ChatGPT开启AI新纪元后,各类大模型层出不穷。
但是我们不去考虑大模型的训练原理、推理/运算架构、参数调优等较为复杂的数学范畴的东西,就像我们很少关心MySQL是怎么用代码来实现效果的一样。
此处类比我们熟悉的知识,对大模型有一个盲人摸象式的基础且能够自洽的认识即可。
- 从某种意义上来说,模型训练就是通过分析海量文本(如维基百科、图书、网页等)寻找到人类语言的规律,再将这个规律固化成一个包含数十亿【参数】的超级【数学公式】。就像简单公式 y = 5x + 8 中的 5 和 8 ,这两个【参数】决定了将输入X如何转化为输出Y。
- 训练好的【数学公式】就像代码,需要部署在算力平台上,借助【显卡】的并行运算能力来实现高效运算。
- 用户的输入作为这个【数学公式】的入参,经公式运算后,得到相关的【输出】。

假设大模型是上述的数学公式,不同的大模型「ChatGPT/DeepSeek」是不同的架构、不同的公式,那么模型训练就是通过对海量文本的分析、学习,找到合适的参数值。
3、大模型的特点
接下来我们关注在工程应用场景下,需要开发人关注的大模型特点。
就像MySQL,我们集成时也需要关注不同的存储引擎(InnoDB/MyISAM)的特点。
无状态

大模型是没有记忆、没有状态的,它是一个纯函数。
它不知道之前跟你说过什么。所以每次进行大模型输入的时候,我们需要根据业务场景把之前的【输入】,【反馈】一并给它,避免大模型失忆导致的对话不流畅。

结构化输出
大模型是具备结构化输出能力的,虽然有些模型支持的不够好,但是没关系,只是支持的程度不同,重要的是它们都支持!
所谓的结构化输出是指,大模型除了可以返回口语化、没有模式的自然语言文本外,还可以按你需求给你返回其他的文本格式,比如:JSON。

你看,这像不像在调一个REST接口?甚至是一个万能接口,毕竟大模型什么都会,不会的也可以现编。

函数调用
其实看到这里我们就可以实现一个大模型驱动的RPC调用引擎了!

大模型帮你推理、规划得到了需要执行的函数和对应的函数参数,至于这个【函数名】对应的到底是一个进程内的方法、HTTP接口、Dubbo接口还是MCP接口都没有那么重要,这只是智能体实现的一个技术细节而已。
我们可以用自然语言表述需求,同时告诉大模型有哪些辅助【工具/函数】可以供它备用。它会推理、编排这些工具来达成需求。

- 把用户输入和可用函数输入给大模型,大模型推理发现需要调用外部函数,于是返回函数名+函数调用参数。
- 智能体捕获输出,对指定函数发起调用,再将用户输入和函数结果一起输入到大模型,大模型基于这些上下文推理输出结果。
考虑到大模型发起函数调用的普遍需求,大模型供应商一般都在API层面提供了【function call】能力,用于将文本输出和函数调用输出区分开,明白了原理,我们知道这只是API抽象层次的问题。
4、大模型接口
考虑到大模型对硬件资源的特别需求(如显卡),所以大模型一般是独立部署,以SaaS模式提供能力。就像MySQL对资源有特别的需求(如大内存),所以一般也是进行独立部署。

训练好的大模型就是一套二进制数据集,SaaS化需要做外围的服务化、产品化封装,同一套模型可以在不同的算力平台部署,提供截然不同的服务化API。
模型封装
示例伪代码如下:

我们可以简单看下当下比较热门的几大供应商提供的API文档:
-
OpenAI-会话补全
https://openai.apifox.cn/api-67883981
-
DeepSeek-会话补全
https://api-docs.deepseek.com/zh-cn/api/create-chat-completion
-
硅基流动-会话补全
https://docs.siliconflow.cn/cn/api-reference/chat-completions/chat-completions
-
Ollama-会话补全
https://www.runoob.com/ollama/ollama-api.html
硅基流动和Ollama都属于大模型算力/治理平台。他们不研发大模型,只是大模型的搬运工。可以把大模型理解成微服务集群,把硅基流动和Ollama理解成微服务构建/发布平台即可。
大概浏览一下,会发现核心API都差不多,毕竟有OpenAI珠玉在前,许多系统都已对接了OpenAI的API。后发的大模型为了兼容,降低接入难度,基本上也都和OpenAI的API大差不差。
就像是MySQL,尽管数据库产品类型百花齐放,但都兼容SQL语法。
我们在此只讨论【会话补全】这一点,会发现会话补全接口的输入/输出大概都是以下情况:
接口输入
{
"stream": false, // 是否是流式输出(要不要SSE)
"model": "deepseek-chat", //选用的哪个模型
"messages": [ // 历史对话消息,因为大模型无状态,所以按场景提供一定数量的历史消息
{
"content": "You are a helpful assistant",
"role": "system"
},
{
"content": "Hi", //消息内容
"role": "user" //消息类型
}
],
"tools": null, //外部函数列表,【函数调用】能力在 API 层面的支持
"frequency_penalty": 0, //无关紧要的模型行为控制参数
"presence_penalty": 0, //无关紧要的模型行为控制参数
"temperature": 1, //无关紧要的模型行为控制参数
"top_p": 1, //无关紧要的模型行为控制参数
"logprobs": false, //无关紧要的模型行为控制参数
"top_logprobs": null //无关紧要的模型行为控制参数
}
这里以目标达成作为要点,内容中部分不理解的参数可以忽略。
接口输出
{
"id": "<string>", //无关紧要
"choices": [
{
"message": {
"role": "assistant",
"content": "<string>", // 大模型生成的内容
"reasoning_content": "<string>",
"tool_calls": [ //需要发起的【函数调用】
{
"id": "<string>",
"type": "function",
"function": {
"name": "<string>",
"arguments": "<string>"
}
}
]
},
"finish_reason": "stop" //有点重要,但是我们先不管
}
],
"usage": { //token使用量 计数、计费
"prompt_tokens": 123,
"completion_tokens": 123,
"total_tokens": 123
},
"created": 123, //无关紧要
"model": "<string>", //无关紧要
"object": "chat.completion" //无关紧要
}
看到这里时,你是不是已经开始跃跃欲试了?是不是感觉打造一个垂直领域的智能体没有想象中那么困难了~
5、RAG架构
除非是围绕特定业务场景结合私域数据训练的专用大模型,否则涉及到一些企业内部的私域信息时,通用大模型也只能不懂装懂的现编。
例如:当你询问大模型【DJob如何接入与使用】,除非训练大模型时输入了相关资料,不然大模型只能现编了。
考虑到专用大模型的成本,工程上解决这个问题的方法一般是通过外挂知识库来实现:
- 结合具体业务场景,将相关的文档与资料提前录入到【知识库】中。
- 用户提交一个【输入】后,先使用 用户【输入】作为搜索条件,去【知识库】中搜索得到相关的【资料】。
- 将用户【输入】和【资料】一起提供给大模型。
此【知识库】组件的具体选型属于实现细节,简单的可以用MySQL、Elasticsearch,如果想提升【知识库搜索结果】的匹配度,也可以使用近期讨论度很高的【向量数据库】。
添加了RAG后,流程如下:

6、MCP协议
可以看到,将大模型作为一个【函数调用】的规划引擎,借助它的推理与生成能力,可以实现复杂的业务流程。如果说大模型是【脑】,那提供给大模型规划、使用的【函数】就是它的【手】和【脚】。有脑有手的大模型,可以迸发出巨大的业务潜力。
那如何打通大模型和传统软件系统(如存量微服务)呢?
我们关注的问题,开源社区也在积极的关注,这就是MCP协议诞生的背景和目的。

MCP协议介绍
https://mcp-docs.cn/introduction
在这里我们不展开MCP协议的细节,仅作个人对MCP协议的思考,重点在于打破MCP协议的神秘感、破除MCP迷信。
- MCP协议本身并非高精尖的内容,简单来说,就是常用人群约定系统间调用的流程、格式。若不考虑通用,谁都可以设计符合自己需求的、领域特定的交互协议。
- MCP协议的优势在于,它出现的非常及时,且基本满足了常规交互需求,因此快速在社区达成了共识。
- 不管是MAP、MBP还是MCP,都没有那么重要,但是形成共识非常重要。协议达成了共识,开源社区才可以合力围绕协议进行生态建设。
7、Spring-AI
到了这一步,我们开始探讨Java代码,首先我们需要熟悉下 spring-ai 的整套代码架构,一步一步来,以整体到到细节的节奏进行讨论。
模型抽象
核心的API实体是 Model ,是一个带泛型的纯函数,提供了对大模型能力的顶层抽象:

大模型的能力本质就是:输入一个( request ),返回一个输出。
至于输入/输出的具体类型,由细分的子类限定:

不同模态的大模型支持不同类型的输入/输出,在此我们只讨论 ChatModel 。


spring-ai 提供了不同平台、不同模型的API集成,开发者只需要提供接口地址、调用凭证即可开箱使用~
聊天会话
考虑到大模型对话是热点场景, spring-ai 针对性的提供了会话接口抽象。

RAG拓展
类似Spring-AOP, spring-ai 基于请求横切提供了开箱即用的RAG能力抽象。


代码示例
基于供应商构建ChatModel

构建ChatClient发起会话

8、智能体示例
到这里,我们已经自上而下的理解了大模型的工程化,现在我们来开发一个【DJob智能助手】吧!
接口骨架

通过 POST 接口,响应 Content-Type 为 text/event-stream 。
构造外部函数定义
假设有以下几个函数可以给大模型提供能力:

将上述3个本地方法封装成 ChatClient API 认识的【ToolCallback】:

构建可用的 函数/工具 信息,这里用本地方法来mock。实际使用时可以利用MCP/HTTP/gRPC/Dubbod等实现跨系统调用。
系统提示词
由于不能让大模型自由发挥,因此需要在用户输入的内容外,给大模型一些定向信息补充或场景限定,帮助大模型更好地解决问题!

v发起调用

- 考虑到大模型无状态,所以每次会话时历史消息也需要一并输入。
- 历史消息可以由前端收集、提交,也可以由后端每次会话存储、收集。
9、总结
综上所述,太阳底下没有新鲜事,工程领域所有的新生事物都可以暂时把它当做MySQL,没有人比Java工程师更懂MySQL了(开玩笑)。
以上,除Java代码外,都是经过盲人摸象的方法探索出的内容。如有错误,欢迎指正。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】


为什么要学习大模型?
我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。


大模型入门到实战全套学习大礼包
1、大模型系统化学习路线
作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

2、大模型学习书籍&文档
学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

3、AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

4、大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

5、大模型大厂面试真题
面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

适用人群

第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

1万+

被折叠的 条评论
为什么被折叠?



