今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi)
本人所用树莓派4B 装载的系统与版本如下:
版本可用命令 (lsb_release -a) 查询:
Opencv 与 python 版本如下:
下载大语言模型,下载中文输入法,Python_espeak文字转语音
目录
大型语言模型与ollama:
大型语言模型(Large Language Models,简称LLM)是一类基于人工智能技术的高级文本生成系统, 其主要特点是能够通过大规模的训练数据来学习和理解人类语言,并能够生成自然流畅的文本。
ollama主要功能与特点:
- 简化部署:Ollama旨在简化在Docker容器中部署LLM的过程,使得管理和运行这些模型变得更加容易。
- 捆绑模型组件:它将模型权重、配置和数据捆绑到一个包中,称为Modelfile,这有助于优化设置和配置细节,包括GPU使用情况。
- 支持多种模型:Ollama支持多种大型语言模型,如Llama 2、Code Llama、Mistral、Gemma等,并允许用户根据特定需求定制和创建自己的模型。
- 跨平台支持:支持macOS和Linux平台,Windows平台的预览版也已发布。用户可以通过简单的安装过程,在各自平台上运行Ollama。
- 命令行操作:安装完成后,用户可以通过简单的命令行操作启动和运行大型语言模型。例如,要运行Gemma 2B模型,只需执行命令
ollama run gemma:2b
。- 资源要求:为了顺畅运行大模型,需要一定的内存或显存。例如,至少需要8GB的内存/显存来运行7B模型,至少需要16GB来运行13B模型,至少需要32GB来运行34B的模型。
下载与验证ollama:
curl -fsSL https://ollama.com/install.sh | sh
验证下载:
安装中文输入法:
sudo apt-get update sudo apt-get install -y fcitx fcitx-googlepinyin
安装完后重启系统,添加输入法:
先取消 Only Show Current Language选项勾选,然后输入方式列表内容选择 Google PinYin,最后点击 OK 选项,关闭这个界面
切换输入法:
Ctrl + 空格
下载语言模型:
这里我下了俩个阿里的语言模型:
阿里的通义千问:
ollama pull qwen2:7b ollama run qwen2:1.5b
通过终端输入调出大模型: ollama run qwen2:7b ollama run qwen2:1.5b
它们都是能离线运行的对话模型,但注意只有树莓派5能够运行这俩大模型,而且树莓派5的8G版本才能运行7b的大模型,4G版本只能运行1.5b
文字转语音:
下载espeak:
sudo apt-get install espeak
测试espeak:
在终端输入:
espeak -vzh “世界你好”
这句中文能正常播放,但有报错,这行报错意味着句子其实是没法正常播放的
可以在此时输入以下句子测试一下,你会发现句子只发音了一半Hello:
espeak -vzh “hello world”
这是因为命令中使用了中文引号(
“
和”
),在大多数 Unix/Linux 系统中可能不被识别。应使用英文引号("
或'
),或者不使用引号,因为 "hello world" 作为一个简单的字符串,通常不需要引号。复制以下代码即可正常读出hello world:
espeak -vzh "hello world"
对于发音声音的选择:
可以在终端输入来查询语言,发音:
espeak --voices
关键列说明:
- Language: 这一列列出了每种声音支持的语言或方言。
- VoiceName: 这一列包含了用于引用该声音的特定名称或代码。然而,请注意,这个列并不总是直接对应于
espeak
命令中用于指定声音的参数。- File: 在某些情况下,这一列可能包含了一个更具体的文件名或路径,但这通常不是直接用于
espeak
命令的参数。不过,它可以帮助您了解声音文件的位置或命名模式。- Other Languages: 这一列提供了额外支持的语言或方言的备注,这些信息有助于理解声音的适用性。
以下是使用美式英语发音的示例:
espeak -v en-us "hello world"
在Python中使用espeak:
替换
'-v', 'en+f1'
中的en+f1
以选择不同的语音。espeak
支持多种语言和声音。你可以调整语速(
-s
)和音调(-p
)参数,以找到最适合你需求的设置。
import subprocess
def speak(text):
# 构造espeak命令
# -v 是设置语音(例如,en+f1 是英语女性声音1)
# -s 是设置语速(例如,150 是正常语速)
# -p 是设置音调(例如,50 是正常音调)
# 文本作为最后一个参数传入
#command = ['espeak', '-v', 'zh+f2', '-s', '100', '-p', '50', text]#中文女
#command = ['espeak', '-v', 'zh', '-s', '100', '-p', '50', text]#中文男
command = ['espeak', '-v', 'en+f1', '-s', '150', '-p', '50', text] #英文女
# 使用subprocess.run运行命令
subprocess.run(command)
# 使用函数
speak("Hello, this is espeak speaking through Python.")
#speak("你好世界")