資料介紹
描述
Alexa太無聊了嗎?當(dāng)您要求 Siri 關(guān)燈時(shí),您有時(shí)是否希望它更刻薄一點(diǎn)?谷歌助理稱你不夠胖嗎?不要害怕,GPT-3 就在這里。
在這個(gè)項(xiàng)目中,我們將構(gòu)建一個(gè)用于家庭自動(dòng)化的語(yǔ)音助手,它利用 GPT-3 的強(qiáng)大功能來解析您的查詢并根據(jù)您的命令提供尖刻的、上下文相關(guān)的俏皮話。
如果你給 AI 助手一個(gè)命令,比如“你能關(guān)掉廚房燈嗎”,GPT-3 會(huì)解析該短語(yǔ)以提取設(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)的語(yǔ)言模型,具有簡(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ǔ)音功能并查看一些有趣的響應(yīng)。
我不想讓我的筆記本電腦成為一個(gè)榮耀的家庭自動(dòng)化中心,所以我創(chuàng)建了一個(gè) Raspberry Pi 系統(tǒng)來監(jiān)聽命令并處理響應(yīng)。這里的大部分繁重工作都是在云中完成的,因此即使是 RPi 零也可以工作。我還訂購(gòu)了一些帶有基于 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ǔ)庫(kù)。
- 首先將此存儲(chǔ)庫(kù)克隆到您的遠(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ǔ)庫(kù)的頂層,并安裝所有項(xiàng)目的需求
pip install -r requirements.txt
-
根據(jù)您的平臺(tái),您可能會(huì)缺少一些庫(kù)。在 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í)別很多不同的語(yǔ)音模式。GPT-3 甚至精通各種不同的語(yǔ)言,因此如果您更愿意用英語(yǔ)以外的語(yǔ)言與您的家庭自動(dòng)化 AI 交談,您可以創(chuàng)建一個(gè)提示來這樣做。
我還創(chuàng)建了一些使用起來非常有趣但不一定適合公開發(fā)布的提示。如果您希望我給您發(fā)送一些電子郵件,請(qǐng)給我發(fā)一封電子郵件(您可以在我的網(wǎng)站上找到)。
更多定制!
該項(xiàng)目還可以作為由 GPT-3 支持的其他類型的語(yǔ)音助手的有用模板。我以模塊化的方式編寫了軟件,所以應(yīng)該很容易在你認(rèn)為合適的時(shí)候交換東西。例如,您可以擴(kuò)展相同的功能,將項(xiàng)目添加到待辦事項(xiàng)列表中,并為您添加的每個(gè)項(xiàng)目提供有趣的語(yǔ)音響應(yīng)。事實(shí)上,您可以不斷添加模塊來構(gòu)建功能齊全的語(yǔ)音助手,可以完成許多任務(wù)!
顯示也相當(dāng)簡(jiǎn)陋。如果你愿意,修改我的設(shè)計(jì)并用你自己的一些替換它們應(yīng)該很容易。一切都是用 Tkinter 編寫的,具有對(duì)新屏幕分辨率的半響應(yīng)行為。
就這樣!我希望你喜歡這個(gè)項(xiàng)目,并在下面的評(píng)論中告訴我你用它做了什么。
- 家庭自動(dòng)化系統(tǒng)開源構(gòu)建
- 使用語(yǔ)音命令的家庭自動(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)化中的控制方式 471次閱讀
- 工業(yè)自動(dòng)化和自動(dòng)化區(qū)別是什么 1033次閱讀
- 過程自動(dòng)化控制和運(yùn)動(dòng)自動(dòng)化控制的原理詳解 1352次閱讀
- 用于街道照明自動(dòng)化的電力線通信 1440次閱讀
- 基于PlatformIO IDE的家庭自動(dòng)化系統(tǒng)設(shè)計(jì)方案實(shí)現(xiàn) 2298次閱讀
- GPT-3難以復(fù)現(xiàn),為什么說PyTorch走上了一條“大彎路”? 1402次閱讀
- 基于Raspberry Pi Pico開發(fā)先進(jìn)的家庭自動(dòng)化系統(tǒng) 2850次閱讀
- GPT系列的“高仿” 最大可達(dá)GPT-3大小 自主訓(xùn)練 2776次閱讀
- 如何自學(xué)PLC與自動(dòng)化? 2567次閱讀
- 什么是非標(biāo)自動(dòng)化設(shè)備及分類介紹 4.2w次閱讀
- 非標(biāo)自動(dòng)化設(shè)備的分類 6282次閱讀
- ATE自動(dòng)化測(cè)試系統(tǒng)是什么_ATE自動(dòng)化測(cè)試系統(tǒng)介紹 3.2w次閱讀
- 自動(dòng)化領(lǐng)域初涉水 非標(biāo)自動(dòng)化和自動(dòng)化到底有哪些區(qū)別? 6091次閱讀
- jenkins自動(dòng)化部署 4559次閱讀
- 意法半導(dǎo)體:家庭自動(dòng)化完全解決方案 1046次閱讀
下載排行
本周
- 1ADE-12H混頻器規(guī)格書
- 0.28 MB | 1次下載 | 5 積分
- 2AD9984A高性能10位顯示接口英文手冊(cè)
- 0.49 MB | 1次下載 | 5 積分
- 351開發(fā)板芯片資料
- 14.95 MB | 1次下載 | 1 積分
- 4用TL431LI-Q1監(jiān)控電流供應(yīng)
- 176.71KB | 1次下載 | 免費(fèi)
- 5十進(jìn)制數(shù)據(jù)轉(zhuǎn)十六進(jìn)制字符_轉(zhuǎn)ASCII碼
- 0.01 MB | 次下載 | 免費(fèi)
- 6使用TRF7970A進(jìn)行NFC主動(dòng)和被動(dòng)點(diǎn)對(duì)點(diǎn)通信
- 926.87KB | 次下載 | 免費(fèi)
- 7LP8864-Q1 LP8864S-Q1 LP8866-Q1和LP8866S-Q1診斷說明和故障處理程序
- 577.42KB | 次下載 | 免費(fèi)
- 8將設(shè)計(jì)移植到LP3470A低lq電壓監(jiān)控器,以改善電源監(jiān)控
- 115.28KB | 次下載 | 免費(fèi)
本月
- 1HFSS電磁仿真設(shè)計(jì)應(yīng)用詳解PDF電子教程免費(fèi)下載
- 24.30 MB | 129次下載 | 1 積分
- 2正激、反激、推挽、全橋、半橋區(qū)別和特點(diǎn)
- 0.91 MB | 36次下載 | 1 積分
- 3GBT 4706.1-2024家用和類似用途電器的安全第1部分:通用要求
- 7.43 MB | 20次下載 | 免費(fèi)
- 4在設(shè)計(jì)中使用MOSFET瞬態(tài)熱阻抗曲線
- 1.57MB | 15次下載 | 免費(fèi)
- 5幾張電動(dòng)車充電器電路圖
- 0.23 MB | 9次下載 | 1 積分
- 6AD18學(xué)習(xí)筆記
- 14.47 MB | 8次下載 | 2 積分
- 7H橋中的電流感測(cè)
- 545.39KB | 7次下載 | 免費(fèi)
- 8電機(jī)驅(qū)動(dòng)器電路板布局的最佳實(shí)踐
- 3.03MB | 6次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935113次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191360次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183329次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81578次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73804次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評(píng)論
查看更多