当私有化部署的AI大模型顺利落地,下一个挑战立刻摆在眼前:如何高效对接业务系统?LangChain 固然是热门选择,无奈日常开发任务繁重,迟迟未能实践。转折点出现在关注到 Spring AI 及其 Alibaba 扩展的新版本发布公告。时机成熟,无需再等,立刻上手 Spring AI Alibaba 成了我的最佳选择。
两个框架的区别
- Spring AI 是 Spring 官方推出的一个框架,Spring AI 侧重 AI 能力构建的底层原子能力抽象以及与 Spring Boot 生态的无缝集成,如模型通信(ChatModel)、提示词(Prompt)、检索增强生成(RAG)、记忆(ChatMemory)、工具(Tool)、模型上下文协议(MCP)等,帮助 Java 开发者快速构建 AI 应用。。
- Spring AI Alibaba 是一款以 Spring AI 为基础,深度集成百炼平台,支持 ChatBot、工作流、多智能体应用开发模式的 AI 框架。
Spring AI 框架使用的核心概念
之前零基础使用dify后,看到这些概念,只能说是原来如此,官方链接如下:
核心概念-阿里云Spring AI Alibaba官网官网 (java2ai.com)
- 模型(Model)
AI 模型是旨在处理和生成信息的算法,通常模仿人类的认知功能。通过从大型数据集中学习模式和见解,这些模型可以做出预测、文本、图像或其他输出,从而增强各个行业的各种应用。 - 提示词(Prompt)
Prompt作为语言基础输入的基础,指导AI模型生成特定的输出。 - 嵌入(Embedding)
是文本、图像或视频的数值表示,能够捕捉输入之间的关系,Embedding通过将文本、图像和视频转换为称为向量(Vector)的浮点数数组来工作。这些向量旨在捕捉文本、图像和视频的含义,Embedding数组的长度称为向量的维度。
通过计算两个文本片段的向量表示之间的数值距离,应用程序可以确定用于生成嵌入向量的对象之间的相似性。 - Token
token是 AI 模型工作原理的基石。输入时,模型将单词转换为token。输出时,它们将token转换回单词。
也许更重要的是 “token = 金钱”。在托管 AI 模型的背景下,您的费用由使用的token数量决定。输入和输出都会影响总token数量。 - 结构化输出(Structured Output)
输出结果为json格式 - 数据和 API 引入 AI 模型
Fine Tuning微调(模型微调)、Prompt Stuffing提示词填充(RAG)、Function Calling(函数调用)
三种技术,一般使用第二种或者第三种。 - 检索增强生成
从文档中读取非结构化数据、对其进行转换、然后将其写入矢量数据库。从高层次上讲,这是一个 ETL(提取、转换和加载)管道。矢量数据库则用于 RAG 技术的检索部分。 - 函数调用
大型语言模型 (LLM) 在训练后即被冻结,导致知识陈旧,并且无法访问或修改外部数据。机制解决了这些缺点,它允许您注册自己的函数,以将大型语言模型连接到外部系统的 API。这些系统可以为 LLM 提供实时数据并代表它们执行数据处理操作。 - 评估人工智能的回答
用户的请求、模型的响应一同作为输入给到模型服务,对比模型给的响应或回答是否与提供的响应数据一致
开发第一个 Spring AI Alibaba 应用
下载官方示例 github.com/springaiali…
- 我们熟悉下项目结构,其中在父pom可以看到jdk、springboot、spring ai、spring ai alibaba三者版本的关系。
- 配置好在阿里云百炼生成的apikey(该demo未填写模型,默认使用的是qwen-max),启动服务
访问http://localhost:18080/helloworld/simple/chat
访问http://localhost:18080/helloworld/stream/chat 流式返回
本章内容主要基于 Spring AI Alibaba 官方文档,其提供的示例代码已相当完善。我们通过一个简单的 HelloWorld 工程,快速体验了项目的启动流程和模型调用方法。在后续文章中,我们将深入探讨该项目的其他核心模块功能,敬请期待!