智能硬件大模型語音交互流程自定義編排(基礎(chǔ)篇)
本篇文章主要講解怎么在聆思大模型平臺(tái)LSPlatform上實(shí)現(xiàn)自定義大模型應(yīng)用開發(fā),包含云端節(jié)點(diǎn)的輸入輸出,以及怎樣在實(shí)際應(yīng)用落地的時(shí)候怎么做調(diào)試、debug和錯(cuò)誤捕獲。
如果想了解有哪些現(xiàn)成示例可以使用,可以參考之前分享的文章。
左邊側(cè)邊欄的節(jié)點(diǎn)模塊是編排應(yīng)用需要用到的一些節(jié)點(diǎn),這些節(jié)點(diǎn)封裝了對(duì)應(yīng)功能,例如提示詞節(jié)點(diǎn),它的作用是將輸入通過該節(jié)點(diǎn)處理后組裝成所需的prompt提示詞進(jìn)行輸出。
中間是流程編排區(qū),新建或?qū)?dǎo)入的模塊進(jìn)行自定義修改就在此區(qū)域進(jìn)行。
在編排區(qū)點(diǎn)擊對(duì)應(yīng)的節(jié)點(diǎn),會(huì)在右側(cè)彈出編輯框,可以進(jìn)行對(duì)應(yīng)功能的編輯。
如下圖所示,每個(gè)節(jié)點(diǎn)通常包含幾個(gè)方面:首先是節(jié)點(diǎn)屬性欄,其中包括節(jié)點(diǎn)的各種操作設(shè)置;其次是幫助信息部分,每個(gè)節(jié)點(diǎn)都會(huì)提供相應(yīng)的幫助說明,明確該節(jié)點(diǎn)所需輸入數(shù)據(jù)格式以及輸出內(nèi)容將包含在哪個(gè)JSON文件中。
以提示詞節(jié)點(diǎn)為例,根據(jù)節(jié)點(diǎn)幫助信息的指導(dǎo),需要在輸入時(shí)構(gòu)造相應(yīng)格式的數(shù)據(jù),并將其存放在message.payload中。假設(shè)需要調(diào)試一個(gè)包含"a"和"b"鍵的提示詞,可以在此創(chuàng)建一個(gè)包含"a"和"b"值的JSON作為輸入,連接到提示詞節(jié)點(diǎn)的輸入端。
對(duì)于其他封裝節(jié)點(diǎn),我們可以通過點(diǎn)擊節(jié)點(diǎn)查看其相關(guān)屬性,并通過幫助信息了解節(jié)點(diǎn)輸入輸出詳細(xì)格式,這對(duì)于后續(xù)編寫復(fù)雜鏈路和數(shù)據(jù)獲取至關(guān)重要。例如知識(shí)庫問答節(jié)點(diǎn)打開后按照項(xiàng)目名填入對(duì)應(yīng)信息即可加入鏈路使用。
在調(diào)試過程中,我們可以使用【inject】觸發(fā)輸入進(jìn)行測(cè)試。如下圖所示,部署后,可以直接點(diǎn)擊時(shí)間戳前面的方框觸發(fā)鏈路編排,激活從某一節(jié)點(diǎn)開始,經(jīng)過配置的節(jié)點(diǎn),最終到達(dá)提示詞節(jié)點(diǎn)。
成功請(qǐng)求后,若需查看輸出結(jié)果,可以在調(diào)試階段引入一個(gè)debug節(jié)點(diǎn),然后再次部署并觸發(fā),以查看鏈路執(zhí)行結(jié)果。
在右側(cè)側(cè)邊欄的debug部分,可查看所添加的debug節(jié)點(diǎn)輸出的信息,它會(huì)將上游節(jié)點(diǎn)的輸出作為自身輸入,并將其內(nèi)容記錄在日志中。這里顯示的日志內(nèi)容包括msg.payload中的JSON,即經(jīng)過提示詞節(jié)點(diǎn)模板渲染后的輸出結(jié)果。
最小業(yè)務(wù)流搭建先參考下圖把對(duì)應(yīng)節(jié)點(diǎn)拉入編排區(qū)
打開【function】節(jié)點(diǎn)在模擬調(diào)試時(shí),我們需要對(duì)數(shù)據(jù)進(jìn)行處理,根據(jù)【星火大模型】調(diào)用節(jié)點(diǎn)的輸入要求準(zhǔn)備數(shù)據(jù)。打開星火大模型節(jié)點(diǎn)的幫助文件,可以看到輸入為帶messages數(shù)組的JSON格式,而輸出則為標(biāo)準(zhǔn)模型對(duì)話格式。
例如使用“1+2等于多少”作為示例數(shù)據(jù),打開【function 1】節(jié)點(diǎn)配置,隨后利用debug節(jié)點(diǎn)觀察輸出結(jié)果,這有助于應(yīng)用開發(fā)過程中的調(diào)試工作。
如下圖觸發(fā)后,可以看到debug節(jié)點(diǎn)接收到多幀數(shù)據(jù),這表明節(jié)點(diǎn)配置了流式返回。在debug節(jié)點(diǎn)中可以觀察到流式返回的內(nèi)容。
若不需要流式返回,可關(guān)閉此選項(xiàng)再次觸發(fā),此時(shí)debug節(jié)點(diǎn)展示的輸出為標(biāo)準(zhǔn)對(duì)話輸出格式。從中可以觀察到msg.payload中choices 數(shù)組的message的content字段包含了模型的實(shí)際輸出結(jié)果。
我們可以用function節(jié)點(diǎn)來改變輸入和輸出。例如在上圖中的【function 2】節(jié)點(diǎn),將模型輸出的content字段復(fù)制到massage.payload中作為輸出。
檢查function節(jié)點(diǎn)處理后的輸出結(jié)果,可以看到輸出已經(jīng)按照預(yù)期改變了結(jié)構(gòu),直接顯示為模型生成的文本內(nèi)容。
鏈路應(yīng)用開發(fā)技巧包括使用前置觸發(fā)器啟動(dòng)流程、引入function節(jié)點(diǎn)修改數(shù)據(jù)結(jié)構(gòu)、編寫鏈路,以及使用debug節(jié)點(diǎn)逐項(xiàng)檢查每個(gè)節(jié)點(diǎn)的輸出并進(jìn)行調(diào)試,從而形成完整的工作鏈路。
配套講解視頻【聆思大模型平臺(tái)LSPlatform云端節(jié)點(diǎn)編排教程上集 —— 基礎(chǔ)節(jié)點(diǎn)使用-】 https://b23.tv/x8Dg0jp
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。