Skip to content

feat(pipecat): add Pipecat voice AI pipeline memory integration#921

Draft
benfrank241 wants to merge 2 commits intomainfrom
feat/pipecat-integration
Draft

feat(pipecat): add Pipecat voice AI pipeline memory integration#921
benfrank241 wants to merge 2 commits intomainfrom
feat/pipecat-integration

Conversation

@benfrank241
Copy link
Copy Markdown
Contributor

Summary

Adds hindsight-pipecat — a FrameProcessor for Pipecat voice AI pipelines that adds persistent memory via Hindsight.

  • HindsightMemoryService(FrameProcessor) — slots between the user context aggregator and LLM service
  • On each OpenAILLMContextFrame/LLMContextFrame: retains new conversation turns (fire-and-forget), recalls relevant memories (awaited), injects as <hindsight_memories> system message
  • Pure asyncio — uses arecall/aretain async client methods, no thread pool
  • Handles both OpenAI and base LLM context frame types
  • Multimodal content extraction (text parts from list content)
  • Modeled after Pipecat's existing Mem0 memory service

Tests

17 tests, all passing:

  • Config resolution and error handling
  • Recall injection, empty result handling, error swallowing
  • Retain turn-pair extraction, idempotency, error swallowing
  • Memory message replacement (no duplication across turns)
  • Disabled features (no client calls)
  • Multimodal user message text extraction

Checklist

  • hindsight-pipecat package with HindsightMemoryService
  • 17 unit tests (all passing)
  • CI job in .github/workflows/test.yml
  • Entry in scripts/release-integration.sh VALID_INTEGRATIONS

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant