資料介紹
描述
Alexa太無聊了嗎?當(dāng)您要求 Siri 關(guān)燈時,您有時是否希望它更刻薄一點?谷歌助理稱你不夠胖嗎?不要害怕,GPT-3 就在這里。
在這個項目中,我們將構(gòu)建一個用于家庭自動化的語音助手,它利用 GPT-3 的強大功能來解析您的查詢并根據(jù)您的命令提供尖刻的、上下文相關(guān)的俏皮話。
如果你給 AI 助手一個命令,比如“你能關(guān)掉廚房燈嗎”,GPT-3 會解析該短語以提取設(shè)備名稱(廚房燈)、所需狀態(tài)(關(guān)閉),它會為你服務(wù)用一個有趣的俏皮話,比如“什么,你吃完了冰箱里的食物嗎?” 作為回應(yīng)。您可以通過喚醒詞激活助手,說出命令,程序?qū)⒃谡f出有趣的俏皮話時處理您的查詢。
這個項目完全是用 Python 編寫的,所以很容易根據(jù)自己的需要進行修改。我已經(jīng)為 Lifx 智能燈泡添加了集成,但您可以與許多其他人一起進行設(shè)置。
GPT-3 入門
在我們深入研究之前,了解 GPT-3 的實際情況很重要。如果您還不熟悉它,GPT-3 是一種極其先進的語言模型,具有簡單的基于文本的查詢方法。您可以向 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 示例,而不僅僅是一個,但希望您能明白這一點。此外,由于模型的構(gòu)造方式,您通常會針對同一查詢獲得不同的響應(yīng)。對于輸入“打開臥室燈”,我已經(jīng)看到了從良性到混亂再到輕浮的一切。
第 1 步:硬件和軟件要求
您只需要一臺帶麥克風(fēng)和揚聲器的電腦即可嘗試。您自己的家庭自動化設(shè)置需要一些配置,但您可以在不進行設(shè)置的情況下測試語音功能并查看一些有趣的響應(yīng)。
我不想讓我的筆記本電腦成為一個榮耀的家庭自動化中心,所以我創(chuàng)建了一個 Raspberry Pi 系統(tǒng)來監(jiān)聽命令并處理響應(yīng)。這里的大部分繁重工作都是在云中完成的,因此即使是 RPi 零也可以工作。我還訂購了一些帶有基于 LAN 的簡單 API 的智能燈泡。您可能會使用自己的,但這需要一些開發(fā)工作。以下是我使用的部件的完整列表:
- 帶電源的 Raspberry Pi 4 (幾乎任何計算機都可以工作,但您需要相應(yīng)地修改以下部分)
- RASPIAUDIO 揚聲器和麥克風(fēng)帽(在使用之前需要幾個步驟才能使用 Raspberry Pi 進行設(shè)置)
- DFRobot液晶顯示器
- LIFX 智能燈泡
您暫時還需要自己的 GPT-3 API 密鑰。目前有一個等候名單來獲得這些,但你可以在這里注冊一個。我需要一些時間才能將此服務(wù)包裝在它自己的 API 中,這樣您就不需要密鑰了。如果您愿意,請在下面發(fā)表評論。如果有足夠的興趣,我會抽空去做。
第 2 步:代碼設(shè)置
您可以在github.com/AlexFWulff/SnarkyHomeAutomation找到此項目的 Git 存儲庫。
- 首先將此存儲庫克隆到您的遠(yuǎn)程計算機
-
接下來,創(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 上,我必須運行
sudo apt install libportaudio2 python3-tk flac ffmpeg
-
將您的 OpenAI 密鑰放入系統(tǒng)某處的文本文件中,然后將
key_path
字段更改config.ini
為指向該文件
你*應(yīng)該*能夠通過運行來運行python Run.py
。如果您的麥克風(fēng)和揚聲器配置不正確,您可能會看到如下錯誤:
OSError: [Errno -9996] Invalid input device (no default output device)
如果這困擾您,請在單獨的程序中使用它們來確保您的麥克風(fēng)和揚聲器正常工作。
默認(rèn)喚醒詞是“計算機”。要給系統(tǒng)一個命令,說“計算機”,然后說一個查詢。然后系統(tǒ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)為合適的時候交換東西。例如,您可以擴展相同的功能,將項目添加到待辦事項列表中,并為您添加的每個項目提供有趣的語音響應(yīng)。事實上,您可以不斷添加模塊來構(gòu)建功能齊全的語音助手,可以完成許多任務(wù)!
顯示也相當(dāng)簡陋。如果你愿意,修改我的設(shè)計并用你自己的一些替換它們應(yīng)該很容易。一切都是用 Tkinter 編寫的,具有對新屏幕分辨率的半響應(yīng)行為。
就這樣!我希望你喜歡這個項目,并在下面的評論中告訴我你用它做了什么。
- 家庭自動化系統(tǒng)開源構(gòu)建
- 使用語音命令的家庭自動化
- 如何構(gòu)建藍牙控制的家庭自動化
- 基于物聯(lián)網(wǎng)的家庭自動化
- 使用物聯(lián)網(wǎng)的家庭自動化
- 使用谷歌助手實現(xiàn)家庭自動化
- 使用Node MCU的家庭自動化
- 簡單家庭自動化或工業(yè)自動化物聯(lián)網(wǎng)解決方案
- 使用螺栓模塊的家庭自動化
- 家庭自動化系統(tǒng)開源分享
- 家庭自動化能源測量系統(tǒng)
- 基于藍牙的家庭自動化
- 使用NodeMCU的基于物聯(lián)網(wǎng)的家庭自動化
- 使用Arduino模擬家庭自動化項目
- 現(xiàn)代家庭自動化遙控系統(tǒng)電路圖
- 工業(yè)自動化中的控制方式 471次閱讀
- 工業(yè)自動化和自動化區(qū)別是什么 1033次閱讀
- 過程自動化控制和運動自動化控制的原理詳解 1352次閱讀
- 用于街道照明自動化的電力線通信 1440次閱讀
- 基于PlatformIO IDE的家庭自動化系統(tǒng)設(shè)計方案實現(xiàn) 2298次閱讀
- GPT-3難以復(fù)現(xiàn),為什么說PyTorch走上了一條“大彎路”? 1402次閱讀
- 基于Raspberry Pi Pico開發(fā)先進的家庭自動化系統(tǒng) 2850次閱讀
- GPT系列的“高仿” 最大可達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山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多