pipecat首次使用

6 阅读2分钟

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