pipecat首次使用
前言
目前有一个大模型项目需要开发,对比了小智和pipecat,最后综合考虑选择了pipecat,这个软件框架各方面代码比较清晰明了。支持多模态、可并行处理数据流,从设计之初就考虑了可以打断这个设置。支持语音转文字、文字转语音、VAD、大模型调用等等。
github: github.com/pipecat-ai/…
安装
整个虚拟环境都是基于uv, 所以首先安装uv虚拟环境管理器.
curl -LsSf https://astral.sh/uv/install.sh | sh
安装开发和测试项:
`# For new projects
uv init my-pipecat-app
cd my-pipecat-app
uv add pipecat-ai #声明依赖
# Or for existing projects
uv add pipecat-ai
uv init 会生成基础依赖文件。
- pyproject.toml 依赖列表
- .python-version python 的版本号
- main.py 测试文件
- .git 防止把虚拟环境上传到服务器中
- .venv 安装的所有依赖都在这里
这一步主要是为了后续调用各种API使用。
cp env.example .env
第三方的一些服务可以通过下面指令输入。
uv add "pipecat-ai[option,...]"
到这步骤完成了基础依赖的构建。
下面开始进行代码下载和安装。首先进行仓库的克隆。
git clone https://github.com/pipecat-ai/pipecat.git
cd pipecat
安装开发和测试。
uv sync --group dev --all-extras \
--no-extra gstreamer \
--no-extra krisp \
--no-extra local \
- uv sync 会检查你的
pyproject.toml 和uv.lock 文件,确保.venv 里的库完全符合这两个文件的定义。如果库多了就删,少了就装,版本不对就更新。 - group dev 。
dev 组通常包含pytest(测试框架)、black/ruff(代码格式化)或者一些辅助调试的工具 - all-extras。 安装所有可选的扩展功能。
- --no-extra <name> 。 显式排除一些扩展。
在此过程中,aic-sdk 安装中遇到失败,用下面方法重新安装。
sudo apt-get update
sudo apt-get install -y build-essential python3-dev libasound2-dev portaudio19-dev
sudo apt-get update
sudo apt-get install --reinstall ca-certificates
安装git钩子,主要git commit 之前的质量检测。
uv run pre-commit install
测试
uv run pytest
会出现一个TTS测试错误。
可能是跟我电脑系统有关系,修改如下:
expected_returned_frames = [
AggregatedTextFrame,
TTSStartedFrame,
TTSAudioRawFrame,
TTSAudioRawFrame,
TTSAudioRawFrame,
TTSAudioRawFrame,
TTSAudioRawFrame,
TTSAudioRawFrame,
TTSAudioRawFrame,
TTSAudioRawFrame,
TTSAudioRawFrame, # <--- 在这里多加一个,使其总共包含 9 个 TTSAudioRawFrame
TTSStoppedFrame,
TTSTextFrame,
]
为了后续减少测试,可以直接输入这个指令:
uv run pytest tests/test_piper_tts.py