153 lines
4.8 KiB
Plaintext
153 lines
4.8 KiB
Plaintext
---
|
|
title: 'Mem0'
|
|
description: 'Track and monitor Mem0 memory operations with AgentOps'
|
|
---
|
|
|
|
[Mem0](https://mem0.ai/) provides a smart memory layer for AI applications, enabling personalized interactions by remembering user preferences, conversation history, and context across sessions.
|
|
|
|
## Why Track Mem0 with AgentOps?
|
|
|
|
When building memory-powered AI applications, you need visibility into:
|
|
- **Memory Operations**: Track when memories are created, updated, or retrieved
|
|
- **Search Performance**: Monitor how effectively your AI finds relevant memories
|
|
- **Memory Usage Patterns**: Understand what information is being stored and accessed
|
|
- **Error Tracking**: Identify issues with memory storage or retrieval
|
|
- **Cost Analysis**: Track API calls to both Mem0 and your LLM provider
|
|
|
|
AgentOps automatically instruments Mem0 to provide complete observability of your memory operations.
|
|
|
|
## Installation
|
|
|
|
<CodeGroup>
|
|
```bash pip
|
|
pip install agentops mem0ai python-dotenv
|
|
```
|
|
|
|
```bash poetry
|
|
poetry add agentops mem0ai python-dotenv
|
|
```
|
|
|
|
```bash uv
|
|
uv pip install agentops mem0ai python-dotenv
|
|
```
|
|
</CodeGroup>
|
|
|
|
## Environment Configuration
|
|
|
|
Load environment variables and set up API keys. The MEM0_API_KEY is only required if you're using the cloud-based MemoryClient.
|
|
<CodeGroup>
|
|
```bash Export to CLI
|
|
export AGENTOPS_API_KEY="your_agentops_api_key_here"
|
|
export OPENAI_API_KEY="your_openai_api_key_here"
|
|
```
|
|
```txt Set in .env file
|
|
AGENTOPS_API_KEY="your_agentops_api_key_here"
|
|
OPENAI_API_KEY="your_openai_api_key_here"
|
|
```
|
|
</CodeGroup>
|
|
|
|
## Tracking Memory Operations
|
|
|
|
<CodeGroup>
|
|
```python Local Memory
|
|
import agentops
|
|
from mem0 import Memory
|
|
|
|
# Start a trace to group related operations
|
|
agentops.start_trace("user_preference_learning",tags=["mem0_memory_example"])
|
|
|
|
try:
|
|
# Initialize Memory - AgentOps tracks the configuration
|
|
memory = Memory.from_config({
|
|
"llm": {
|
|
"provider": "openai",
|
|
"config": {
|
|
"model": "gpt-4o-mini",
|
|
"temperature": 0.1
|
|
}
|
|
}
|
|
})
|
|
|
|
# Add memories - AgentOps tracks each operation
|
|
memory.add(
|
|
"I prefer morning meetings and dark roast coffee",
|
|
user_id="user_123",
|
|
metadata={"category": "preferences"}
|
|
)
|
|
|
|
# Search memories - AgentOps tracks search queries and results
|
|
results = memory.search(
|
|
"What are the user's meeting preferences?",
|
|
user_id="user_123"
|
|
)
|
|
|
|
# End trace - AgentOps aggregates all operations
|
|
agentops.end_trace(end_state="success")
|
|
|
|
except Exception as e:
|
|
agentops.end_trace(end_state="error")
|
|
```
|
|
|
|
```python Cloud Memory
|
|
import agentops
|
|
from mem0 import MemoryClient
|
|
|
|
# Start trace for cloud operations
|
|
agentops.start_trace("cloud_memory_sync",tags=["mem0_memoryclient_example"])
|
|
|
|
try:
|
|
# Initialize MemoryClient - AgentOps tracks API authentication
|
|
client = MemoryClient(api_key="your_mem0_api_key")
|
|
|
|
# Batch add memories - AgentOps tracks bulk operations
|
|
messages = [
|
|
{"role": "user", "content": "I work in software engineering"},
|
|
{"role": "user", "content": "I prefer Python over Java"},
|
|
]
|
|
|
|
client.add(messages, user_id="user_123")
|
|
|
|
# Search with filters - AgentOps tracks complex queries
|
|
filters = {"AND": [{"user_id": "user_123"}]}
|
|
results = client.search(
|
|
query="What programming languages does the user know?",
|
|
filters=filters,
|
|
version="v2"
|
|
)
|
|
|
|
# End trace - AgentOps aggregates all operations
|
|
agentops.end_trace(end_state="success")
|
|
|
|
except Exception as e:
|
|
agentops.end_trace(end_state="error")
|
|
```
|
|
</CodeGroup>
|
|
|
|
## What You'll See in AgentOps
|
|
|
|
When using Mem0 with AgentOps, your dashboard will show:
|
|
|
|
1. **Memory Operation Timeline**: Visual flow of all memory operations
|
|
2. **Search Analytics**: Query patterns and retrieval effectiveness
|
|
3. **Memory Growth**: Track how user memories accumulate over time
|
|
4. **Performance Metrics**: Latency for adds, searches, and retrievals
|
|
5. **Error Tracking**: Failed operations with full error context
|
|
6. **Cost Attribution**: Token usage for memory extraction and searches
|
|
|
|
## Examples
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Memory Operations" icon="book" href="/v2/examples/mem0">
|
|
Simple example showing memory storage and retrieval with AgentOps tracking
|
|
</Card>
|
|
|
|
<Card title="MemoryClient Operations" icon="cloud" href="https://github.com/AgentOps-AI/agentops/blob/main/examples/mem0/mem0_memoryclient_example.ipynb">
|
|
Track concurrent memory operations with async/await patterns
|
|
</Card>
|
|
|
|
</CardGroup>
|
|
|
|
<script type="module" src="/scripts/github_stars.js"></script>
|
|
<script type="module" src="/scripts/scroll-img-fadein-animation.js"></script>
|
|
<script type="module" src="/scripts/button_heartbeat_animation.js"></script>
|
|
<script type="module" src="/scripts/adjust_api_dynamically.js"></script> |