資料介紹
描述
Alexa太無聊了嗎?當(dāng)您要求 Siri 關(guān)燈時(shí),您有時(shí)是否希望它更刻薄一點(diǎn)?谷歌助理稱你不夠胖嗎?不要害怕,GPT-3 就在這里。
在這個(gè)項(xiàng)目中,我們將構(gòu)建一個(gè)用于家庭自動(dòng)化的語音助手,它利用 GPT-3 的強(qiáng)大功能來解析您的查詢并根據(jù)您的命令提供尖刻的、上下文相關(guān)的俏皮話。
如果你給 AI 助手一個(gè)命令,比如“你能關(guān)掉廚房燈嗎”,GPT-3 會(huì)解析該短語以提取設(shè)備名稱(廚房燈)、所需狀態(tài)(關(guān)閉),它會(huì)為你服務(wù)用一個(gè)有趣的俏皮話,比如“什么,你吃完了冰箱里的食物嗎?” 作為回應(yīng)。您可以通過喚醒詞激活助手,說出命令,程序?qū)⒃谡f出有趣的俏皮話時(shí)處理您的查詢。
這個(gè)項(xiàng)目完全是用 Python 編寫的,所以很容易根據(jù)自己的需要進(jìn)行修改。我已經(jīng)為 Lifx 智能燈泡添加了集成,但您可以與許多其他人一起進(jìn)行設(shè)置。
GPT-3 入門

在我們深入研究之前,了解 GPT-3 的實(shí)際情況很重要。如果您還不熟悉它,GPT-3 是一種極其先進(jìn)的語言模型,具有簡(jiǎn)單的基于文本的查詢方法。您可以向 GPT-3 提供提示,它會(huì)選擇與提供的提示最匹配的文本響應(yīng)。GPT-3 非常精通模式識(shí)別,因此您可以向它提供一些示例,說明它應(yīng)該如何響應(yīng)給定的查詢以構(gòu)建簡(jiǎn)單的 API。
下面是該項(xiàng)目將向 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
第一個(gè)提示作為示例給出,它展示了 GPT 如何構(gòu)建其響應(yīng)。第二個(gè)提示是完成 GPT-3 的用戶輸入。GPT-3 可能會(huì)響應(yīng)以下內(nèi)容:
Object: kitchen light
Desired State: 0
Response: What, you like to eat in the dark? Creep.
在實(shí)際系統(tǒng)中,您將提供更多 GPT-3 示例,而不僅僅是一個(gè),但希望您能明白這一點(diǎn)。此外,由于模型的構(gòu)造方式,您通常會(huì)針對(duì)同一查詢獲得不同的響應(yīng)。對(duì)于輸入“打開臥室燈”,我已經(jīng)看到了從良性到混亂再到輕浮的一切。
第 1 步:硬件和軟件要求

您只需要一臺(tái)帶麥克風(fēng)和揚(yáng)聲器的電腦即可嘗試。您自己的家庭自動(dòng)化設(shè)置需要一些配置,但您可以在不進(jìn)行設(shè)置的情況下測(cè)試語音功能并查看一些有趣的響應(yīng)。
我不想讓我的筆記本電腦成為一個(gè)榮耀的家庭自動(dòng)化中心,所以我創(chuàng)建了一個(gè) Raspberry Pi 系統(tǒng)來監(jiān)聽命令并處理響應(yīng)。這里的大部分繁重工作都是在云中完成的,因此即使是 RPi 零也可以工作。我還訂購了一些帶有基于 LAN 的簡(jiǎn)單 API 的智能燈泡。您可能會(huì)使用自己的,但這需要一些開發(fā)工作。以下是我使用的部件的完整列表:
- 帶電源的 Raspberry Pi 4 (幾乎任何計(jì)算機(jī)都可以工作,但您需要相應(yīng)地修改以下部分)
- RASPIAUDIO 揚(yáng)聲器和麥克風(fēng)帽(在使用之前需要幾個(gè)步驟才能使用 Raspberry Pi 進(jìn)行設(shè)置)
- DFRobot液晶顯示器
- LIFX 智能燈泡
您暫時(shí)還需要自己的 GPT-3 API 密鑰。目前有一個(gè)等候名單來獲得這些,但你可以在這里注冊(cè)一個(gè)。我需要一些時(shí)間才能將此服務(wù)包裝在它自己的 API 中,這樣您就不需要密鑰了。如果您愿意,請(qǐng)?jiān)谙旅姘l(fā)表評(píng)論。如果有足夠的興趣,我會(huì)抽空去做。
第 2 步:代碼設(shè)置

您可以在github.com/AlexFWulff/SnarkyHomeAutomation找到此項(xiàng)目的 Git 存儲(chǔ)庫。
- 首先將此存儲(chǔ)庫克隆到您的遠(yuǎn)程計(jì)算機(jī)
-
接下來,創(chuàng)建一個(gè)虛擬環(huán)境來隔離此項(xiàng)目的所有依賴項(xiàng)(將示例路徑替換為您希望虛擬環(huán)境所在的位置):
python3 -m venv /path/to/virtual_env -
激活您的虛擬環(huán)境
source /path/to/virtual_env/bin/activate -
導(dǎo)航到 git 存儲(chǔ)庫的頂層,并安裝所有項(xiàng)目的需求
pip install -r requirements.txt -
根據(jù)您的平臺(tái),您可能會(huì)缺少一些庫。在 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)聲器配置不正確,您可能會(huì)看到如下錯(cuò)誤:
OSError: [Errno -9996] Invalid input device (no default output device)
如果這困擾您,請(qǐng)?jiān)趩为?dú)的程序中使用它們來確保您的麥克風(fēng)和揚(yáng)聲器正常工作。
默認(rèn)喚醒詞是“計(jì)算機(jī)”。要給系統(tǒng)一個(gè)命令,說“計(jì)算機(jī)”,然后說一個(gè)查詢。然后系統(tǒng)應(yīng)該通過揚(yáng)聲器給你一個(gè)響應(yīng)并輸出它將采取的行動(dòng)。
第 3 步:配置您的智能設(shè)備

該文件SmartDeviceInfo.xml包含我使用 LIFX 設(shè)備所需的所有信息。如果您還使用 LIFX 燈泡,您只需在 XML 文件中添加一個(gè)新條目,其中包含您的設(shè)備名稱及其 MAC 地址。您可以使用此 Python 工具找到本地網(wǎng)絡(luò)上所有 LIFX 設(shè)備的 MAC 地址。確保enable_lifx將配置文件中的字段設(shè)置為“True”以啟用此功能。
我編寫了這個(gè)軟件,以便可以輕松添加其他類型的設(shè)備。只需將 xml 文檔中的 標(biāo)記設(shè)置為其他內(nèi)容,然后在AutomationManager.py. 每個(gè)設(shè)備至少需要一個(gè)名稱和一個(gè)類型標(biāo)簽。
您可以讓程序僅在 GPT-3 輸出的名稱與您網(wǎng)絡(luò)上的設(shè)備完全匹配時(shí)更改設(shè)備的狀態(tài),或者您可能會(huì)生活在危險(xiǎn)之中,讓程序選擇最接近 GPT-3 輸出的設(shè)備名稱。您可以在配置文件中更改此行為。
第 4 步:提示自定義
您可以添加更多自定義提示示例來更改 GPT 的響應(yīng)方式。您可以在 中找到默認(rèn)提示prompts/prompt1.txt。如果要?jiǎng)?chuàng)建新行為,請(qǐng)?jiān)诖四夸浿刑砑右粋€(gè)新文件并將prompt_file_path值更改config.ini為指向此新文件。
GPT-3 可以識(shí)別很多不同的語音模式。GPT-3 甚至精通各種不同的語言,因此如果您更愿意用英語以外的語言與您的家庭自動(dòng)化 AI 交談,您可以創(chuàng)建一個(gè)提示來這樣做。
我還創(chuàng)建了一些使用起來非常有趣但不一定適合公開發(fā)布的提示。如果您希望我給您發(fā)送一些電子郵件,請(qǐng)給我發(fā)一封電子郵件(您可以在我的網(wǎng)站上找到)。
更多定制!

該項(xiàng)目還可以作為由 GPT-3 支持的其他類型的語音助手的有用模板。我以模塊化的方式編寫了軟件,所以應(yīng)該很容易在你認(rèn)為合適的時(shí)候交換東西。例如,您可以擴(kuò)展相同的功能,將項(xiàng)目添加到待辦事項(xiàng)列表中,并為您添加的每個(gè)項(xiàng)目提供有趣的語音響應(yīng)。事實(shí)上,您可以不斷添加模塊來構(gòu)建功能齊全的語音助手,可以完成許多任務(wù)!
顯示也相當(dāng)簡(jiǎn)陋。如果你愿意,修改我的設(shè)計(jì)并用你自己的一些替換它們應(yīng)該很容易。一切都是用 Tkinter 編寫的,具有對(duì)新屏幕分辨率的半響應(yīng)行為。
就這樣!我希望你喜歡這個(gè)項(xiàng)目,并在下面的評(píng)論中告訴我你用它做了什么。
- 家庭自動(dòng)化系統(tǒng)開源構(gòu)建
- 使用語音命令的家庭自動(dòng)化
- 如何構(gòu)建藍(lán)牙控制的家庭自動(dòng)化
- 基于物聯(lián)網(wǎng)的家庭自動(dòng)化
- 使用物聯(lián)網(wǎng)的家庭自動(dòng)化
- 使用谷歌助手實(shí)現(xiàn)家庭自動(dòng)化
- 使用Node MCU的家庭自動(dòng)化
- 簡(jiǎn)單家庭自動(dòng)化或工業(yè)自動(dòng)化物聯(lián)網(wǎng)解決方案
- 使用螺栓模塊的家庭自動(dòng)化
- 家庭自動(dòng)化系統(tǒng)開源分享
- 家庭自動(dòng)化能源測(cè)量系統(tǒng)
- 基于藍(lán)牙的家庭自動(dòng)化
- 使用NodeMCU的基于物聯(lián)網(wǎng)的家庭自動(dòng)化
- 使用Arduino模擬家庭自動(dòng)化項(xiàng)目
- 現(xiàn)代家庭自動(dòng)化遙控系統(tǒng)電路圖
- 工業(yè)自動(dòng)化中的控制方式 2.3k次閱讀
- 工業(yè)自動(dòng)化和自動(dòng)化區(qū)別是什么 3.7k次閱讀
- 過程自動(dòng)化控制和運(yùn)動(dòng)自動(dòng)化控制的原理詳解 2.6k次閱讀
- 用于街道照明自動(dòng)化的電力線通信 2.3k次閱讀
- 基于PlatformIO IDE的家庭自動(dòng)化系統(tǒng)設(shè)計(jì)方案實(shí)現(xiàn) 3.3k次閱讀
- GPT-3難以復(fù)現(xiàn),為什么說PyTorch走上了一條“大彎路”? 1.8k次閱讀
- 基于Raspberry Pi Pico開發(fā)先進(jìn)的家庭自動(dòng)化系統(tǒng) 3.6k次閱讀
- GPT系列的“高仿” 最大可達(dá)GPT-3大小 自主訓(xùn)練 3.3k次閱讀
- 如何自學(xué)PLC與自動(dòng)化? 5.2k次閱讀
- 非標(biāo)自動(dòng)化設(shè)備的分類 8k次閱讀
- ATE自動(dòng)化測(cè)試系統(tǒng)是什么_ATE自動(dòng)化測(cè)試系統(tǒng)介紹 3.3w次閱讀
- 自動(dòng)化領(lǐng)域初涉水 非標(biāo)自動(dòng)化和自動(dòng)化到底有哪些區(qū)別? 7k次閱讀
- jenkins自動(dòng)化部署 5.2k次閱讀
- 基于GPRS的電網(wǎng)調(diào)度自動(dòng)化系統(tǒng) 4.7k次閱讀
- 意法半導(dǎo)體:家庭自動(dòng)化完全解決方案 1.3k次閱讀
下載排行
本周
- 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費(fèi)
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊(cè)
- 2.33 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管S9012數(shù)據(jù)手冊(cè)
- 2.62 MB | 次下載 | 免費(fèi)
- 5LAT1218 如何選擇和設(shè)置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊(cè)
- 2.50 MB | 次下載 | 免費(fèi)
- 8MS1000TA 超聲波測(cè)量模擬前端芯片技術(shù)手冊(cè)
- 0.60 MB | 次下載 | 免費(fèi)
本月
- 1愛華AIWA HS-J202維修手冊(cè)
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測(cè)距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費(fèi)
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準(zhǔn)諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊(cè)
- 1.81 MB | 1次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論