百度【靈境矩陣】智慧體開發初學筆記

麻雀小妖發表於2024-03-25
AI Agent(人工智慧代理)是一種能夠感知環境、進行決策和執行動作的智慧實體。AI Agent可以稱為“智慧體”,也可以理解為“智慧業務助理”,指在大模型技術驅動下,讓人們以自然語言為互動方式高自動化地執行和處理專業或繁複的工作任務,從而極大程度釋放人員精力。

靈境矩陣是百度推出的基於文心大模型的智慧體(Agent)平臺,支援廣大開發者根據自身行業領域、應用場景,選取不同型別的開發方式,打造大模型時代的產品能力。開發者可以透過 prompt 編排的方式低成本開發智慧體(Agent),可參見影片《靈境矩陣平臺介紹》《大模型發展趨勢與開發正規化》

在靈境矩陣平臺上,即使是毫無程式設計經驗的小白也能輕鬆建立屬於自己的AI智慧體,需要的只是創意。

本文介紹了零程式碼、低程式碼兩種建立智慧體的方法,操作非常簡單。

首先登入智慧體建立開發地址:https://agents.baidu.com/center(使用百度賬號,如未註冊過可以用手機號驗證碼方式登入,即可同步註冊)。

一、零程式碼建立智慧體
1、點選左側的“建立智慧體”,在“零程式碼”這一欄點選“立即建立”。

2、在“建立”頁面,直接以文字描述的方式輸入你對這個智慧體的角色要求,可儘量描述清晰、具體一些。

比如可以包括:你需要智慧體能夠做什麼,不要做什麼,你希望他的回覆是什麼格式的,或語氣是什麼風格的。

3、當建立完成後,平臺會詢問你希望使用什麼樣的頭像,並根據你的描述幫你AI生成頭像。

你可以對頭像進行修改,也可以在“配置”頁面上傳自己選擇的圖片作為這個智慧體的頭像。

4、你可以持續對這個智慧體提出更細節的要求,平臺會立即對智慧體進行最佳化

於此同時,你可以在右側看到這個智慧體的實際執行效果,並透過和智慧體進行對話來測試效果

5、進到“配置”頁面,可以對智慧體的名稱、頭像進行修改,並設定一個合適的開場白。當使用者開啟這個智慧體之後,智慧體會自動先發出預設的開場白。

配置頁面已經根據你建立時對智慧體提出的要求,自動生成了指令,你可以點選“檢視示例”,對指令進行最佳化和完善。

6、點選“新建資料集”,可以將一些相關的文件資料上傳到資料集中,作為這個智慧體的補充資料庫。

7、看一下這個智慧體的執行效果

8、儲存,並提交這個智慧體,將它設定為公開,等待平臺稽核透過即可上線了。

9、補充知識點:Prompt工程

(1)Prompt概念

在人工智慧和機器學習的世界裡,特別是在自然語言處理(NLP)的領域,"prompt"扮演著至關重要的角色。簡而言之,prompt是一段文字或一個問題,它的作用是引導AI模型產生預期的回答或反應。這種互動方式對於語言模型尤為關鍵,因為它們依賴於prompt來構建和生成文字。
Prompt的形式多樣,可以是一個簡單的問題、一個詳細的段落,或者一系列具體的指令,這完全取決於使用者的具體需求和應用場景。
當模型接收到prompt時,它會盡力解讀其含義,並據此生成一個相應的回答。由此可見,prompt的重要性不言而喻,因為它直接塑造了模型輸出文字的內容、風格和整體質量。
舉個例子:如果我們把 AI 模型比作一名員工,Prompt 就相當於給員工的具體指令。指令的明確性和詳細性決定了模型的輸出效果。

(2) Prompt的作用和應用

Prompt在AI領域的應用不僅關乎技術的發展,也涉及到倫理、使用者體驗和社會影響等多個層面。
隨著AI技術的不斷進步,對prompt的研究和應用將繼續擴充套件,以滿足不斷變化的需求和挑戰。

(3)Prompt的侷限性

時效性:

Prompt 提示詞與 AI 大語言模型互動的知識來自訓練時接觸到的資料,無法提供未知資訊或新的發現。
舉例:如果您詢問關於一項最新科學研究的問題,模型可能無法提供相關資訊,因為它的知識截止日期通常在訓練資料截止日期之前。
上下文記憶:
上下文記憶問題可能是由於模型在處理超長文字時遇到了位元組長度限制或者資訊丟失的情況導致的。這可能會導致模型在較長的對話或文字中失去一些先前的上下文資訊。
要解決這個問題,可以嘗試:將文字分割成較短的段落或句子;儘量使用清晰、簡潔的語言,避免複雜的句子結構;在對話中確保提出的問題或請求是明確的;可以逐步引導模型,提供必要的背景資訊,確保模型能夠理解上下文。
AI幻覺:

例如AI 大語言模型被詢問有關一個虛構的現象,最後回覆並未表明該現象並不存在,或者沒有相關資訊可供查詢,反而編造了一個聽似合理的解答,並配以看似道理十足的引用,也就是在胡說八道。

精確數字:

AI很難按你要求的數字完成一段話。例如讓它寫一篇標題為“我的一天”的 200 字日記文章,模型可能會寫得很長,詳細地描述你一天的起床、吃飯、上班等點滴過程,結果字數遠超過要求。因為對它來說,生成更多相關細節會讓文章更流暢豐富,所以它不會自覺在剛好 200 字時就停止。

(4)Prompt技巧

二、低程式碼建立智慧體

1、點選左側的“建立智慧體”,在“低程式碼”這一欄點選“立即建立”。

2、在彈出的視窗中,設定智慧體的名稱、頭像、簡介,點選“建立”按鈕。

3、進到編輯頁面,進行視覺化拖拽開發

左側就是常用的套件,其中“鏈”是應用的最基礎的單元,知識庫也就是向量庫,模型指的是文心一言的模型能力,提示詞模板編排確保了開發的準確性和高效性。

提供了兩個工具:HTTP請求工具、百度搜尋工具,提供了提問氣泡互動元件

4、拖拽式開發的第一步,就是將“模型”下面的“文心模型”,用滑鼠拖拽到編輯區內。

5、將“鏈”下面的“大模型鏈”拖拽到編輯區,然後將大模型鏈與模型相連線

滑鼠放到大模型鏈的“模型”前那個小圓圈上,直到滑鼠變成一個加號+,然後按下滑鼠,拖拽一條線連線到文心模型右下角“鏈”的小圓圈上。

一個基礎的智慧體通常由一個模型(文心模型)和一個大模型鏈組成,當大模型鏈與模型相連線時,就建立了一個最基礎的智慧體。

6、這個智慧體呼叫了通用大模型的最基礎能力,可以進行測試了。

點選頁面右上方的“測試”按鈕,顯示測試透過,預覽按鈕變為可用狀態,就可以進行互動了。

7、點選“預覽”按鈕,提示:預覽8小時後失效,請合理安排時間。 假設我們需要智慧體能夠為使用者推薦想看的書籍,就直接輸入問題,模型識別到問題就能生成答案。

8、點選上圖中的“去設定”,可以對模型的引導語、推薦問題等進行設定。

再進行測試時,可以看到已經帶上了引導語和推薦問題。

推薦問題相當於為使用者提供了快捷方式,讓使用者能更方便地瞭解和使用您的智慧體,這將有助於提高使用者體驗。

看一下執行效果

9、新增提示詞,提示詞扮演著重要的角色,它能夠提供一種模板編排的方式。

例如如果使用者輸入了某個人物的名字,我們可以把問題轉化為對包含這個人物名字的書籍的推薦。

把“提示詞模板”拖拽到編輯區,可以編輯提示詞模板、編輯輸出格式。

例如,編輯模板如下:

然後將提示詞右下角的“鏈”與大模型鏈“提示語”前面的圓圈連線起來。透過這種方式,使用者只需要輸入關鍵資訊,我們就可以根據模板為其生成完整的問題。

本例中未限定輸出格式,當然也可以編輯輸出格式,比如可以要求模型以json格式輸出:

10、至此,一個簡單的低程式碼智慧體就建立完成了,可以提交發布,等待稽核了。

11、如果需要建立更復雜一些的智慧體,可以繼續進行下面的嘗試(下面以一個用於推薦酒店的智慧體為例):

(1)工具鏈:工具鏈和大模型鏈,可以透過輸入和輸出來連線。這種連線方式描述了智慧體的處理邏輯,是從工具鏈開始處理,然後將工具鏈的輸出作為大模型鏈的輸入,再經過第二個鏈的處理,這是一個鏈的鏈式呼叫過程。

在工具鏈的配置中,首先讓它發起一個http請求介面(使用HTTP請求工具),這個介面可以是模擬的一個資料來源,主要用於測試模型返回酒店列表的功能。在實際的酒店智慧體開發中,可以把它設定為一個實際的資料來源,比如某酒店的資料庫。

當使用者輸入一個城市名稱時,工具鏈將請求酒店資料,並捕獲返回的結果,這些結果將被傳遞給一個大模型,該模型負責解讀資料,示例中使用了一個假資料集模擬捕獲的結果。

(2)分支鏈:分支鏈本質上也是一個大模型鏈,因此需要連線到一個模型(文心模型)。

分支鏈的配置中,有一個“意圖關鍵詞”,用於描述使用者的輸入所表達的目的,並根據該意圖執行相應的功能。透過配置意圖,可以根據使用者的輸入來觸發不同的處理邏輯。如果意圖之間的關聯性模糊,會導致意圖識別的準確性降低,因此需要清晰地表達意圖。

(3)提問鏈提問氣泡:提問鏈和分支鏈通常配合使用(見上圖)。

如果識別到使用者要進行翻譯,可以在提問氣泡中配置一個表單元件,並列舉出支援的語言選項。配套的提示詞模板,會將使用者的輸入翻譯成指定的語言。提問鏈中提問氣泡的提示詞,代表了這個提問所對應的問題,{_input_}就是提問鏈生成的問題。

使用者回答後,會觸發一個強制意圖,即執行翻譯。強制意圖會執行一個新的鏈:負責執行實際翻譯工作的大模型鏈。為了確保輸出格式符合要求,可建立一個提示,如果使用者沒有命中任何一個意圖,系統將執行“預設意圖”,使用這個通用模型來回答。

(4)工具鏈:可以呼叫工具(如HTTP請求工具)進行查詢,例如可以獲取到一個平臺的日誌,再將日誌資料輸入給一個大模型。

(5)檢索鏈:當提問相關問題,就會進到一個檢索鏈,預設意圖也可以連結到一個檢索鏈。

相關的影片教材,可參考:https://datawhaler.feishu.cn/wiki/CXfdwUNE0ioQFukgJTLcamIQnVf

相關文章