基于DeepSeek大型語言模型構(gòu)建一個簡單的單智能體系統(tǒng)
在我們的項目中,我們使AI能夠從提供的文本中學(xué)習(xí),使其能夠自動編寫代碼并執(zhí)行任務(wù)來控制myCobot。
什么是AI Agent?
AI Agent是一種智能實體,能夠感知環(huán)境、做出決策并執(zhí)行動作。其功能基于大型語言模型(LLM)。然而,與直接與法學(xué)碩士對話不同,人工智能代理可以獨立思考,利用工具,并逐步完成給定的任務(wù)。根據(jù)開發(fā)人員的技能水平,它可以完成各種專門的任務(wù)。
在本案例研究中,我們將基于DeepSeek大型語言模型構(gòu)建一個簡單的單智能體系統(tǒng)。執(zhí)行邏輯很簡單,由以下步驟組成:定義+觀察+思考+行動+記憶。
由于離線LLM缺乏互聯(lián)網(wǎng)檢索能力,因此需要輸入數(shù)據(jù)進行學(xué)習(xí)。這確保了每當我們激活代理時,它已經(jīng)準備好承擔(dān)其指定的角色,并有足夠的知識來回答我們的查詢。在使用過程中,它將記錄用戶批準的響應(yīng),將它們存儲在數(shù)據(jù)庫中,并繼續(xù)從中學(xué)習(xí)。
myCobot 280 Pi
mybot 280系列,由大象機器人公司創(chuàng)建,代表了一系列6自由度協(xié)作機器人手臂,主要用于個人DIY項目,教育和研究應(yīng)用。mybot 280 Pi,配備樹莓派作為其控制板,它可以在沒有PC的情況下使用,更重要的是,它提供了完整的Python API,方便控制,它的設(shè)計是用戶友好的,易于初學(xué)者學(xué)習(xí)和使用。
項目設(shè)置
1. 提供知識輸入
為了使Agent有效地工作,我們需要創(chuàng)建一個知識庫并輸入相關(guān)信息。
我們將以下信息保存為單獨的DOCX文件:
●myCobot簡介
●6自由度協(xié)同機械臂技術(shù)細節(jié)
?pymycobot API函數(shù)庫的使用說明
(這些資源可以在myCobot的gibook上找到。)
例如:
將引用文本保存為“。docx”文檔。
2. 加載DeepSeek模型
在此之前,您需要在DeepSeek官方網(wǎng)站購買您自己的API_key。
然后,我們需要通過代碼將知識加載到DeepSeek模型中。
執(zhí)行代碼后,DeepSeek模型將根據(jù)我們的輸入生成一個完整的myCobot示例腳本。
3. 輸出格式
llm生成的輸出通常呈現(xiàn)為連續(xù)的文本流,不能直接作為程序執(zhí)行。
為了讓Agent自動將ai生成的代碼保存為‘.py’文件并執(zhí)行它來控制機器人,我們必須正確格式化輸出。
我們可以使用正則表達式的方法從DeepSeek模型的響應(yīng)中提取Python代碼并將其保存為文件。
4. 自動執(zhí)行腳本
為了啟用自動執(zhí)行,我們需要調(diào)用系統(tǒng)終端并運行生成的腳本。
5. 機器人測試
通過在執(zhí)行過程中添加一個while True:循環(huán),我們可以連續(xù)地運行任務(wù)。
至此,我們已經(jīng)成功構(gòu)建了一個簡單的AI Agent來控制myCobot機器人。我們現(xiàn)在可以連接機器人并測試它的功能。
代碼
總結(jié)
通過構(gòu)建一個簡單的人工智能代理來控制6軸協(xié)作機器人myCobot 280 Pi,我們學(xué)會了如何創(chuàng)建一個基本的llm驅(qū)動機器人應(yīng)用程序。
由于這個版本的代理任務(wù)不包括額外的視覺模型、語音模型或傳感器,它只能執(zhí)行簡單的操作。然而,如果開發(fā)人員將視覺、語音處理和傳感器集成在一起,人工智能代理可以自主完成更復(fù)雜的任務(wù)。
本文編譯自hackster.io