一个基于语音的交互式助手,配备了各种合成声音(包括Ironman的Jarvis的声音)
Midjourney AI的图像
是否曾经梦想过要求超智能系统提示改善盔甲?现在可以!好吧,也许不是装甲部分...这个项目利用了Openai Whisper,Openai Chatgpt和IBM Watson。
项目动机:
很多时候,想法都在最糟糕的时刻出现,他们在您有时间探索它们之前就消失了。该项目的目的是开发一种能够在准现实时间提供您所要求的系统的系统。终极助手将能够从您的房屋或手机内的任何授权麦克风访问,它应该在后台不断运行,召唤时应该能够生成有意义的答案(带有坏声音),并与PC或服务器或服务器接口并保存/读取/读/写文件,可以在后面访问。它应该能够进行研究,从Internet收集材料(从HTML页面中提取内容,转录YouTube视频,查找科学论文...),并提供可以用作上下文做出明智决定的摘要。此外,它可能会与某些外部小工具(IoT)接口,但这是额外的。
演示:
我可以分享研究模式的初稿。人们认为这种方式经常处理研究论文。
PS:此模式不是超级稳定的,需要使用
pps:这个项目将在我的论文上努力直到2024年就停止了一段时间。但是,已经有很多事情可以改进,所以我会回来的!
免责声明:
该项目可能会消耗您的OpenAI信贷,从而导致不希望的帐单;
我不对任何不必要的指控负责;
考虑在OpenAI帐户中设置信用消耗的限制;
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
);您可以依靠新的
setup.bat
将为您完成大多数事情。
主脚本应该运行: openai_api_chatbot.py
如果要在演示文件夹内使用最新版本的OpenAI API,则可以找到项目中使用的软件包的指南,如果您有错误,则可以首先检查这些文件以定位问题。主要存储在助手文件夹voice.py
: get_audio.py
存储所有用于处理麦克风交互的功能, tools.py
。 Agents.py
处理系统的Langchain部分(在这里您可以从代理的工具包中添加或删除工具)
其余的脚本是语音生成的补充,不应编辑。
如果您在Windows/Linux上运行,则可以运行setup.bat
。该脚本将按顺序执行手册安装的每个步骤。请参阅那些如果程序应失败的情况。
自动安装还将运行Vicuna安装(Vicuna安装指南)
pip install -r venv_requirements.txt
;这可能需要一些时间;如果您在特定软件包上遇到冲突,请在没有==<version>
的情况下手动安装它们;whisper_edits
whisper
夹中找到(。demos/tts_demo.py
); cd Vicuna
call vicuna.ps1
env.txt
文件中,然后将其重命名为.env
(是的,删除TXT扩展程序)torch.cuda.is_available()
和torch.cuda.get_device_name(0)
,验证您的图形引擎和CUDA版本与Pytorch兼容Pytorch; 。tests.py
。该文件尝试执行可能引起错误的基本操作;VirtualAssistant.__init__()
; whisper_model = whisper.load_model("large")
的__main__()
中的较大升级。但是我希望您的GPU记忆也很大。 openai_api_chatbot.py
):运行时,您会看到许多信息正在显示。我一直在努力提高执行的可读性,整个项目是一个巨大的测试版,宽恕了下面的屏幕。无论如何,这就是当您击中“运行”时,就会发生一般术语:
Jarvis
召唤助手。在这一点上,对话将开始,您可以用任何想要的语言讲话(如果您遵循步骤2)。当您说一个停止单词2)用一个单词说些什么(例如'ok')时,对话将终止chat_history
,它将发送一个带有API的请求,并且一旦收到ChatGpt的完整答案(最多可能需要5-10秒),它将立即更新历史记录,如果您急忙请求简短的答案,请考虑明确要求一个简短的答案);say()
函数将执行语音重复,以与Jarvis/某人的声音交谈;如果该论点不是英语,IBM Watson将发送他们不错的文本对语音模型之一的响应。如果一切都失败了,功能将依赖于Pyttsx3,这是一个快速但不那么酷的选择。
我做了一些提示,结束了对话
我知道不理想,但现在工作
VirtualAssistant
类目前正在从事:
下列的:
检查项目的更新History.md以获取更多见解。
玩得开心!
类别:安装,一般,运行时
问题是关于耳语。您应该用pip install whisper-openai
将其重新安装
pip install --upgrade openai
。要求没有更新每个提交。虽然这可能会产生错误,您可以快速安装缺失的模块,同时,当我尝试新软件包时,它可以使环境与冲突保持清洁(我尝试了很多)
这意味着您选择的模型对于您的CUDA设备内存太大。不幸的是,除了加载较小的型号外,您无能为力。如果较小的模型不满足您,您可能想说“更清晰”或提示更长的提示让模型更准确地预测您在说什么。这听起来不便,但就我而言,这大大改善了我的英语:)
这仍然是一个错误,不要指望与您的助手进行长时间的对话,因为它将有足够的记忆来记住整个对话。正在开发的修复程序,它可能包括采用“滑动窗口”方法,即使可能导致某些概念的重复。
现在(2023年4月)我几乎不停地工作。我可能会在夏天休息一下,因为我将撰写论文。
如果您有疑问,可以通过提出问题与我联系,我会尽力尽快提供帮助。
Gianmarco Guarnier