Group Chat
Enable multi-participant conversations with automatic memory attribution to individual speakers
📢 Announcing our research paper: Mem0 achieves 26% higher accuracy than OpenAI Memory, 91% lower latency, and 90% token savings! Read the paper to learn how we're revolutionizing AI agent memory.
Introduction to the Group Chat
Overview
The Group Chat feature enables Mem0 to process conversations involving multiple participants and automatically attribute memories to individual speakers. This allows for precise tracking of each participant’s preferences, characteristics, and contributions in collaborative discussions, team meetings, or multi-agent conversations.
When you provide messages with participant names, Mem0 automatically:
- Extracts memories from each participant’s messages separately
- Attributes each memory to the correct speaker using their name as the
user_id
oragent_id
- Maintains individual memory profiles for each participant
How Group Chat Works
Mem0 automatically detects group chat scenarios when messages contain a name
field:
When names are present, Mem0:
- Formats messages as
"Alice (user): content"
for processing - Extracts memories with proper attribution to each speaker
- Stores memories with the speaker’s name as the
user_id
(for users) oragent_id
(for assistants/agents)
Memory Attribution Rules
- User Messages: The
name
field becomes theuser_id
in stored memories - Assistant/Agent Messages: The
name
field becomes theagent_id
in stored memories - Messages without names: Fall back to standard processing using role as identifier
Using Group Chat
Basic Group Chat
Add memories from a multi-participant conversation:
Retrieving Group Chat Memories
Get All Memories for a Session
Retrieve all memories from a specific group chat session:
Get Memories for a Specific Participant
Retrieve memories from a specific participant in a group chat:
Search Within Group Chat Context
Search for specific information within a group chat session:
Async Mode Support
Group chat also supports async processing for improved performance:
Message Format Requirements
Required Fields
Each message in a group chat must include:
role
: The participant’s role ("user"
,"assistant"
,"agent"
)content
: The message contentname
: The participant’s name (required for group chat detection)
Example Message Structure
Supported Roles
user
: Human participants (memories stored withuser_id
)assistant
: AI assistants (memories stored withagent_id
)
Best Practices
-
Consistent Naming: Use consistent names for participants across sessions to maintain proper memory attribution.
-
Clear Role Assignment: Ensure each participant has the correct role (
user
,assistant
, oragent
) for proper memory categorization. -
Session Management: Use meaningful
run_id
values to organize group chat sessions and enable easy retrieval. -
Memory Filtering: Use filters to retrieve memories from specific participants or sessions when needed.
-
Async Processing: Use
async_mode=True
for large group conversations to improve performance. -
Search Context: Leverage the search functionality to find specific information within group chat contexts.
Use Cases
- Team Meetings: Track individual team member preferences and contributions
- Customer Support: Maintain separate memory profiles for different customers
- Multi-Agent Systems: Manage conversations with multiple AI assistants
- Collaborative Projects: Track individual preferences and expertise areas
- Group Discussions: Maintain context for each participant’s viewpoints
If you have any questions, please feel free to reach out to us using one of the following methods: