折腾日记:部署ollama本地模型+本地STT+本地TTS=本地语音助手

用了三天时间研究了一套本地语言模型+本地语音模型部署,效果就和邓超那个《胜券在握》里面的AI电脑一样,就是语音对话。其实任何一个在线ai都能更好的实现,所以最后不知道折腾出来意义何在。但既然折腾了,就随便写一个教程吧。

教程的适用环境:win10或以上版本,建议win11。需要NVIDIA显卡,显存至少在16G或以上,双显卡更佳。

前期准备:
安装wsl2,管理员权限打开PowerShell,运行 wsl –install
安装git,在这里下载https://git-scm.com/install/windows
安装docker Windows,https://www.docker.com/products/docker-desktop/
安装ollama,官网下载https://ollama.com/

部署过程:

下载和启动ollama模型:安装完ollama默认会启动图形界面,并且在右下角有个小羊驼,我们不使用图形界面,请安装启动之后在右下角退出图形界面程序!新建一个批处理文件做为启动程序,也就是新建一个文本,命名为 start_ollama.bat,内容如下:

双击批处理文件启动ollama后台程序,然后最小化。
在官网选一个适合你适用的语言模型,比如gemma4:12b,启动需要大概8G显存,剩下显存跑语音模型。
打开cmd,输入 ollama run gemma4:12b 即可下载和启动模型。
(你也可以在其他cmd里输入 ollama pull 模型名称,同时下载其他模型,ollama list可查看所有下载的模型,ollama rm 模型名称可以删除本地模型)
经过漫长的下载和启动,run的这个cmd窗口会出现>>提示符,你输入你好之类的模型可以回答。此时本地模型已经在显卡中成功运行了。

接下来就是接入耳朵(STT)和嘴(TTS)。

打开刚才安装的docker,界面左下角显示engine running就可以了,点击右上角X,它会在系统右下角托盘后台运行。
安装web管理界面,Open WebUI。
打开一个cmd输入下面的命令

经过一段时间等待,部署完成后,浏览器访问:http://127.0.0.1:3000 即可进入界面。此时你可以在界面选择本地模型进行文字聊天。

安装本地 STT(语音转文字)
打开一个cmd输入下面的命令

如果是多显卡请在上面的命令中改为 –gpus all -e CUDA_VISIBLE_DEVICES=1 指定显卡

安装本地TTS(文字转语音)
这里是重点,因为网上原本的ChatTTS-OpenAI-API维护日期是两年前,已经无法使用,我重新写了一个版本。github的页面是 https://github.com/kujourin/ChatTTS-OpenAI-API
找一个临时目录,打开一个cmd依次输入下面的命令(包含拉取我的版本)

多显卡同理stt指定

stt和tts首次启动需要下载模型文件,估计需要一段时间,可以通过docker logs local-chattts查看运行情况。预计需要漫长的等待。

最后的步骤就是把这三个模型连起来,STT -> 语言模型 -> TTS

打开 127.0.0.1:3000 登录 Open WebUI(首次进入需要创建管理员账户)
右上角头像,选择管理员面板–设置–语音
STT (语音转文字) 配置:
引擎:OpenAI
URL:http://host.docker.internal:8000/v1
密钥:1234 (随便填,本地不校验但必须有)
模型:Systran/faster-whisper-large-v3
TTS (文字转语音) 配置:
引擎:OpenAI
URL:http://host.docker.internal:5050/v1
密钥:1234
模型:chattts
音色:nova
保存设置

回到主页,再次右上角头像,这次是直接点设置(用户设置)–语音
自动发送和自动朗读打开
重点来了,这里的设置音色会覆盖管理员设置。这里可以填写预设的(我在代码里写的)alloy,echo,fable,onyx,nova,test_001,test_002一直到test_010。也可以填写任意数字1-9999等,每一个都是不同的音色。选择自己喜欢的音色(多数都很智障)

至此全部配置完毕,甚至可以实现live对话(需要你的显卡算力能跟上,不然会很慢)

教程完毕感谢观看。这!才是真正的手写教程!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *