六月是本地语音聊天机器人,结合了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