一、软硬件配置
- 树莓派 3B
- AC108 树莓派语音模块
- 系统软件版本:Linux raspberrypi 5.10.103-v 8+ #1529 SMP PREEMPT Tue Mar 8 12:26:46 GMT 2022 aarch 64 GNU/Linux
- 蓝牙音响
二、前期准备
1. 配置科学上网
在 Linux 中使用 Clash | CodeSwift (iswiftai.com)
科学上网配置完毕之后,先通过 clash 脚本启动服务,然后再
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
2. 更新apt、安装git
sudo apt update
sudo apt-get install git
3. 卸载python2,配置 pip
1)卸载python2
# 1.使用以下命令卸载
sudo apt-get remove --purge python2
# 2.自动清理 python2.7 的依赖
sudo apt autoremove
# 3.输入python验证是否卸载成功,若出现no command found 则成功
python
# 4.删除python2.7软连接
sudo rm -f /usr/bin/python
# 5.更改软链接,默认使用python3
sudo ln -s /usr/bin/python3.7 /usr/bin/python
# 6.检查当前 python 版本
python -V
2)配置 pip
# 1.安装pip
apt-get install python3-pip
# 2.更新pip到指定版本
pip3 install --upgrade pip==21.3.1
三、安装AC108 驱动
- 下载驱动文件
git clone https://github.com/respeaker/seeed-voicecard.git
- 进入文件夹
cd seeed-voicecard
- 修改install.sh文件,将/boot/kernel.img 修改为/boot/kernel8.img
- 执行
sudo ./install.sh
开始安装 - 重启
sudo reboot
,并通过arecord -L
查看驱动是否安装正常
- 可以通过
arecord -d 10 -r 44100 test.wav
进行声音录制
四、安装wukong-robbt
详情参见:https://wukong.hahack.com/#/install
五、修改配置
因为我使用的是中转的 chatgpt 的 api 因此需要对 wukong 中的配置文件进行修改。中转免费 api 获取途径:chatanywhere
- 获取API Key 如我的为
sk-dFvMT61TN6vkWZovXodOefe9eyzxhQqgYkNEaTCyFHHLYqun
- 修改 wukong 的配置文件
openai:
openai_api_key: 'sk-dFvMT61TN6vkWZovXodOefe9eyzxhQqgYkNEaTCyFHHLYqun'
provider: 'openai' # openai的接口填写openai, azure的填写azure
api_version: # 如果是openai的,留空就行,azure的需填写对应的api_version,参考官方文档
# 参数指定将生成文本的模型类型。目前支持 gpt-3.5-turbo 和 gpt-3.5-turbo-0301 两种选择
model: 'gpt-3.5-turbo'
# 在前面加的一段前缀
prefix: '请用200字回答:'
# 该temperature参数可以设置返回内容地多样性。值越大意味着该模型更有可能产生创造性的东西,设置为 1 意味着模型将返回它不确定的结果;相比之下,将此参数设置为 0 意味着模型将返回它几乎可以肯定的结果。
temperature: 1
# 该max_tokens参数指定模型允许生成的最大字符数量作为其输出的一部分。您需要为生成的更多字符付费,因此请务必小心使用此参数。
max_tokens: 2000
# 一个可用于代替 temperature 的参数,对应机器学习中 nucleus sampling,如果设置 0.1 意味着只考虑构成前 10% 概率质量的 tokens
top_p: 1.0
# -2.0 ~ 2.0 之间的数字,正值会根据新 tokens 在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性
frequency_penalty: 0.0
# -2.0 ~ 2.0 之间的数字,正值会根据到目前为止是否出现在文本中来惩罚新 tokens,从而增加模型谈论新主题的可能性
presence_penalty: 0.0
stop_ai: 'stop'
# 如果需要代理,反注释下面的配置进行修改
proxy: 'http://127.0.0.1:7890'
# 如果需要更换 api_base ,反注释下面的配置进行修改
api_base: "https://api.chatanywhere.cn/v1/chat"