v0.0.30

pipecat-ai/pipecatv0.0.30Jun 13, 2024by aconchillo

AI Summary

Introduced OpenPipe LLM support, Deepgram STT with persistent connections, and a comprehensive metrics reporting system.

Key Highlights

  • Added OpenPipeLLMService for OpenAI via OpenPipe.
  • Added DeepgramSTTService with persistent websocket connections.
  • Added MetricsFrame and enable_metrics to PipelineParams.
  • Added report_only_initial_ttfb to PipelineParams.

New Features

  • OpenPipeLLMService
  • DeepgramSTTService
  • Metrics system
  • Dialin chatbot

Full Release Notes

### Added

- Added `report_only_initial_ttfb` to `PipelineParams`. This will make it so only the initial TTFB metrics after the user stops talking are reported.

- Added `OpenPipeLLMService`. This service will let you run OpenAI through OpenPipe's SDK.

- Allow specifying frame processors' name through a new `name` constructor argument.

- Added `DeepgramSTTService`. This service has an ongoing websocket connection. To handle this, it subclasses `AIService` instead of `STTService`. The output of this service will be pushed from the same task, except system frames like `StartFrame`, `CancelFrame` or `StartInterruptionFrame`.

### Changed

- `FrameSerializer.deserialize()` can now return `None` in case it is not possible to desearialize the given data.

- `daily_rest.DailyRoomProperties` now allows extra unknown parameters.

### Fixed

- Fixed an issue where `DailyRoomProperties.exp` always had the same old timestamp unless set by the user.

- Fixed a couple of issues with `WebsocketServerTransport`. It needed to use `push_audio_frame()` and also VAD was not working properly.

- Fixed an issue that would cause LLM aggregator to fail with small `VADParams.stop_secs` values.

- Fixed an issue where `BaseOutputTransport` would send longer audio frames preventing interruptions.

### Other

- Added new `07h-interruptible-openpipe.py` example. This example shows how to use OpenPipe to run OpenAI LLMs and get the logs stored in OpenPipe.

- Added new `dialin-chatbot` example. This examples shows how to call the bot using a phone number.