我們將如何將我們得傳統業務進行智能化的改造
>>>1.將我們傳統的航空票務系統 我們之前通過按鈕的方式來完成 現在我們通過智能對話的方式完成
>
現在我們通過對話的方式來完成 整個智能化的改造
傳統應用如何進行智能化改造
我們把我們的項目通過Spring-ai 來接入Ai大模型 然后整合我們自己的業務來完成 大模型應用的開發我們的項目架構 通過rag 會把我們業務數據----->存儲在我們的向量存儲中
我們會把我們的業務數據檢索進入向量存儲中-------->告訴大模型--->這樣大模型就具備了我們垂直
1.promt 我們可以利用提示詞來預設一些角色
2.會話記憶 大模型可以記錄我的名字 整個會話過程中知道我叫xushu
我的這些票據信息 (我們要把我們的系統的數據喂給大模型)
##>> 當我退訂成功 大模型會執行我們的API --->將狀態update (x)
在這里插入代碼片
當我們基于spring-ai接入大模型的時候 我們和大模型的對話是這樣的, 我們第一個要做的就是預設角色,因為你現在的聊天是漫無目的的,呢我希望它是一個智能航空助手來跟我對話
當我設置完畢角色之后 再和ai 進行對話的時候效果就會好很多了##
預設角色完成后,下一步我給他增加我們的對話記憶, 因為現在說話 他是記不住我之前所說的話的
## 比如說這樣
現在他就不知道我叫什么了,但是我之前已經明顯告訴它了 就是因為此時他沒有記錄我的名字 沒有對話記憶我們可以加入它的會話記憶, 此時我們的chatmemory 是記錄在內存的,當然我們也可以把它記錄在redis
divusirs 加一個攔截器
代表我可以記憶100條聊天記錄 現在就已經擁有了對話記憶的功能了對話記憶的底層原理 我告訴它我叫xuru 后續它就知道我叫xushule
我們springai 跟大模型進行對話 其實是根據這個Promt 提示詞 當我第一次告訴它 您好 我叫xushu
它回答 歡迎你xushu 我如果配置了對話記憶 當我下次問他 我叫什么 它會把之前所有的對話記錄 都一起傳到我們的大模型
大模型會根據之前的所有的對話信息就能夠檢索到 從而就可以完成 所謂的對話記憶、、###########》此時對話有了記錄 我們就可以在開發階段做一些記錄 當某些對話達不到我們想要的效果時,我們就可以分析一下整個對話中
聊天聊的是什么實現一下對話的日志記錄.defaultAdvices 就是對話之間的攔截器 我們此時的對話記憶就是通過攔截器實現的
它此時就會把對話內容發出來, 這樣方便我們分析對話智能對話當中最核心的2個功能 退訂和更改預定
退訂的業務需求 我們只能退訂臨發車之前頭2天的時間 然后退訂成功之后 我們把狀態改為 取消
我們怎么通過對話的方式讓大模型調用我們的方法
我們怎么在對話中拿到用戶提供的預定號和姓名
我們可以加入提示詞 就可以讓用戶提供給我們 預定號和姓名
我們可以加入提示詞 就可以讓用戶提供給我們 預定號和姓名
所以 此時我們的聊天內容就變成這樣了,我們可以通過引導的方式告訴用戶 如果你需要退訂的話 麻煩你提供預定好和姓名
當我們提供了預定號和姓名 之后就胡扯了 因為它此時沒有調用到我們的業務方法
通過funcingCall 調用我們的業務方法 并且我們還要提取到對話當中的 這這關鍵參數###### 我們需要寫這么一個方法 第一個參數就是 我們需要從
這里 第一個代表我從大模型中需要獲取的東西,
我告訴大模型 是用來處理機票退訂得
這樣大模型就知道了 當你業務需要處理機票退訂 這樣 大模型就提取預定號和姓名 然后調用業務方法 實現退訂業務實現第二個參數是我要告訴大模型的
比如說航班信息是我系統內部的數據 我要怎么告訴大模型
>>>>>>1. 調整我們的提示詞
在這里插入代碼片
之前我們實現了退訂,但是現在退訂得花 還得讓客戶確認下機票信息,而不是我直接發給你信息后直接就給我票退了
其實我們只要加入提示詞就可以了
第二個參數是我們要返回給大模型得數據
##########》》》》》。這樣的話我就會吧我得航班信息告訴給大模型
##############>現在就可以確認了
##########。>>>>>>..退訂實現了現在我們用rag 來增強我們的對話內容比如說我此時咨詢,需要扣費么 它基礎大模型肯定是不知道的。此時我們就可以通過這個問題去查詢向量db(相似性檢索)
向量數據庫 做相似性檢索得 當我們ask 退費需要扣費么
就可以檢索到跟扣費相似得內容 但是前提我們得先往向量數據庫中檢入大量得需求內容
我就得要把取消退票預定 造成得一些影響 先檢入到向量db中
我們的模板 ------>檢入的內容
就是航空系統得一些條款
當用戶進行不同得對話 比如說取消預定 在對話當中就會實時得告訴它這些條款
#############>>>>>>>>>>>>>>>>>>>..
配置一個向量數據庫 比如說redis es
本案例中我們用內存數據庫 ------------->怎么用redis 實現向量數據庫
啟動springboot得時候就會運行------>寫入向量庫
讀取資料 不管是文件也好/文檔
轉換為向量數據庫所需要得文檔--->寫入向量數據庫
添加rag
向量數據庫得內容能不能加到角色預設中 肯定可以得
但是我們實際過程中 我們得預設角色數據都是一些基本信息
我們可以通過我們得業務數據--->rag 檢索到向量dbzhong
我們傳統應用如何對我們智能化改造 有一個深刻得理解