一.简介
核心问题:目前llm无法解决复杂的音频信息或进行口语对话。数据和计算资源制约了高方向的发展
本文:
1.使用chatgpt作为接口
2.没有训练口语模型,而是将LLM与语音对话的输入/输出接口(ASR、TTS)连接起来。AudioGPT可以分为四个阶段,包括模态转换、任务分析、模型分配和响应生成。
二.模块
2.1 模态转换
将输入的文本和语音统一为文本模态
2.2 任务分析
任务处理器H首先将查询分类为通过I/O模式分类的不同任务族。
对于给定所选择的任务族,将查询描述传递到提示管理器M中,以生成包括音频基础模型和相对对应参数变量
2.3 模型分配
将相关资源分配给模型,并执行上一步获得的模型以获得任务输出
2.4生成响应
响应生成与选择任务及其输出高度相关
三. 限制
1)提示工程:AudioGPT使用ChatGPT连接大量基础模型,因此需要提示工程来用自然语言描述音频基础模型,这可能耗时且需要专业知识;
2) 长度限制:ChatGPT中的最大令牌长度可能会限制多回合对话,这也会影响用户的上下文指令;
3)容量限制AudioGPT严重依赖音频基础模型来处理音频信息,这在很大程度上受到这些模型的准确性和有效性的影响。
四. 实战测试
4.1 运行
# create a new environment
conda create -n audiogpt python=3.8
# prepare the basic environments
pip install -r requirements.txt
# download the foundation models you need
bash download.sh
# prepare your private openAI private key
export OPENAI_API_KEY={Your_Private_Openai_Key}
# Start AudioGPT !
python audio-chatgpt.py
下载过程应该是需要挂vpn的
1.如何获得 openAI private key
【参考】https://zhuanlan.zhihu.com/p/620844963
2.报错
pip install --force-reinstall 库名
以我为例,出现了以下两个报错,都是导入失败的
(1)ImportError: cannot import name 'guess_lexer_for_filename' from 'pygments.lexers'
(2)ImportError: cannot import name 'wcswidth' from 'wcwidth'
通过上述方式解决
3.开始运行