spring-ai 1.0.0 学习(十)——逻辑模型
摘要:Spring-AI的核心逻辑围绕Model模型构建,包含ModelRequest(含指令和参数)、Model(提供call方法)和ModelResponse(含结果和元数据)三个关键组件。所有大语言模型调用都基于此基础框架,包括聊天、嵌入式等衍生模型,其继承关系和组织形式与基础模型保持一致。理解这个核心架构能有效提升学习效率,快速定位各组件角色,如Message对应指令、Generation
在学习spring-ai时,有一个底层逻辑模型非常重要,理解后对于学习spring-ai有着事半功倍的效果
那就是围绕着模型调用相关的抽象概念,下面是spring官方给出的图:

为了方便理解,我们在此基础上进一步简化:
Model模型
| ModelRequest -> | Moel -> | ModelResponse |
| |-- T instructions | call | |-- List<ModelResult> |
| |-- ChatOptions | |-- ResponseMetadata |
Model:即我们调用的大模型,提供call方法,输入ModelRequest,输出ModelResponse
ModelRequest:调用大模型时的输入,包含指令instructions和模型参数ChatOptions
ModelResponse:调用大模型时的输出,包含调用结果List<ModelResult>和响应元数据ResponseMetadata
这就是大语言模型调用的底层逻辑模型
其他如聊天模型,嵌入式模型,文生图模型等等都是在此基础上衍生的,各个部分都继承了上面逻辑模型的接口,以聊天模型接口为例:
ChatModel模型
| Prompt | ChatModel | ChatResponse |
| |-- List<Message> | call | |-- List<Generation> |
| |-- ChatOptions | stream | |-- ChatResponseMetadata |
各个部分与Model模型一一对应,分别继承自对应接口,同时实现类结构也类似,以ZhiPuAiChatModel为例:
ZhiPuAiChatModel模型
| Prompt | ZhiPuAiChatModel | ChatResponse |
| |-- List<Message> | call | |-- List<Generation> |
| |-- ZhiPuAiChatOptions | stream | |-- ChatResponseMetadata |
可以看出实现类也是与Model模型同样的组织形式,其他大语言模型的实现也是类似的,所以理解Model模型对我们学习理解spring-ai和阅读源码意义重大。
熟悉了上述模型后,看到诸如Message或者Generation后,可以第一时间理解其定位和大概作用。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)