超級干貨:0基礎(chǔ)也可以學(xué)會的AI agent搭建!你的第一個(gè)bot教程

jyc
0 評論 419 瀏覽 0 收藏 14 分鐘

自從大模型開啟智能化之后,各大廠家都開始做自己的AI Agent,畢竟這好像是一個(gè)比較不錯(cuò)的應(yīng)用方向和變現(xiàn)模式。這篇文章,我們就來和組綜合學(xué)習(xí)一下,如何從0到1打造一款自己的bot。

本節(jié)開始,我們創(chuàng)建一個(gè)實(shí)戰(zhàn)案例:圖書管理工作流。

溫馨提示:本文內(nèi)容很多,涉及貫穿了搭建扣子應(yīng)用的很多知識。如果學(xué)懂本文,你可以完全掌握了扣子搭建的原理,話不多說,上干貨。??

一、流程分析設(shè)計(jì)

圖書管理工作流的作用是:通過判斷圖書管理員的自然語言指令的意圖,來執(zhí)行對應(yīng)的操作。

例如:分析管理員指令,其目的是向數(shù)據(jù)庫增加一本書、或是刪除一本書,還是檢索當(dāng)前數(shù)據(jù)庫中所有的圖書。

我們期望的效果是:當(dāng)圖書管理員輸入類似“請幫我查詢有哪些書籍”的時(shí)候,工作流就返回當(dāng)前數(shù)據(jù)庫所有的圖書。

當(dāng)輸入類似“向數(shù)據(jù)庫錄入XXX(書名)”的時(shí)候,就向數(shù)據(jù)庫添加一本書。當(dāng)輸入刪除指令的時(shí)候,就刪除一本書。

通過分析,得出結(jié)論

  1. 如果要分析用戶的意圖,我們需要有一個(gè)理解用戶語義的功能節(jié)點(diǎn),這時(shí)候就需要我們的 大模型節(jié)點(diǎn) 出場了。(工作流中使用的節(jié)點(diǎn)在教程中也都有詳細(xì)示例+講解)
  2. 判斷完管理員意圖后,我們具體要執(zhí)行哪個(gè)操作,是查詢、添加,還是刪除,這里有一個(gè)選擇判斷的過程,那當(dāng)然得用 選擇器節(jié)點(diǎn) 去做這個(gè)工作。
  3. 因?yàn)槲覀冃枰脭?shù)據(jù)庫來存儲書籍列表,數(shù)據(jù)庫節(jié)點(diǎn) 肯定是必不可少的了。

經(jīng)過分析,我們需要用到三個(gè)類型的節(jié)點(diǎn): 大模型節(jié)點(diǎn) 、選擇器節(jié)點(diǎn)、選擇器節(jié)點(diǎn)。
接下來我們就來使用這些節(jié)點(diǎn)來正式開始創(chuàng)建。

二、創(chuàng)建Bot

1. 初始化Bot

通過之前課程的學(xué)習(xí),我們知道,如果要在工作流中使用數(shù)據(jù)庫節(jié)點(diǎn),一定要先在Bot中創(chuàng)建一個(gè)對應(yīng)的數(shù)據(jù)庫。

所以首先,我們要創(chuàng)建一個(gè)Bot,然后在Bot中建立一個(gè)數(shù)據(jù)庫。

2. 創(chuàng)建數(shù)據(jù)表

點(diǎn)擊 + 按鈕,創(chuàng)建一個(gè)數(shù)據(jù)表。

3. 自定義數(shù)據(jù)表

4. 添加字段

到此步驟,數(shù)據(jù)表就創(chuàng)建完成了,接下來開始創(chuàng)建工作流。

三、創(chuàng)建工作流

1. 初始化工作流

創(chuàng)建完Bot之后,我們來進(jìn)入工作流管理頁面,創(chuàng)建工作流。
點(diǎn)擊 創(chuàng)建工作流 按鈕。

2. 填寫工作流信息

3. 確定工作流所用節(jié)點(diǎn)

這里很關(guān)鍵:我們先把需要用到的節(jié)點(diǎn)先加到視圖里,然后再分別對節(jié)點(diǎn)進(jìn)行具體的設(shè)置。

從上文得知,需要用到:大模型節(jié)點(diǎn) 、選擇器節(jié)點(diǎn)、選擇器節(jié)點(diǎn)。

為了方便接下來大家的操作,做到心中有數(shù),我們先把搭建好的結(jié)構(gòu)到放這里,讓大家對結(jié)構(gòu)有一個(gè)大體的了解,這樣之后搭建起來會更容易操作。

現(xiàn)在正式開始向工作流中加入節(jié)點(diǎn)。

4. 添加大模型節(jié)點(diǎn)

大模型節(jié)點(diǎn)主要有兩個(gè)作用:

  • 一個(gè)是分析用戶語義,判斷用戶是希望添加、刪除還是查詢書籍。
  • 另一個(gè)作用是提取出書籍名稱。

例如當(dāng)圖書管理員給的指令是:“添加一本《三國演義》”,那這時(shí)候大模型需要提取兩個(gè)關(guān)鍵信息。一個(gè)是 添加,一個(gè)是《三國演義》的書籍名稱。

那么接下來我們先添加兩個(gè)大模型節(jié)點(diǎn),分別用來返回 圖書名稱操作類型。(正常情況下,一個(gè)大模型節(jié)點(diǎn)也是可以搞定的,返回一個(gè)數(shù)據(jù)對象即可,這里大家知道就可以了。為了更直觀的演示流程,這里還是用兩個(gè)大模型節(jié)點(diǎn)來演示。)

節(jié)點(diǎn)結(jié)構(gòu)如下:

第一個(gè)是提取書名的大模型節(jié)點(diǎn),它的前置節(jié)點(diǎn)是 開始節(jié)點(diǎn),直接引用開始節(jié)點(diǎn)中query參數(shù),用來獲取用戶的自然語言指令。

因?yàn)橐崛?,所以提示詞這里我們直接寫:提取query中的書名 即可。這里注意,query對應(yīng)的就是輸入?yún)?shù)名。

詳細(xì)配置:

第二個(gè)大模型節(jié)點(diǎn)用來分析用戶意圖,所以輸入?yún)?shù)這里還是獲取用戶的query。

如果用戶的意圖和添加有關(guān):則返回1 ;

如果和刪除有關(guān),則返回2;

否則返回3。

所以提示詞可以這樣寫

詳細(xì)配置:

最后輸出一個(gè)type變量,值為1,2或3。

5. 添加選擇器節(jié)點(diǎn)

選擇器節(jié)點(diǎn)的前置節(jié)點(diǎn)是 大模型-操作類型 節(jié)點(diǎn)。選擇器節(jié)點(diǎn)通過獲取type的值來判斷具體執(zhí)行哪個(gè)操作。

這里注意要用到兩個(gè)選擇器節(jié)點(diǎn)才能做到type的3個(gè)值的判斷,因?yàn)橐粋€(gè)選擇器節(jié)點(diǎn)只能判斷是和否,所以我們要再借助一個(gè)選擇器節(jié)點(diǎn)。

整體結(jié)構(gòu)如下:

選擇器-1 配置:

選擇器-2配置:

6. 添加數(shù)據(jù)庫節(jié)點(diǎn)

如之前的教程所講,數(shù)據(jù)庫節(jié)點(diǎn)是用來操作數(shù)據(jù)庫的。
通過之前type的三個(gè)值,我們知道,對數(shù)據(jù)庫要有三個(gè)操作:查詢,添加和刪除。

所以我們要添加三個(gè)數(shù)據(jù)庫節(jié)點(diǎn),分別用來查詢,添加和刪除。

對數(shù)據(jù)庫的設(shè)置我們之前也講過,如果想學(xué)習(xí),關(guān)注即可獲取免費(fèi)教程學(xué)習(xí)。

設(shè)置數(shù)據(jù)庫添加節(jié)點(diǎn)參數(shù):

使用自動生成SQL功能生成

使用SQL后,我們還需要修改一下SQL的變量,要把‘新添加的書換成’輸入?yún)?shù)名

替換后正確的配置是這樣的:

同樣的方法修改 數(shù)據(jù)庫刪除節(jié)點(diǎn) 參數(shù)配置。

同樣的方法修改 數(shù)據(jù)庫查詢節(jié)點(diǎn) 參數(shù)配置,注意圖中所示,兩個(gè)查詢的name字段要對應(yīng)。

7. 結(jié)束節(jié)點(diǎn)設(shè)置

結(jié)束節(jié)點(diǎn) 的前置節(jié)點(diǎn)是 數(shù)據(jù)庫查詢節(jié)點(diǎn)。我們最后希望的是:不管用戶的意思圖是查詢,添加還是刪除,最后我們都把當(dāng)前數(shù)據(jù)庫中的所有圖書檢索出來。

所以結(jié)束節(jié)點(diǎn)輸出變量這里,要引用前置節(jié)點(diǎn)中outputList這個(gè)變量,這個(gè)變量一個(gè)是數(shù)組對象,簡單說就是一個(gè)圖片列表。

到這里為止,我們就把所有的節(jié)點(diǎn)都設(shè)置完成了,接來我們來調(diào)試一下,看看是否符合我們的預(yù)期要求。

8. 調(diào)試工作流

1)測試添加一本書

在工作流中點(diǎn)擊試運(yùn)行,輸入:增加一本三國演義。然后選擇我們之前創(chuàng)建好的Bot:圖書管理助手。點(diǎn)擊 運(yùn)行 按鈕。

可以看到,是按照預(yù)期走的 添加 的流程:

最終結(jié)果,可以看到《三國演義》被加到數(shù)據(jù)庫中了。

再增加一本《圍城》

查看結(jié)果:

可以看到《圍城》已經(jīng)被成功添加了,并顯示了當(dāng)前圖片列表。

2)測試刪除一本書

我們把之前的添加的《三國演義》刪除。點(diǎn)擊 運(yùn)行 按鈕。

可以看到,按照預(yù)期,《三國演義》被刪除了,并顯示了當(dāng)前圖片列表,只有一本之前添加《三國演義》,結(jié)果沒有問題。

那么,到此為止,我們的圖書管理工作流就調(diào)試完成了。接下來,我們把這個(gè)工作流引入到Bot中。??

四、發(fā)布工作流

在使用工作流之前,我要發(fā)布一下。

五、引入工作流

接下來把工作流引入到Bot中進(jìn)行使用

找到我們已經(jīng)創(chuàng)建好的圖書管理助手Bot。

點(diǎn)擊 + 引入工作流

選擇 WorkFlow_Books 工作流

編排 人設(shè)與回復(fù)邏輯

六、調(diào)試BOT

添加一本書:

提示圖書已經(jīng)成功被添加了。

那么接下來測試一下,圖書是否確實(shí)加入成功了。

可以看到,《三國演義》圖書確實(shí)成功加放到了數(shù)據(jù)庫中,說明我們的工作流正確無誤。

七、發(fā)布BOT

調(diào)試好以后,我們接下來就可以把BOT出布出去,讓大家來使用了。

自動生成開場白,點(diǎn)擊 確認(rèn) 按鈕。

選擇一下想發(fā)布的平臺,我這里選擇的是發(fā)布到扣子商店,然后點(diǎn)擊 發(fā)布 按鈕。

提示審核中,然后點(diǎn)擊 完成 按鈕,一分鐘左右就審核完成了。

好了,到這里,我們終于把Bot和工作流的全部流程學(xué)習(xí)完了,希望大家在本文中能有所收獲。??

本文由 @jyc 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!