Conversational Speaker,非正式地称为“Friend Bot”,使用 Raspberry Pi 实现与 OpenAI 大型语言模型的口头对话。此实现收听语音,通过 OpenAI 服务处理对话,并做出回应。
有关用于维护对话上下文的提示引擎的更多信息,请转到此处:python 、typescript 、dotnet 。
有关一般提示设计的更多信息,请查看 OpenAI 关于该主题的文档:https ://beta.openai.com/docs/guides/completion/prompt-design 。
本项目使用 .NET 6 编写,支持 Raspberry Pi OS、Linux、macOS 和 Windows。
构建时间:30分钟
阅读时间:15分钟
硬件:~$50
软件:
Azure 认知语音服务,免费层支持每月 5 个免费音频小时和 1 个并发请求(Azure 认知服务定价)。新的 Azure 帐户包含 200 美元的免费额度,可在前 30 天内使用。
您将需要一个用于语音转文本和文本转语音的 Azure 认知服务实例,以及一个用于对话的 OpenAI 帐户。您几乎可以在任何平台上运行该软件,但让我们先从设置 Raspberry Pi 开始……
如果您是 Raspberry Pis 的新手,现在是查看入门的好时机。
操作系统
1. 将 SD 卡插入您的 PC
2. 转到https://www.raspberrypi.com/software/然后下载并运行 Raspberry Pi Imager
3. 单击“选择操作系统”并选择默认的树莓派操作系统(32 位)。
4.点击`Choose Storage`,选择SD卡
5. 点击`Write`,等待镜像完成。
6. 将 SD 卡插入树莓派,连接键盘、鼠标和显示器。
7. 完成初始设置,确保配置 Wi-Fi。
USB 扬声器/麦克风
1. 如果您还没有插入 USB 扬声器/麦克风
2. 右键单击屏幕右上角的音量图标,确保选择了 USB 设备。
3. 右键单击屏幕右上角的麦克风图标,确保选择了 USB 设备。
对话式演讲者使用 Azure 认知服务进行语音转文本和文本转语音。以下是创建 Azure 帐户和 Azure 认知服务实例的步骤。
创建一个 Azure 帐户(如果您还没有)
1. 在 Web 浏览器中,导航至https://aka.ms/friendbot/azure并单击Try Azure for Free
。
2. 单击Start Free
开始创建免费的 Azure 帐户。
3. 使用您的 Microsoft 或 GitHub 帐户登录。
4. 登录后,系统会提示您输入一些信息。
5. 即使这是一个免费帐户,Azure 仍然需要信用卡信息。除非您稍后更改设置,否则不会向您收费。
6. 帐户设置完成后,导航至https://aka.ms/friendbot/azureportal。
创建 Azure 认知服务实例
1. 在https://aka.ms/friendbot/azureportal登录你的帐户。
2. 在顶部的搜索栏中,输入Cognitive Services
并在下方Marketplace
选择Cognitive Services
(可能需要一些时间来填充)。
3. 确认选择了正确的订阅,然后在Resource Group
选择下Create New
输入资源组名称(例如conv-speak-rg
)
4. 为您的 Azure 认知服务实例选择区域和名称(例如my-conv-speak-cog-001
)。我建议使用美国东部、西欧或东南亚,因为这些地区往往支持最多的功能。
5. 点击 ,Review + Create
验证通过后点击Create
。
6. 部署完成后,您可以单击Go to resource
以查看您的 Azure 认知服务资源。
7. 在左侧导航栏中,选择Keys and Endpoint
下Resource Management
。复制两个认知服务密钥中的任意一个并保存在安全位置以备后用。
Windows 11 用户:如果应用程序在调用文本到语音 API 时停滞,请确保您已应用所有当前安全更新(链接)。
对话式演讲者使用 OpenAI 的模型进行友好对话。以下是创建新帐户和访问 AI 模型的步骤。
创建一个 OpenAI 帐户(如果您还没有)
1. 在网络浏览器中,导航至https://openai.com/api并单击“注册”
2. 您可以使用谷歌账户、微软账户或邮箱创建新账户。
3. 完成注册过程(例如,创建密码、验证您的电子邮件等)。如果您是 OpenAI 的新手,请查看使用指南 ( https://beta.openai.com/docs/usage-guidelines )。
4. 在右上角点击您的账户,然后点击View API keys
。
5. 单击+ Create new secret key
,复制并保存在安全位置以备后用。
获取并配置代码。
1. 在 Raspberry Pi 或您的 PC 上,打开命令行终端
2.安装.NET 6 SDK
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 6.0
安装完成后(可能需要几分钟),将 dotnet 添加到命令搜索路径
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
source ~/.bashrc
您可以通过检查版本来验证是否已成功安装 dotnet
dotnet --version
3. 克隆 repo 并签出适当的分支。
git clone --recursive --branch hackster-tutorial-1 https://github.com/microsoft/conversational-speaker.git
4. 设置您的 API 密钥,将 {MyCognitiveServicesKey} 替换为您的 Azure 认知服务密钥,将 {MyCognitiveServiceRegion} 替换为您的 Azure 认知服务区域(例如,EastUS
),并将 {MyOpenAIKey} 替换为上述部分中的 OpenAI API 密钥。
cd ~/conversational-speaker/src/ConversationalSpeaker
dotnet user-secrets set "AzureCognitiveServices:Key" "{MyCognitiveServicesKey}"
dotnet user-secrets set "AzureCognitiveServices:Region" "{MyCognitiveServiceRegion}"
dotnet user-secrets set "OpenAI:Key" "{MyOpenAIKey}"
5. 构建并运行代码!
cd ~/conversational-speaker/src/ConversationalSpeaker
dotnet build
dotnet run
(可选)将应用程序设置为开机启动
Raspberry Pi 启动时有几种方法可以运行程序。下面是我的首选方法,它会在可见的终端窗口中自动运行应用程序。这使您不仅可以看到输出,还可以通过单击终端窗口并按 CTRL+C 来取消应用程序。
1.创建文件/etc/xdg/autostart/friendbot.desktop
sudo nano /etc/xdg/autostart/friendbot.desktop
2.将以下内容放入文件中
[Desktop Entry]
Exec=lxterminal --command "/bin/bash -c '~/.dotnet/dotnet run --project ~/conversational-speaker/src/ConversationalSpeaker; /bin/bash'"
按 CTRL+O 保存文件,按 CTRL+X 退出。这将在 Raspberry Pi 完成启动后在终端窗口中运行应用程序。
3. 要测试更改,您只需运行即可重新启动
reboot
有关如何使用代码字的更多详细信息,请查看README 。
~/conversational-speaker/src/ConversationalSpeaker/configuration.json
.PromptEngine:OutputPrefix
),AzureCognitiveServices:SpeechSynthesisVoiceName
)PromptEngine:Description
)在下一个教程中,我们将向我们的会话扬声器添加唤醒阶段(例如“嘿,计算机”)。
玩得开心!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !