六月是本地語音聊天機器人,結合了Ollama(用於語言模型功能),擁抱面部變壓器(用於語音識別)和Coqui TTS Toolkit(用於文本到語音綜合)的力量。它為您的本地計算機上的語音輔助交互提供了靈活的,以隱私為中心的解決方案,以確保將數據發送給外部服務器。

apt install python3-dev ) -僅適用於GNU/Linuxapt install portaudio19-dev ) -僅適用於GNU/Linuxbrew install portaudio )僅適用於MacOS直接從GitHub存儲庫中安裝6月:
pip install git+https://github.com/mezbaul-h/june.git@master另外,您可以克隆存儲庫並在本地安裝:
git clone https://github.com/mezbaul-h/june.git
cd june
pip install . 如果還沒有,請首先將語言模型(默認為llama3.1:8b-instruct-q4_0 )。
ollama pull llama3.1:8b-instruct-q4_0接下來,運行程序(默認配置):
june-va這將使用LLAMA3.1:8B-Instruct-Q4_0用於LLM功能,OpenAI/Wishper-Small.en進行語音識別,而tts_models/en/ljspeech/glow-tts用於音頻合成。
您還可以使用JSON配置文件自定義程序的行為:
june-va --config path/to/config.json筆記
配置文件是可選的。要了解有關配置文件結構的更多信息,請參見“自定義”部分。
可以使用配置文件自定義應用程序。配置文件必須是JSON文件。默認配置如下:
{
"llm" : {
"disable_chat_history" : false ,
"model" : " llama3.1:8b-instruct-q4_0 "
},
"stt" : {
"device" : " torch device identifier (`cuda` if available; otherwise `cpu` " ,
"generation_args" : {
"batch_size" : 8
},
"model" : " openai/whisper-small.en "
},
"tts" : {
"device" : " torch device identifier (`cuda` if available; otherwise `cpu` " ,
"model" : " tts_models/en/ljspeech/glow-tts "
}
}當您使用配置文件時,它會覆蓋默認配置,但不會覆蓋它。因此,如果需要,您可以部分修改配置。例如,如果您不希望使用語音識別,並且只想通過文本提供提示,則可以通過使用以下配置使用配置文件來禁用該提示:
{
"stt" : null
}同樣,您可以禁用音頻合成器,也可以兩者兼而有之,僅在文本模式下使用虛擬助手。
如果您只想修改要加載特定類型模型的設備,而無需更改模型的其他默認屬性,則可以使用:
{
"tts" : {
"device" : " cpu "
}
}llm語言模型配置llm.device :將管道分配的火炬設備標識符(例如, cpu , cuda , mps )。llm.disable_chat_history :布爾值指示是禁用還是啟用聊天歷史記錄。啟用聊天歷史記錄將使交互更加動態,因為該模型將可以訪問以前的上下文,但是它將消耗更多的處理能力。禁用它將導致較少的交互式對話,但會使用更少的處理資源。llm.model :Ollama上文本生成模型標籤的名稱。確保這是機器上存在的有效模型標籤。llm.system_prompt :給模型給系統提示。如果基礎模型不支持系統提示,則將增加錯誤。 stt語音到文本模型配置tts.device :將管道分配的火炬設備標識符(例如, cpu , cuda , mps )。stt.generation_args :包含通過擁抱Face的語音識別管道所接受的一代參數的對象。stt.model :關於擁抱臉的語音識別模型的名稱。確保這是在擁抱臉上存在的有效模型ID。 tts文本到語音模型配置tts.device :將管道分配的火炬設備標識符(例如, cpu , cuda , mps )。tts.generation_args :包含Coqui TTS API接受的生成參數的對象。tts.model :由Coqui的TTS工具包支持的文本到語音模型的名稱。確保這是有效的模型ID。 看到[system]> Listening for sound...消息後,您可以直接向麥克風說話。與典型的語音助手不同,無需喚醒命令。只需開始講話,該工具將自動檢測和處理您的語音輸入。說話後,保持沉默3秒鐘,以使助手處理您的語音輸入。
由Coqui的TTS工具包支持語音克隆支持的許多模型(例如, tts_models/multilingual/multi-dataset/xtts_v2 )。您可以使用自己的揚聲器配置文件和小音頻剪輯(大多數型號約1分鐘)。剪輯剪輯後,您可以指示助手將其與以下自定義配置一起使用:
{
"tts" : {
"model" : " tts_models/multilingual/multi-dataset/xtts_v2 " ,
"generation_args" : {
"language" : " en " ,
"speaker_wav" : " /path/to/your/target/voice.wav "
}
}
}是的,您可以輕鬆地將遠程託管的Ollama實例與June集成,而不是使用本地實例。這是這樣做的方法:
OLLAMA_HOST環境變量設置為遠程Ollama實例的適當URL。要使用遠程Ollama實例,您將使用這樣的命令:
OLLAMA_HOST=http://localhost:11434 june-va