Project Icon

gpt-voice-conversation-chatbot

GPT语音对话机器人,支持个性化对话和长期记忆功能

本项目通过OpenAI API,提供一个可以用麦克风与ChatGPT或GPT-4进行语音交互的聊天机器人,支持个性化对话与记忆功能。用户可以选择键盘输入或语音输入,机器人能够持续记住对话内容。需要有效的OpenAI API密钥,并支持Google和ElevenLabs的TTS工具。适用于Windows和Linux,提供名称设置、创造力调节和预设对话模式等多种自定义功能。适合语言练习、编程学习和日常对话。

如果想要一个类似版本的 Android 智能手表,查看我的另一个仓库 GPT-Assistants-Interlink。此项目利用了 OpenAI 的助手 API。

gpt-voice-conversation-chatbot (GPT-VCC)(前称 GPT3-STTC)

(为旧的完成引擎制作并改造为适用于 ChatGPT。不如现代技术好。继续寻找。)

这是一个允许您使用麦克风与 ChatGPT 或 GPT-4 进行引人入胜且安全的情感语音对话的机器人。如果您更喜欢打字而不是说话,您也可以通过终端与机器人对话。

该工具使用了修改后的 GPT 聊天预设,处理保持会话跟踪,并默认使用 ChatGPT 的 API。您可以告诉 GPT 一些事情,它会在会话期间记住您说的内容,如果您愿意,机器人还可以随着时间的推移发展您的记忆。尽管基于 GPT 最大令牌数量的限制,GPT-VCC 仍应能够在不失去对话意识的情况下与您进行长时间的对话。要使用此工具,您需要有效的 OpenAI API 密钥。

该机器人需要 OpenAI 的调节和 GPT API 正常工作而没有太多延迟。您可以在此处找到状态:https://status.openai.com/

发布版本应该是稳定的,按照之前的测试情况来看,但不会包含所有最新特性。如果您希望拥有这里列出的所有功能,请克隆仓库并不时运行 'git pull'。这将让您随着新功能和错误修复的到来而获得最新版本,但它可能不稳定。

image

(注意:wiseTech 是我的机器人实例为自己选择的名字)

安装

首先,您需要一个 OpenAI API 密钥。您可以在此创建帐户以获取 API 密钥:https://openai.com/api/。

登录后,点击右上角“Personal”旁的圆圈。然后点击“View API keys”。

点击“Create new secret key”,然后保存该密钥。这是您运行 GPT-VCC 所需的密钥。将其按以下方式粘贴到 keys txt 文件中:

OpenAI_Key={请在此粘贴,不要包含括号}

转到屏幕左侧的“Billing”选项卡。当您用完免费额度后,开始付款计划以继续使用 GPT-VCC。

Windows

  1. 下载 Python:https://www.python.org/

  2. 下载此仓库,可以通过发布版本,git 克隆仓库,或者点击右上角的代码按钮并选择“Download ZIP”。

  3. 解压内容,然后移动到包含文件的文件夹中。

  4. 如果已安装 Windows Terminal,右键单击文件夹的空白部分并选择“Open in Terminal”。否则,使用 Win + R 并输入 powershell。当您处于终端窗口并在适当的目录中时,使用“pip install -r requirements.txt --upgrade”。如果成功完成,获得 OpenAI API 密钥后,您应该可以立即使用。

  5. 按照下面列出的步骤使用 GPT-VCC

Linux (基于 Debian / Ubuntu)

  1. 安装 pip3

     sudo apt install python3-pip
     
    
  2. 下载此仓库,可以通过发布版本,git 克隆仓库,或者点击右上角的代码按钮并选择“Download ZIP”。

  3. 解压文件,进入目录,打开 requirements.txt,并从文件中删除 pyaudio==0.2.13。使其看起来从未存在过,同时保留原格式。

  4. 使用以下命令通过 apt 下载 pyaudio:

     sudo apt install python3-pyaudio
     
    
  5. 使用以下命令通过 apt 下载 espeak(接口通信所需):

     sudo apt install espeak
     
    
  6. 使用以下命令通过 pip 下载其他要求:

     pip3 install -r requirements.txt --upgrade
     
    
  7. 按照下面列出的步骤使用 GPT-VCC

使用 GPT-VCC

要使用此聊天机器人,在导航到机器人的文件夹后输入以下命令(将 替换为您的 API 密钥):

python main.py <key>

为了方便起见,您也可以将密钥直接输入到 keys.txt 文件中。运行脚本时,机器人将自动读取该文件并加载密钥。

一个 Pygame 界面将弹出;其颜色代表机器人的状态。红色表示机器人不在听。按下空格键让机器人听你说话。颜色将变黄色表示加载中,然后变绿色表示正在听。在绿色时自由讲话,您的语音将被记录并转化为文本,如果符合 OpenAI 的政策,将被传递给 GPT。当 GPT 准备好回复时,屏幕将变蓝。

如果您希望使用终端,请使用相同语法运行 gptcli.py(有密钥文件也适用):

python gptcli.py <key>

如果您希望使用 ElevenLabs TTS,在您的 OpenAI API 密钥后输入您的个人 ElevenLabs API 密钥,或在密钥文件中填写密钥:

    python main.py <OpenAI key> <ElevenLabs TTS key>

如果您不想使用高级 TTS,此机器人将自动使用 Google 的 TTS。

内容审核

该审核工具使用了 OpenAI 的审核工具和 NLTK 的结合。他们希望能够阻止超出 OpenAI 使用政策的 GPT 使用。 这并不是一个完美的方法,所以请对您给 GPT 的内容持谨慎态度。

请注意,审核 API 的中断或延迟问题将阻止您使用此聊天机器人。如果在 OpenAI 遇到问题时必须与机器人交谈,请编辑 chatbot.py 文件以排除 "not self.flagged_by_openai(text)" 这一条件。不推荐这样做。

克隆/替代 ElevenLabs 语音

如果您希望使用替代语音,可以在启动程序时传递一个参数来实现。将来计划推出更全面的方法。目前,您需要知道您想要使用的语音 ID(可以在 这里 找到基本语音 ID 列表)。一旦知道该 ID,请按照以下示例使用示例 ID "21m00Tcm4TlvDq8ikWAM" 对于 Rachel:

    python main.py --voice_id 21m00Tcm4TlvDq8ikWAM
    

要使用克隆语音,请按以下步骤操作:

  1. 前往 https://beta.elevenlabs.io/voice-lab 并创建自定义语音。

  2. 一旦完成语音克隆,转至 https://api.elevenlabs.io/docs#/voices/Get_voices_v1_voices_get

  3. 点击“Try It Out”,将您的 API 密钥输入到框中,然后点击“Execute”。

  4. 在执行按钮下方,您将看到一个标有“Response body”的框。向下滚动直到找到您命名的语音。获取其上方的 "voice_id",并按照上面的示例使用。

控制

键盘

  • 空格键:这开始和停止记录。无论您说什么,都将在您第二次按空格键后被转录并发送给 GPT(如果通过筛选器)。

  • ESC:退出而不记忆。

  • Q:退出并让机器人记住您的详细信息和对话(数据保存在名为 memories.txt 的文本文档中)

  • P:这是一个弃用命令取消消息。现在只需在录音时说“请取消消息”即可取消。

语音命令

  • 说“请将令牌设置为 #”:当机器人识别到此短语时,它会尝试将回复的 max_tokens 设置为您指定的值。

  • 说“像机器人一样说话”:这将使 GPT 的所有回复都通过离线工作的机器人 TTS 程序来朗读。在 CLI 模式下,输入 'robospeak()' 来切换此模式。

  • 说“停止像机器人一样说话”:这将恢复机器人的 TTS 为您之前的设置(无论是 Google 还是 ElevenLabs TTS)。在 CLI 模式下,输入 '!robospeak()' 来切换此模式。

  • 说“请显示对话”:这将在终端窗口中输出您的整个对话。

  • 说“请显示记忆”:这将输出所有保存到长期存储的记忆。

  • 说“请恢复记忆”:这将尝试通过合并长期存储中的一些记忆来修复机器人的工作记忆。

  • 说“请将预设设置为”:这将为机器人设置预设(每次对话开始时提供给 AI 的文本字符串)。例如,预设“像海盗一样说话”使 AI 像海盗一样说话。您可以在此处找到示例预设:https://github.com/Adri6336/gpt-voice-conversation-chatbot/wiki/Example-Presets。

  • 说“请重设预设”:这将删除您创建的预设。

  • 说“请将名字设为”:这将机器人名称设置为您指定的任何名称,只要它符合 OpenAI 的使用政策。设置名称后,机器人会以您设置的名称自称。

  • 说“请切换 gpt4”:这将在 ChatGPT 和 GPT-4 模型之间切换。启动时,您的开关将被保留。在 CLI 模式下,输入 '!gpt4()' 切换模型。

  • 说“请将创意设置为”:这将机器人的默认随机数设置为您指定的值,范围在 1 到 15 之间(曾经是 9)。在 CLI 模式下,使用 '!creativity(#)',其中 # 号是 0.01 到 1.5 之间的值。

  • 说“请列出命令”:这将让机器人为您列出可用命令。

  • 说“请切换十一实验室”:这将切换机器人的 ElevenLabs TTS 用与不用。在 CLI 模式下,使用 !11ai() 切换它。

  • 说“请取消消息”:这将取消消息,防止其发送给 GPT。

特性

  • 与 ChatGPT 或 GPT-4 有个性化的对话

  • 带有 Google 的 TTS 工具的 GPT 语音回复(如果可以,将准确发音),使用 ElevenLab 逼真的 TTS(如果您有有效的 API 密钥),或作为机器人(说“像机器人一样说话”激活)

  • 使用 Google 的语音识别技术与 GPT 大声对话

  • 如果使用 'Q' 键关闭,机器人会记住关于您的事情

  • 在终端窗口中查看 GPT 的回复。大多数 UTF-32 字符(如中文和阿拉伯文本)也会被打印出来

  • 自动将对话保存到磁盘上的文件帮助您跟踪谈过的内容

  • 保存自定义预设,为您和您的需求提供更好的体验

  • 自定义机器人的名称

  • 自定义机器人的创意

  • 通过终端与 GPT 聊天(Windows 和 Linux)

示例用例

  • 与机器人进行娱乐性对话

  • 通过将预设设置为以该语言像教师一样与你交谈,使用机器人练习语言,并使用 Google 的 TTS 以正确的发音听取回复。如果您愿意,也可以坚持使用 ElevenLabs 的多语言语音

  • 通过请求问题并获得代码反馈让机器人帮助您练习编程

  • 问机器人有关各种事情的问题

  • 请求机器人帮助您写求职信和描述

gptcli.py 示例视频

ElevenLabs 语音演示

https://user-images.githubusercontent.com/64619524/226774710-5e49824e-fc64-432c-ba0b-5bbda13398ef.mp4



Google TTS 西班牙语演示

https://user-images.githubusercontent.com/64619524/226774795-26987da9-887b-4a33-822c-7c8b737affff.mp4

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号