Spring AI架构分析
Spring AI
Spring AI开发框架提供对接应用与AI模型的集成开发能力,让开发者更加容易地开发智能体以及其他生成式人工智能的应用:
模型(Model)
AI模型是算法与数据的集合,用于处理信息以及生成信息,主要AI模型的类别包括,LLM大语言模型、图像或者视频生成模型、文本到语音模型、语音到文本模型、嵌入式表示模型、集合不同类别的模型在一起的多模态模型:
提示词(Prompt)
提示词是提示也是问题,即以提示性的方式向AI模型提问题或者需求,用于指导AI模型更加准确地实现人工与机器之间的交互。
嵌入式表示(Embedding)
嵌入式表示包括算法与数据结构,算法将输入的文本或者多媒体的信息转换为标准数字,存储在向量的数据结构中,实现高效地计算数据之间的相关性:
分词(Token)
分词作为AI模型处理文本输入与输出的最小单元,将输入的文本转化为token列表以及将输出的token列表转化为文本,理论上,单词与token之间的对应关系是1对多的关系,一个相同的单词可以出现在多个不同的token中。
结构化输出
Spring AI开发框架在AI模型处理的流程中,支持合法数据的输入以及结构化数据的输出:
AI模型支持供给侧的数据以及API接口调用
AI模型在数据处理的流程中,支持处理应用直接输入的数据以及调用应用提供的API接口获取第三方的数据,应用与AI模型的交互流程中,AI模型需要获取本地化的数据,AI模型支持数据本地化的方式包括,AI模型运行前使用机器学习微调本地化数据,AI模型运行中使用提示词加本地化数据作为上下文输入:
检索增强式生成(RAG)
RAG技术是传统的增强型索引系统技术,使用RAG技术从传统的大数据系统的向量数据集合中,获取用户业务的本地上下文数据,用于为提示词提供更加准确的本地化上下文数据,从而提升人工与机器之间交互的准确度:
工具调用(Tool Calling)
AI模型由算法与固定不变的数据构成,在AI模型运行的流程中,需要使用工具调用向第三方获取动态的数据,Spring AI开发框架提供数据与第三方调用API接口信息的输入,AI模型使用工具调用向Spring AI发送调用第三方接口的请求,Spring AI代理执行第三方接口的调用,Spring AI将第三方接口的响应返回给AI模型,AI模型结合工具调用获取到的动态数据与自身处理的数据,返回给客户端应用: