3、Spring AI Alibaba是什么

148 阅读4分钟

当私有化部署的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)

  1. 模型(Model)
    AI 模型是旨在处理和生成信息的算法,通常模仿人类的认知功能。通过从大型数据集中学习模式和见解,这些模型可以做出预测、文本、图像或其他输出,从而增强各个行业的各种应用。
  2. 提示词(Prompt)
    Prompt作为语言基础输入的基础,指导AI模型生成特定的输出。
  3. 嵌入(Embedding)
    是文本、图像或视频的数值表示,能够捕捉输入之间的关系,Embedding通过将文本、图像和视频转换为称为向量(Vector)的浮点数数组来工作。这些向量旨在捕捉文本、图像和视频的含义,Embedding数组的长度称为向量的维度。
    通过计算两个文本片段的向量表示之间的数值距离,应用程序可以确定用于生成嵌入向量的对象之间的相似性。
  4. Token
    token是 AI 模型工作原理的基石。输入时,模型将单词转换为token。输出时,它们将token转换回单词。
    也许更重要的是 “token = 金钱”。在托管 AI 模型的背景下,您的费用由使用的token数量决定。输入和输出都会影响总token数量。
  5. 结构化输出(Structured Output)
    输出结果为json格式
  6. 数据和 API 引入 AI 模型
    Fine Tuning 微调(模型微调)、Prompt Stuffing 提示词填充(RAG)、Function Calling(函数调用)
    三种技术,一般使用第二种或者第三种。
  7. 检索增强生成
    从文档中读取非结构化数据、对其进行转换、然后将其写入矢量数据库。从高层次上讲,这是一个 ETL(提取、转换和加载)管道。矢量数据库则用于 RAG 技术的检索部分。
  8. 函数调用
    大型语言模型 (LLM) 在训练后即被冻结,导致知识陈旧,并且无法访问或修改外部数据。机制解决了这些缺点,它允许您注册自己的函数,以将大型语言模型连接到外部系统的 API。这些系统可以为 LLM 提供实时数据并代表它们执行数据处理操作。
  9. 评估人工智能的回答
    用户的请求、模型的响应一同作为输入给到模型服务,对比模型给的响应或回答是否与提供的响应数据一致

开发第一个 Spring AI Alibaba 应用

下载官方示例 github.com/springaiali…

  1. 我们熟悉下项目结构,其中在父pom可以看到jdk、springboot、spring ai、spring ai alibaba三者版本的关系。

image.png

image.png

  1. 配置好在阿里云百炼生成的apikey(该demo未填写模型,默认使用的是qwen-max),启动服务

image.png

访问http://localhost:18080/helloworld/simple/chat

image.png

访问http://localhost:18080/helloworld/stream/chat 流式返回 image.png

本章内容主要基于 Spring AI Alibaba 官方文档,其提供的示例代码已相当完善。我们通过一个简单的 HelloWorld 工程,快速体验了项目的启动流程和模型调用方法。在后续文章中,我们将深入探讨该项目的其他核心模块功能,敬请期待!