對話模型接口描述
Spring AI基于Spring Cloud的架構體系,定義了一系列可擴展的API接口,支持對接不同類型的AI大模型的核心功能,這些API接口支持同步編程模式或者異步編程模式:
接口Model
Model是同步編程模式接口,其參數支持同步請求與響應:
接口Model的模型類型的繼承實現的抽象具體關系:
接口StreamingModel
StreamingModel是異步編程模式接口,其參數支持異步流式請求與響應:
接口StreamingModel的模型類型的繼承實現的抽象具體關系:
接口ChatModel
ChatModel是對話模型的擴展接口,不同AI模型的廠商獨立實現該接口,在Maven項目中,需要獨立引入對應AI模型廠商的依賴庫:
接口ChatModel繼承了同步編程接口Model以及異步編程接口StreamingChatModel,該接口既支持同步編程模式,也支持異步編程模式:
在Maven項目中,引入了AI模型廠商DeepSeek的依賴庫,接口ChatModel的模型類型的繼承實現的抽象具體關系:
Prompt提示詞接口描述
接口ModelRequest
對話模型的請求信息接口ModelRequest,所有對話模型的請求信息都實現該接口,包括提示詞:
請求信息接口ModelRequest的繼承實現的抽象具體關系:
接口ModelResponse
對話模型的響應信息接口ModelResponse,所有對話模型的響應信息都實現該接口:
響應信息接口ModelResponse的繼承實現的抽象具體關系:
提示詞類Prompt
提示詞類Prompt的繼承實現的抽象具體關系,其中,接口Message用于封裝消息內容:
Spring AI消息內容接口
Spring AI消息內容接口的繼承實現的抽象具體關系:
接口Content
消息內容頂層接口Content,所有內容消息類型都實現該接口:
消息內容頂層接口Content的繼承實現的抽象具體關系:
接口Message
消息內容接口Message,所有消息內容類型都實現該接口:
消息內容接口Message的繼承實現的抽象具體關系:
接口MediaContent
多媒體內容接口MediaContent:
多媒體內容接口MediaContent的繼承實現的抽象具體關系:
抽象類AbstractMessage
消息內容的抽象類AbstractMessage,所有消息內容類型都實現該類:
消息內容的抽象類AbstractMessage的繼承實現的抽象具體關系:
接口MessageType
消息內容的消息類型,其中,包括user類型,該類型的消息來自客戶端用戶,assistant類型,該類型的消息來自AI模型的響應,system類型,該類型的消息來自系統級別的指示,tool類型,該類型的消息來自工具調用中的功能需求:
消息內容為user類型的類:
消息內容為assistant類型的類:
消息內容為system類型的類:
消息內容為tool類型的類:
Spring AI應用與AI模型的業務流程
Spring AI應用獲取客戶端輸入的提示詞Prompt,Spring AI應用處理輸入的Prompt,向AI模型發起請求,AI模型處理業務,AI模型響應Spring AI應用的請求,Spring AI應用處理輸出,響應客戶端的請求:
工具調用流程
Spring AI支持的AI模型工具調用的業務流程:
1.Spring AI應用接受客戶端的請求,向AI模型發起對話的請求,請求信息包括工具調用的元數據信息,名稱、描述以及輸入數據
2.AI模型向Spring AI應用發起工具調用的請求,Spring AI應用向第三方的開放接口轉發AI模型的請求
3.Spring AI應用調用第三方的開放接口
4.第三方的開放接口響應Spring AI應用的請求
5.Spring AI應用響應AI模型的請求
6.AI模型響應Spring AI應用的請求,Spring AI應用響應客戶端的請求
數據標準化流程
Spring AI提供開發框架支持數據標準化的業務流程,讀取數據源輸入的文檔文本,對文檔文本執行標準化處理,輸出文檔文本到存儲中保存:
DeepSeek對話模型應用開發
搭建開發環境
Spring AI支持很多AI模型的集成開發,其中,包括DeepSeek大模型,注冊登錄DeepSeek官方網站,獲取開放平臺提供的API接口調用的API-keys,在Spring Boot Maven項目的屬性配置文件中設置spring.ai.deepseek.api-key,在Maven配置文件中引入deepseek-ai開發依賴庫以及webflux開發框架依賴庫:
開發AI應用服務
定義Spring AI?應用的web服務接口,初始化DeepSeek的AI模型對話客戶端:
定義Spring AI?應用的同步編程模式的web服務接口,Spring AI應用向AI模型發送對話請求,Spring AI應用向客戶端響應AI模型的對話請求:
定義Spring AI?應用的異步編程模式的web服務接口,Spring AI應用向AI模型發送對話請求,Spring AI應用向客戶端異步流式響應AI模型的對話請求: