资料介绍
描述
Alexa太无聊了吗?当您要求 Siri 关灯时,您有时是否希望它更刻薄一点?谷歌助理称你不够胖吗?不要害怕,GPT-3 就在这里。
在这个项目中,我们将构建一个用于家庭自动化的语音助手,它利用 GPT-3 的强大功能来解析您的查询并根据您的命令提供尖刻的、上下文相关的俏皮话。
如果你给 AI 助手一个命令,比如“你能关掉厨房灯吗”,GPT-3 会解析该短语以提取设备名称(厨房灯)、所需状态(关闭),它会为你服务用一个有趣的俏皮话,比如“什么,你吃完了冰箱里的食物吗?” 作为回应。您可以通过唤醒词激活助手,说出命令,程序将在说出有趣的俏皮话时处理您的查询。
这个项目完全是用 Python 编写的,所以很容易根据自己的需要进行修改。我已经为 Lifx 智能灯泡添加了集成,但您可以与许多其他人一起进行设置。
GPT-3 入门
在我们深入研究之前,了解 GPT-3 的实际情况很重要。如果您还不熟悉它,GPT-3 是一种极其先进的语言模型,具有简单的基于文本的查询方法。您可以向 GPT-3 提供提示,它会选择与提供的提示最匹配的文本响应。GPT-3 非常精通模式识别,因此您可以向它提供一些示例,说明它应该如何响应给定的查询以构建简单的 API。
下面是该项目将向 GPT-3 输入的内容示例片段,以供用户输入“关闭厨房灯”。
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 如何构建其响应。第二个提示是完成 GPT-3 的用户输入。GPT-3 可能会响应以下内容:
Object: kitchen light
Desired State: 0
Response: What, you like to eat in the dark? Creep.
在实际系统中,您将提供更多 GPT-3 示例,而不仅仅是一个,但希望您能明白这一点。此外,由于模型的构造方式,您通常会针对同一查询获得不同的响应。对于输入“打开卧室灯”,我已经看到了从良性到混乱再到轻浮的一切。
第 1 步:硬件和软件要求
您只需要一台带麦克风和扬声器的电脑即可尝试。您自己的家庭自动化设置需要一些配置,但您可以在不进行设置的情况下测试语音功能并查看一些有趣的响应。
我不想让我的笔记本电脑成为一个荣耀的家庭自动化中心,所以我创建了一个 Raspberry Pi 系统来监听命令并处理响应。这里的大部分繁重工作都是在云中完成的,因此即使是 RPi 零也可以工作。我还订购了一些带有基于 LAN 的简单 API 的智能灯泡。您可能会使用自己的,但这需要一些开发工作。以下是我使用的部件的完整列表:
- 带电源的 Raspberry Pi 4 (几乎任何计算机都可以工作,但您需要相应地修改以下部分)
- RASPIAUDIO 扬声器和麦克风帽(在使用之前需要几个步骤才能使用 Raspberry Pi 进行设置)
- DFRobot液晶显示器
- LIFX 智能灯泡
您暂时还需要自己的 GPT-3 API 密钥。目前有一个等候名单来获得这些,但你可以在这里注册一个。我需要一些时间才能将此服务包装在它自己的 API 中,这样您就不需要密钥了。如果您愿意,请在下面发表评论。如果有足够的兴趣,我会抽空去做。
第 2 步:代码设置
您可以在github.com/AlexFWulff/SnarkyHomeAutomation找到此项目的 Git 存储库。
- 首先将此存储库克隆到您的远程计算机
-
接下来,创建一个虚拟环境来隔离此项目的所有依赖项(将示例路径替换为您希望虚拟环境所在的位置):
python3 -m venv /path/to/virtual_env
-
激活您的虚拟环境
source /path/to/virtual_env/bin/activate
-
导航到 git 存储库的顶层,并安装所有项目的需求
pip install -r requirements.txt
-
根据您的平台,您可能会缺少一些库。在 Raspberry Pi 上,我必须运行
sudo apt install libportaudio2 python3-tk flac ffmpeg
-
将您的 OpenAI 密钥放入系统某处的文本文件中,然后将
key_path
字段更改config.ini
为指向该文件
你*应该*能够通过运行来运行python Run.py
。如果您的麦克风和扬声器配置不正确,您可能会看到如下错误:
OSError: [Errno -9996] Invalid input device (no default output device)
如果这困扰您,请在单独的程序中使用它们来确保您的麦克风和扬声器正常工作。
默认唤醒词是“计算机”。要给系统一个命令,说“计算机”,然后说一个查询。然后系统应该通过扬声器给你一个响应并输出它将采取的行动。
第 3 步:配置您的智能设备
该文件SmartDeviceInfo.xml
包含我使用 LIFX 设备所需的所有信息。如果您还使用 LIFX 灯泡,您只需在 XML 文件中添加一个新条目,其中包含您的设备名称及其 MAC 地址。您可以使用此 Python 工具找到本地网络上所有 LIFX 设备的 MAC 地址。确保enable_lifx
将配置文件中的字段设置为“True”以启用此功能。
我编写了这个软件,以便可以轻松添加其他类型的设备。只需将 xml 文档中的 标记设置为其他内容,然后在AutomationManager.py
. 每个设备至少需要一个名称和一个类型标签。
您可以让程序仅在 GPT-3 输出的名称与您网络上的设备完全匹配时更改设备的状态,或者您可能会生活在危险之中,让程序选择最接近 GPT-3 输出的设备名称。您可以在配置文件中更改此行为。
第 4 步:提示自定义
您可以添加更多自定义提示示例来更改 GPT 的响应方式。您可以在 中找到默认提示prompts/prompt1.txt
。如果要创建新行为,请在此目录中添加一个新文件并将prompt_file_path
值更改config.ini
为指向此新文件。
GPT-3 可以识别很多不同的语音模式。GPT-3 甚至精通各种不同的语言,因此如果您更愿意用英语以外的语言与您的家庭自动化 AI 交谈,您可以创建一个提示来这样做。
我还创建了一些使用起来非常有趣但不一定适合公开发布的提示。如果您希望我给您发送一些电子邮件,请给我发一封电子邮件(您可以在我的网站上找到)。
更多定制!
该项目还可以作为由 GPT-3 支持的其他类型的语音助手的有用模板。我以模块化的方式编写了软件,所以应该很容易在你认为合适的时候交换东西。例如,您可以扩展相同的功能,将项目添加到待办事项列表中,并为您添加的每个项目提供有趣的语音响应。事实上,您可以不断添加模块来构建功能齐全的语音助手,可以完成许多任务!
显示也相当简陋。如果你愿意,修改我的设计并用你自己的一些替换它们应该很容易。一切都是用 Tkinter 编写的,具有对新屏幕分辨率的半响应行为。
就这样!我希望你喜欢这个项目,并在下面的评论中告诉我你用它做了什么。
- 家庭自动化系统开源构建
- 使用语音命令的家庭自动化
- 如何构建蓝牙控制的家庭自动化
- 基于物联网的家庭自动化
- 使用物联网的家庭自动化
- 使用谷歌助手实现家庭自动化
- 使用Node MCU的家庭自动化
- 简单家庭自动化或工业自动化物联网解决方案
- 使用螺栓模块的家庭自动化
- 家庭自动化系统开源分享
- 家庭自动化能源测量系统
- 基于蓝牙的家庭自动化
- 使用NodeMCU的基于物联网的家庭自动化
- 使用Arduino模拟家庭自动化项目
- 现代家庭自动化遥控系统电路图
- 工业自动化中的控制方式 471次阅读
- 工业自动化和自动化区别是什么 1033次阅读
- 过程自动化控制和运动自动化控制的原理详解 1352次阅读
- 用于街道照明自动化的电力线通信 1440次阅读
- 基于PlatformIO IDE的家庭自动化系统设计方案实现 2298次阅读
- GPT-3难以复现,为什么说PyTorch走上了一条“大弯路”? 1402次阅读
- 基于Raspberry Pi Pico开发先进的家庭自动化系统 2850次阅读
- GPT系列的“高仿” 最大可达GPT-3大小 自主训练 2776次阅读
- 如何自学PLC与自动化? 2567次阅读
- 什么是非标自动化设备及分类介绍 4.2w次阅读
- 非标自动化设备的分类 6282次阅读
- ATE自动化测试系统是什么_ATE自动化测试系统介绍 3.2w次阅读
- 自动化领域初涉水 非标自动化和自动化到底有哪些区别? 6091次阅读
- jenkins自动化部署 4559次阅读
- 意法半导体:家庭自动化完全解决方案 1046次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 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十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多