Skip to content

Pipecat

Give a Pipecat voice pipeline long-term memory. Ships in the Python SDK.

Install

bash
pip install "suprflo[pipecat]"

What you get

  • SuprfloMemoryProcessor — a FrameProcessor that, on each LLMContextFrame, searches Suprflo with the latest user message, prepends the hits to the context as a system message, and stores the conversation. Every other frame passes straight through untouched.

Use it

Place the processor immediately before the LLM service, so it sees the context frame on its way in:

python
from suprflo import MemoryClient
from suprflo.integrations.pipecat import SuprfloMemoryProcessor

client = MemoryClient(api_key="YOUR_API_KEY")

pipeline = Pipeline([
    transport.input(),
    stt,
    context_aggregator.user(),
    SuprfloMemoryProcessor(client, user_id="alice", top_k=5),
    llm,
    tts,
    transport.output(),
    context_aggregator.assistant(),
])

Notes and limits

  • MemoryClient is synchronous, so lookups are offloaded with asyncio.to_thread: the recall is awaited (the LLM must not run before the context is enriched) but the event loop keeps turning.
  • Frame direction is respected and non-context frames are forwarded unchanged, so dropping the processor into an existing pipeline does not disturb it.
  • Requires pipecat-ai 1.x, which the extra pins: 1.0 replaced LLMMessagesFrame with the LLMContextFrame this processor reads.
  • Frame and context shapes are written from the documented 1.x API and are unverified against a live pipeline; the tests mock Pipecat, so they prove the mapping logic and nothing about Pipecat itself.

If pipecat-ai isn't installed, importing this module raises a clear ImportError telling you to pip install "suprflo[pipecat]".

The memory layer for AI agents.