一個基於語音的交互式助手,配備了各種合成聲音(包括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