1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# AGENTS.md
## Overview
This package adds persistent memory to Pipecat voice AI pipelines using Supermemory.
**Tech Stack:** Python >=3.10, Pipecat, Supermemory SDK
## Commands
```bash
pip install supermemory-pipecat
```
## Integration Pattern
Place `SupermemoryPipecatService` between context aggregator and LLM in the pipeline:
```python
from supermemory_pipecat import SupermemoryPipecatService
memory = SupermemoryPipecatService(
user_id="user-123", # Required: identifies the user
session_id="session-456", # Optional: groups conversations
)
pipeline = Pipeline([
transport.input(),
stt,
context_aggregator.user(),
memory, # <- Memory service here
llm,
tts,
transport.output(),
context_aggregator.assistant(),
])
```
## Configuration
```python
memory = SupermemoryPipecatService(
api_key="...", # Or use SUPERMEMORY_API_KEY env var
user_id="user-123",
session_id="session-456",
params=SupermemoryPipecatService.InputParams(
search_limit=10, # Max memories to retrieve
search_threshold=0.1, # Similarity threshold 0.0-1.0
mode="full", # "profile" | "query" | "full"
system_prompt="Based on previous conversations:\n\n",
),
)
```
## Memory Modes
| Mode | Retrieves | Use When |
|------|-----------|----------|
| `"profile"` | User profile only | Personalization without search |
| `"query"` | Search results only | Finding relevant past context |
| `"full"` | Profile + search | Complete memory (default) |
## Environment Variables
- `SUPERMEMORY_API_KEY` - Supermemory API key
- `OPENAI_API_KEY` - For OpenAI services (STT/LLM/TTS)
## Boundaries
- Always place memory service after `context_aggregator.user()` and before `llm`
- Always provide `user_id` - it's required
- Never hardcode API keys in code - use environment variables
|