隨著人工智能技術的迅猛發(fā)展,大型語言模型成為了熱門話題。國際上的GPT-3、BERT等模型備受關注,而國內(nèi)的本土語言模型ChatGLM也引起了廣泛關注。ChatGLM是由清華大學開發(fā)的強大語言生成模型,結(jié)合了深度學習技術和大量中文語料的訓練成果。它在自然語言理解和生成方面展現(xiàn)了出色性能,為國內(nèi)的自然語言處理研究與應用提供了有力支持。
通過使用行空板和UGB喇叭,你可以制作一個有趣好玩的聊天機器人應用。只需修改角色描述,你就能打造屬于自己的個性化聊天機器人,它能以多個角色身份與你進行對話。
硬件準備
行空板,USB線,USB喇叭
行空板是一款專為Python學習和使用設計的新一代國產(chǎn)開源硬件,采用單板計算機架構,集成LCD彩屏、WiFi藍牙、多種常用傳感器和豐富的拓展接口。同時,其自帶Linux操作系統(tǒng)和Python環(huán)境,還預裝了常用的Python庫,只需兩步就能進行Python學習。
功能分解
具體操作
1、注冊智譜api:智譜AI開放平臺,https://open.bigmodel.cn/,選擇驗證碼登錄,輸入手機號和驗證碼完成冊。點擊API keys, 點擊“去認證”,進行實名認證。
2、注冊并獲取微軟語音服務API密鑰
(1)注冊微軟的賬號,輸入網(wǎng)址:https://portal.azure.com/,用郵箱創(chuàng)建新賬號。
新用戶有一年的免費額度但需要信用卡驗證。如果沒有條件申請微軟的語音服務API,也可以使用百度的語音服務API,文章的最后提供了使用ChatGLM和百度API的實現(xiàn)代碼。
(2)通過驗證: 創(chuàng)建好賬號登錄后會進入以下頁面https://portal.azure.com/#home面對新用戶,微軟提供了1年的免費服務但需要通過驗證,這里有兩種驗證方法。(1)visa/銀聯(lián)卡驗證(2)大學生能無需信用卡,使用學生郵箱驗證。
(3)申請資源: 驗證通過后,在Azure門戶中,點擊左上角的“+ 創(chuàng)建資源”按鈕。之后會跳轉(zhuǎn)到如下頁面,按照提示完成填寫信息。
3、加載行空板-安裝庫-行空板聯(lián)網(wǎng)
(1)加載行空板:第一步:使用USB線將行空板連接在電腦上。按照步驟加載行空板,創(chuàng)建好文件后,可以看到一個名為“chatbot.py”的文件,雙擊打開。
(2)安裝所需要的庫,依次輸入PIP指令,點擊“運行”
(3)行空板聯(lián)網(wǎng):調(diào)用API必須要聯(lián)網(wǎng)。由于在本項目中,使用了智譜清言的API和微軟的語音API,所以要為行空板連接網(wǎng)絡。(1)打開瀏覽器,輸入“10.1.2.3”進行行空板頁面。(2)選擇“網(wǎng)絡設置”,選擇WIFI ,輸入密碼,注意行空板僅支持2.4GWIFI熱點。點擊“連接”,行空板成功聯(lián)網(wǎng)會顯示“連接成功”,如下圖。
4、編程
(1)調(diào)用chatglm的API: 參考官方的API調(diào)用文檔,定義一個名為ChatGPT的類,代表聊天機器。為了測試效果,在主循環(huán)中獲取用戶輸入,將用戶的輸入傳給聊天機器人,打印聊天機器人的回復。
(2)實現(xiàn)多輪對話: 點擊右上角的運行,開始在終端打字,與機器人進行對話。以下是測試對話截圖,"You"部分是輸入的內(nèi)容,“chatbot”是調(diào)用智譜API,使用模型'chatglm_turbo',獲取的回復
當聊天機器人給出謎語后,回復“猜不出來”時,期待的是聊天機器人能告訴謎語的答案。但顯然根據(jù)它的回復,模型沒有理解語意是猜不出上輪對話的謎語。這個現(xiàn)象是因為與模型的對話是單輪的形式,即問一答一;而在處理復雜的對話場景時,理解上下文和實現(xiàn)多輪對話是非常重要的。期待的效果是聊天機器人能結(jié)合上下文的語境,實現(xiàn)多輪對話。要解決這個問題,可以將整個對話歷史作為輸入發(fā)送給模型,而不僅僅是最新的用戶消息。這樣,模型就可以看到整個對話的上下文,并據(jù)此生成回復。
為了讓聊天機器人能理解上下文的語境,可以在__init__ 方法中添加 self.dialogue 列表,用于存儲對話歷史。在 send_message 方法中,將用戶的消息和模型的回復都添加到對話歷史中,然后將整個對話歷史轉(zhuǎn)化為一個字符串,作為提示發(fā)送給模型。
(3)創(chuàng)建角色字典,實現(xiàn)多角色選擇
現(xiàn)在我們已經(jīng)成功實現(xiàn)了多輪對話,在與聊天機器人對話時,它是以人工智能助手(assistant)的身份。怎么能實現(xiàn)角色扮演呢?為了實現(xiàn)這個功能,可以在 ChatGPT 類中添加一個 self.role 屬性來存儲角色描述。然后,我們可以修改 send_message 方法,使其在將對話歷史轉(zhuǎn)化為字符串時,首先添加角色描述。這樣,模型就會知道它應該扮演的角色,從而生成符合角色的回復。
5、UI設計
按照同樣的邏輯在行空板上進行UI設計。
6、實現(xiàn)語音交互功能
實現(xiàn)語音交互功能,在角色圖片的下方添加一個麥克風圖片,當點擊麥克風圖片開始錄音,并使用百度語音識別API實現(xiàn)語音轉(zhuǎn)文字作為對話內(nèi)容傳給聊天機器人,再調(diào)用百度語音合成API將聊天機器人的回復播報出來。
借助ChatGLM語言生成模型和多種人工智能技術,我們可以創(chuàng)建一個有趣而富有趣味性的聊天機器人應用。只需準備一塊行空板和一個UGB喇叭,就能得到一個可以扮演多個角色與你進行對話的機器人助手。通過自定義角色描述,你可以打造一個完全符合個性化需求的聊天機器人!讓我們一起開始這個有趣的項目吧!
關于“行空板+大模型”——基于ChatGLM的多角色交互式聊天機器人”詳細實現(xiàn)過程,關注“行空板”公眾號”,了解更多。
上海智位機器人
上海智位機器人成立于2010年,是全球領先的從事開源硬件、機器人產(chǎn)品和科創(chuàng)教育的高科技企業(yè),打造了DFRobot、蘑菇云科創(chuàng)教育等品牌,是國內(nèi)最早的創(chuàng)客理念引入者和倡導者,創(chuàng)客教育的開拓者和引領者。旗下?lián)碛兄袊畲蟮木€上DF創(chuàng)客社區(qū)和國家級創(chuàng)客空間——蘑菇云創(chuàng)客空間,提供豐富的線上和線下學習資源,構建了一個自由、開放和富于創(chuàng)造力的交流空間。其Gravity產(chǎn)品已被全球超過100萬開發(fā)者選用。合作伙伴包括微軟、英特爾、Autodesk、霍尼韋爾、NASA、MIT等知名廠商和機構。
審核編輯 黃宇
-
機器人
+關注
關注
211文章
28476瀏覽量
207414 -
大模型
+關注
關注
2文章
2477瀏覽量
2834
發(fā)布評論請先 登錄
相關推薦
評論