資料介紹
描述
Alexa太無聊了嗎?當(dāng)您要求 Siri 關(guān)燈時,您有時是否希望它更刻薄一點(diǎn)?谷歌助理稱你不夠胖嗎?不要害怕,GPT-3 就在這里。
在這個項目中,我們將構(gòu)建一個用于家庭自動化的語音助手,它利用 GPT-3 的強(qiáng)大功能來解析您的查詢并根據(jù)您的命令提供尖刻的、上下文相關(guān)的俏皮話。
如果你給 AI 助手一個命令,比如“你能關(guān)掉廚房燈嗎”,GPT-3 會解析該短語以提取設(shè)備名稱(廚房燈)、所需狀態(tài)(關(guān)閉),它會為你服務(wù)用一個有趣的俏皮話,比如“什么,你吃完了冰箱里的食物嗎?” 作為回應(yīng)。您可以通過喚醒詞激活助手,說出命令,程序?qū)⒃谡f出有趣的俏皮話時處理您的查詢。
這個項目完全是用 Python 編寫的,所以很容易根據(jù)自己的需要進(jìn)行修改。我已經(jīng)為 Lifx 智能燈泡添加了集成,但您可以與許多其他人一起進(jìn)行設(shè)置。
GPT-3 入門
在我們深入研究之前,了解 GPT-3 的實際情況很重要。如果您還不熟悉它,GPT-3 是一種極其先進(jìn)的語言模型,具有簡單的基于文本的查詢方法。您可以向 GPT-3 提供提示,它會選擇與提供的提示最匹配的文本響應(yīng)。GPT-3 非常精通模式識別,因此您可以向它提供一些示例,說明它應(yīng)該如何響應(yīng)給定的查詢以構(gòu)建簡單的 API。
下面是該項目將向 GPT-3 輸入的內(nèi)容示例片段,以供用戶輸入“關(guān)閉廚房燈”。
Prompt: can you turn on the dining room light
Object: dining room light
Desired State: 1
Response: What, you're too busy getting fat watching TV on the couch to do it yourself?
Prompt: turn off the kitchen light
第一個提示作為示例給出,它展示了 GPT 如何構(gòu)建其響應(yīng)。第二個提示是完成 GPT-3 的用戶輸入。GPT-3 可能會響應(yīng)以下內(nèi)容:
Object: kitchen light
Desired State: 0
Response: What, you like to eat in the dark? Creep.
在實際系統(tǒng)中,您將提供更多 GPT-3 示例,而不僅僅是一個,但希望您能明白這一點(diǎn)。此外,由于模型的構(gòu)造方式,您通常會針對同一查詢獲得不同的響應(yīng)。對于輸入“打開臥室燈”,我已經(jīng)看到了從良性到混亂再到輕浮的一切。
第 1 步:硬件和軟件要求
您只需要一臺帶麥克風(fēng)和揚(yáng)聲器的電腦即可嘗試。您自己的家庭自動化設(shè)置需要一些配置,但您可以在不進(jìn)行設(shè)置的情況下測試語音功能并查看一些有趣的響應(yīng)。
我不想讓我的筆記本電腦成為一個榮耀的家庭自動化中心,所以我創(chuàng)建了一個 Raspberry Pi 系統(tǒng)來監(jiān)聽命令并處理響應(yīng)。這里的大部分繁重工作都是在云中完成的,因此即使是 RPi 零也可以工作。我還訂購了一些帶有基于 LAN 的簡單 API 的智能燈泡。您可能會使用自己的,但這需要一些開發(fā)工作。以下是我使用的部件的完整列表:
- 帶電源的 Raspberry Pi 4 (幾乎任何計算機(jī)都可以工作,但您需要相應(yīng)地修改以下部分)
- RASPIAUDIO 揚(yáng)聲器和麥克風(fēng)帽(在使用之前需要幾個步驟才能使用 Raspberry Pi 進(jìn)行設(shè)置)
- DFRobot液晶顯示器
- LIFX 智能燈泡
您暫時還需要自己的 GPT-3 API 密鑰。目前有一個等候名單來獲得這些,但你可以在這里注冊一個。我需要一些時間才能將此服務(wù)包裝在它自己的 API 中,這樣您就不需要密鑰了。如果您愿意,請在下面發(fā)表評論。如果有足夠的興趣,我會抽空去做。
第 2 步:代碼設(shè)置
您可以在github.com/AlexFWulff/SnarkyHomeAutomation找到此項目的 Git 存儲庫。
- 首先將此存儲庫克隆到您的遠(yuǎn)程計算機(jī)
-
接下來,創(chuàng)建一個虛擬環(huán)境來隔離此項目的所有依賴項(將示例路徑替換為您希望虛擬環(huán)境所在的位置):
python3 -m venv /path/to/virtual_env
-
激活您的虛擬環(huán)境
source /path/to/virtual_env/bin/activate
-
導(dǎo)航到 git 存儲庫的頂層,并安裝所有項目的需求
pip install -r requirements.txt
-
根據(jù)您的平臺,您可能會缺少一些庫。在 Raspberry Pi 上,我必須運(yùn)行
sudo apt install libportaudio2 python3-tk flac ffmpeg
-
將您的 OpenAI 密鑰放入系統(tǒng)某處的文本文件中,然后將
key_path
字段更改config.ini
為指向該文件
你*應(yīng)該*能夠通過運(yùn)行來運(yùn)行python Run.py
。如果您的麥克風(fēng)和揚(yáng)聲器配置不正確,您可能會看到如下錯誤:
OSError: [Errno -9996] Invalid input device (no default output device)
如果這困擾您,請在單獨(dú)的程序中使用它們來確保您的麥克風(fēng)和揚(yáng)聲器正常工作。
默認(rèn)喚醒詞是“計算機(jī)”。要給系統(tǒng)一個命令,說“計算機(jī)”,然后說一個查詢。然后系統(tǒng)應(yīng)該通過揚(yáng)聲器給你一個響應(yīng)并輸出它將采取的行動。
第 3 步:配置您的智能設(shè)備
該文件SmartDeviceInfo.xml
包含我使用 LIFX 設(shè)備所需的所有信息。如果您還使用 LIFX 燈泡,您只需在 XML 文件中添加一個新條目,其中包含您的設(shè)備名稱及其 MAC 地址。您可以使用此 Python 工具找到本地網(wǎng)絡(luò)上所有 LIFX 設(shè)備的 MAC 地址。確保enable_lifx
將配置文件中的字段設(shè)置為“True”以啟用此功能。
我編寫了這個軟件,以便可以輕松添加其他類型的設(shè)備。只需將 xml 文檔中的 標(biāo)記設(shè)置為其他內(nèi)容,然后在AutomationManager.py
. 每個設(shè)備至少需要一個名稱和一個類型標(biāo)簽。
您可以讓程序僅在 GPT-3 輸出的名稱與您網(wǎng)絡(luò)上的設(shè)備完全匹配時更改設(shè)備的狀態(tài),或者您可能會生活在危險之中,讓程序選擇最接近 GPT-3 輸出的設(shè)備名稱。您可以在配置文件中更改此行為。
第 4 步:提示自定義
您可以添加更多自定義提示示例來更改 GPT 的響應(yīng)方式。您可以在 中找到默認(rèn)提示prompts/prompt1.txt
。如果要創(chuàng)建新行為,請在此目錄中添加一個新文件并將prompt_file_path
值更改config.ini
為指向此新文件。
GPT-3 可以識別很多不同的語音模式。GPT-3 甚至精通各種不同的語言,因此如果您更愿意用英語以外的語言與您的家庭自動化 AI 交談,您可以創(chuàng)建一個提示來這樣做。
我還創(chuàng)建了一些使用起來非常有趣但不一定適合公開發(fā)布的提示。如果您希望我給您發(fā)送一些電子郵件,請給我發(fā)一封電子郵件(您可以在我的網(wǎng)站上找到)。
更多定制!
該項目還可以作為由 GPT-3 支持的其他類型的語音助手的有用模板。我以模塊化的方式編寫了軟件,所以應(yīng)該很容易在你認(rèn)為合適的時候交換東西。例如,您可以擴(kuò)展相同的功能,將項目添加到待辦事項列表中,并為您添加的每個項目提供有趣的語音響應(yīng)。事實上,您可以不斷添加模塊來構(gòu)建功能齊全的語音助手,可以完成許多任務(wù)!
顯示也相當(dāng)簡陋。如果你愿意,修改我的設(shè)計并用你自己的一些替換它們應(yīng)該很容易。一切都是用 Tkinter 編寫的,具有對新屏幕分辨率的半響應(yīng)行為。
就這樣!我希望你喜歡這個項目,并在下面的評論中告訴我你用它做了什么。
- 家庭自動化系統(tǒng)開源構(gòu)建
- 使用語音命令的家庭自動化
- 如何構(gòu)建藍(lán)牙控制的家庭自動化
- 基于物聯(lián)網(wǎng)的家庭自動化
- 使用物聯(lián)網(wǎng)的家庭自動化
- 使用谷歌助手實現(xiàn)家庭自動化
- 使用Node MCU的家庭自動化
- 簡單家庭自動化或工業(yè)自動化物聯(lián)網(wǎng)解決方案
- 使用螺栓模塊的家庭自動化
- 家庭自動化系統(tǒng)開源分享
- 家庭自動化能源測量系統(tǒng)
- 基于藍(lán)牙的家庭自動化
- 使用NodeMCU的基于物聯(lián)網(wǎng)的家庭自動化
- 使用Arduino模擬家庭自動化項目
- 現(xiàn)代家庭自動化遙控系統(tǒng)電路圖
- 工業(yè)自動化中的控制方式 471次閱讀
- 工業(yè)自動化和自動化區(qū)別是什么 1033次閱讀
- 過程自動化控制和運(yùn)動自動化控制的原理詳解 1352次閱讀
- 用于街道照明自動化的電力線通信 1440次閱讀
- 基于PlatformIO IDE的家庭自動化系統(tǒng)設(shè)計方案實現(xiàn) 2298次閱讀
- GPT-3難以復(fù)現(xiàn),為什么說PyTorch走上了一條“大彎路”? 1402次閱讀
- 基于Raspberry Pi Pico開發(fā)先進(jìn)的家庭自動化系統(tǒng) 2850次閱讀
- GPT系列的“高仿” 最大可達(dá)GPT-3大小 自主訓(xùn)練 2776次閱讀
- 如何自學(xué)PLC與自動化? 2567次閱讀
- 什么是非標(biāo)自動化設(shè)備及分類介紹 4.2w次閱讀
- 非標(biāo)自動化設(shè)備的分類 6282次閱讀
- ATE自動化測試系統(tǒng)是什么_ATE自動化測試系統(tǒng)介紹 3.2w次閱讀
- 自動化領(lǐng)域初涉水 非標(biāo)自動化和自動化到底有哪些區(qū)別? 6091次閱讀
- jenkins自動化部署 4559次閱讀
- 意法半導(dǎo)體:家庭自動化完全解決方案 1046次閱讀
下載排行
本周
- 1使用單片機(jī)實現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 2聯(lián)想E46L DAOLL6筆記本電腦圖紙
- 1.10 MB | 2次下載 | 5 積分
- 3MATLAB繪圖合集
- 27.12 MB | 2次下載 | 5 積分
- 4PR735,使用UCC28060的600W交錯式PFC轉(zhuǎn)換器
- 540.03KB | 1次下載 | 免費(fèi)
- 5UCC38C42 30W同步降壓轉(zhuǎn)換器參考設(shè)計
- 428.07KB | 1次下載 | 免費(fèi)
- 6DV2004S1/ES1/HS1快速充電開發(fā)系統(tǒng)
- 2.08MB | 1次下載 | 免費(fèi)
- 7模態(tài)分解合集matlab代碼
- 3.03 MB | 1次下載 | 2 積分
- 8美的電磁爐維修手冊大全
- 1.56 MB | 1次下載 | 5 積分
本月
- 1使用單片機(jī)實現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 2UC3842/3/4/5電源管理芯片中文手冊
- 1.75 MB | 15次下載 | 免費(fèi)
- 3DMT0660數(shù)字萬用表產(chǎn)品說明書
- 0.70 MB | 13次下載 | 免費(fèi)
- 4TPS54202H降壓轉(zhuǎn)換器評估模塊用戶指南
- 1.02MB | 8次下載 | 免費(fèi)
- 5STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 6HY12P65/HY12P66數(shù)字萬用表芯片規(guī)格書
- 0.69 MB | 6次下載 | 免費(fèi)
- 7華瑞昇CR216芯片數(shù)字萬用表規(guī)格書附原理圖及校正流程方法
- 0.74 MB | 6次下載 | 3 積分
- 8華瑞昇CR215芯片數(shù)字萬用表原理圖
- 0.21 MB | 5次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多