LocalChatLLM 是一个由 YGeeker Pioneer 计划主导的开源项目,旨在实现开箱即用的本地化离线自然语言语音交互。
你需要注意的是,本项目支持中英双语。而不同语言的文档中使用的模型不同:中文使用的是'qwen:7b',而英文版本为'gemma:7b',请按照需要选择模型。For English? Please click here.
- Python
- ollama
- qwen
- openai-whisper
- pyttsx3
- LLM自然语言对话 - ollama|qwen
- 语音输入 - whisper
- 语音合成 - pyttsx3
- 大模型实现自然语言合成
- 语音唤醒
- 自动结束录音
- 分布式运行
- 将Whisper模型改用'small',以提高准确性
- 加入运行时间检测功能,能统计每一次循环的处理时间:
asr time: 2.155439000001934 #语音转文字时间
get_response time: 4.139052400001674 #大语言模型处理时间
all time: 6.295364899997367 #总处理时间
- 加入文本检测,如果没有人说话将自动结束程序
- 实现了最基本的自然语言语音交流功能
- clone 本仓库:
git clone https://github.com/Gloridust/LocalChatLLM.git
cd ./LocalChatLLM
-
从官网安装 ollama
-
安装Python依赖库:
pip install -r requirements.txt
如果出现异常,首先尝试一步一步安装,检查哪一步出问题了:
pip install ollama
pip install pyaudio
pip install pydub
pip install ffmpeg
pip install pyttsx3
pip install openai-whisper
参考 Openai-Whisper 的官方文档,你需要根据不同的系统用以下命令安装ffmpeg:
# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# on Arch Linux
sudo pacman -S ffmpeg
# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg
# on Windows using Chocolatey (https://chocolatey.org/)
choco install ffmpeg
# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg
如果您在上述 'pip install' 命令中看到安装错误,请按安装 Rust 开发环境。此外,您可能需要配置 PATH 环境变量,例如 'export PATH="$HOME/.cargo/bin:$PATH"' 。如果没有名为 "setuptools_rust "的模块,安装失败,则需要先安装 'setuptools_rust' :
pip install setuptools-rust
- Pull 所需要的 ollama 模型并定制:
ollama pull qwen:7b
ollama create localchatllm-qwen-7b -f ./modelfile_cn
- 初始化并尝试运行whisper:
whisper audio.wav --model small
- 调整其他配置
打开'start.py',你可以看见一些可以修改的配置:
######config#####
# For Chinese use 'qwen:7b'
model_name = 'localchatllm-qwen-7b'
# For English use 'gemma:7b'
# model_name = 'localchatllm-gemma-7b'
whisper_model = "small"
whisper_language = "zh"
#################
在tokenizer.py查看所有支持的语言
大功告成!
python start.py
程序录音5秒钟,然后等待生成回答。在朗读完生成的回答后,会再次进入录音状态,以此循环。