Pipecat
Give a Pipecat voice pipeline long-term memory. Ships in the Python SDK.
Install
bash
pip install "suprflo[pipecat]"What you get
SuprfloMemoryProcessor— aFrameProcessorthat, on eachLLMContextFrame, 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
MemoryClientis synchronous, so lookups are offloaded withasyncio.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-ai1.x, which the extra pins: 1.0 replacedLLMMessagesFramewith theLLMContextFramethis 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-aiisn't installed, importing this module raises a clearImportErrortelling you topip install "suprflo[pipecat]".