< >
Home » ollama大模型框架入门教程 » ollama大模型框架入门教程-使用 Whisper + Ollama + Bark 构建语音助手

ollama大模型框架入门教程-使用 Whisper + Ollama + Bark 构建语音助手

说明

  • 介绍如何利用Whisper + Ollama + Bark 构建语音助手
  • 语音识别:利用OpenAI 的 Whisper ,我们将口语转换为文本。Whisper 对各种数据集的训练确保了其对各种语言和方言的熟练掌握。
  • 对话链:对于对话功能,我们将使用Llama-2模型的 Langchain 接口,该接口由 Ollama 提供。此设置可确保无缝且引人入胜的对话流程。
  • 语音合成器:文本到语音的转换是通过Bark实现的,Bark 是 Suno AI 推出的最先进的模型,以逼真的语音生成而闻名。
  • 工作流程很简单:录制语音、转录为文本、使用 LLM 生成响应,然后使用 Bark 发出响应的声音。
  • 相关源码地址
  • 环境:ubuntu18.04 + cuda12

步骤:

  • 1.创建虚拟环境和激活
mkdir ~/llm/ 
cd ~/llm
python3 -m venv myenv
source ~/llm/bin/activate
  • 2.下载源码和安装
git clone https://github.com/ncnynl/local-talking-llm
cd local-talking-llm
pip3 install -r requirements.txt
#解决错误问题:问题报错:undefined symbol: __nvJitLinkAddData_12_1, version libnvJitLink.so.12
#要根据cuda版本来安装对应pytorch版本
#目前测试是cuda12.0版本
pip3 uninstall torch torch torchvision torchaudio
pip3 install torch torchvision torchaudio -f https://download.pytorch.org/whl/cu120/torch_stable.html

测试交互

  • 1.接上麦克风和音箱或耳机,并测试使用命令:
arecord  -f cd test.wav
aplay test.wav
  • 如果能正常播放声音说明麦克风和耳机是正常使用了

  • 2.更改里面app.py文件,增加定义模型和base_url

PROMPT = PromptTemplate(input_variables=["history", "input"], template=template)
llm_Ollama = Ollama(model="qwen2", base_url='http://127.0.0.1:11434')
chain = ConversationChain(
    prompt=PROMPT,
    verbose=False,
    memory=ConversationBufferMemory(ai_prefix="Assistant:"),
    llm=llm_Ollama,
)
  • 3.启动脚本
#可以增加path里
export LD_LIBRARY_PATH=$HOME/sda1/ollama/local-talking-llm/myenv/lib64/python3.11/site-packages/nvidia/nvjitlink/lib:$LD_LIBRARY_PATH

python3 app.py
    1. 用法:按enter键,说出语音,再enter键结束语音
    1. 问题:
  • 中间遇到不少问题,主要是网络问题导致模型下载不成功,或一些依赖没有安装成功

  • 根据具体问题,逐一排查即可

  • 首次启动需要下载模型,你如果不能正常连接下载相关模型,则需要提供代理,比如设置一个

export HTTP_PROXY=http://username:password@proxyserver:port
export HTTPS_PROXY=http://username:password@proxyserver:port
  • 使用自己科学上网代理地址
  • 单独下载punkt
import nltk
nltk.download('punkt')
  • 如果bark不能正常输出,可以单独测试正确后再试

参考:

演示视频

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ollama大模型框架入门教程