Replace the 2-LLM-call add pipeline with a single-pass additive extraction
using ADDITIVE_EXTRACTION_PROMPT. Memories now accumulate (ADD-only) instead
of being updated/deleted during extraction.
Search pipeline upgraded to hybrid scoring combining three signals:
- Semantic similarity (vector search)
- BM25 keyword matching (native per vector store, 15 stores supported)
- Entity boost (spaCy NER with entity collection linking)
Combined score = (semantic + bm25 + entity_boost) / max_possible, where
max_possible adapts based on which signals are active.
Key changes:
- Add spaCy-based lemmatization for BM25 keyword search
- Add spaCy-based entity extraction (PROPER, QUOTED, COMPOUND, NOUN types)
- Add entity store as second vector collection ({collection}_entities)
- Add native keyword_search() to 15 vector store adapters
- Add batch embedding support (embed_batch) for OpenAI and Azure OpenAI
- Add message persistence in SQLite (rolling window of 10 per scope)
- Add additive scoring with adaptive normalization
- Add observation_date parameter to add()
- Add custom_instructions config field
- Default search threshold changed to 0.1
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
173 lines
7.0 KiB
Markdown
173 lines
7.0 KiB
Markdown
<p align="center">
|
|
<a href="https://github.com/mem0ai/mem0">
|
|
<img src="docs/images/banner-sm.png" width="800px" alt="Mem0 - The Memory Layer for Personalized AI">
|
|
</a>
|
|
</p>
|
|
<p align="center" style="display: flex; justify-content: center; gap: 20px; align-items: center;">
|
|
<a href="https://trendshift.io/repositories/11194" target="blank">
|
|
<img src="https://trendshift.io/api/badge/repositories/11194" alt="mem0ai%2Fmem0 | Trendshift" width="250" height="55"/>
|
|
</a>
|
|
</p>
|
|
|
|
<p align="center">
|
|
<a href="https://mem0.ai">Learn more</a>
|
|
·
|
|
<a href="https://mem0.dev/DiG">Join Discord</a>
|
|
·
|
|
<a href="https://mem0.dev/demo">Demo</a>
|
|
·
|
|
<a href="https://mem0.dev/openmemory">OpenMemory</a>
|
|
</p>
|
|
|
|
<p align="center">
|
|
<a href="https://mem0.dev/DiG">
|
|
<img src="https://img.shields.io/badge/Discord-%235865F2.svg?&logo=discord&logoColor=white" alt="Mem0 Discord">
|
|
</a>
|
|
<a href="https://pepy.tech/project/mem0ai">
|
|
<img src="https://img.shields.io/pypi/dm/mem0ai" alt="Mem0 PyPI - Downloads">
|
|
</a>
|
|
<a href="https://github.com/mem0ai/mem0">
|
|
<img src="https://img.shields.io/github/commit-activity/m/mem0ai/mem0?style=flat-square" alt="GitHub commit activity">
|
|
</a>
|
|
<a href="https://pypi.org/project/mem0ai" target="blank">
|
|
<img src="https://img.shields.io/pypi/v/mem0ai?color=%2334D058&label=pypi%20package" alt="Package version">
|
|
</a>
|
|
<a href="https://www.npmjs.com/package/mem0ai" target="blank">
|
|
<img src="https://img.shields.io/npm/v/mem0ai" alt="Npm package">
|
|
</a>
|
|
<a href="https://www.ycombinator.com/companies/mem0">
|
|
<img src="https://img.shields.io/badge/Y%20Combinator-S24-orange?style=flat-square" alt="Y Combinator S24">
|
|
</a>
|
|
</p>
|
|
|
|
<p align="center">
|
|
<a href="https://mem0.ai/research"><strong>📄 Building Production-Ready AI Agents with Scalable Long-Term Memory →</strong></a>
|
|
</p>
|
|
<p align="center">
|
|
<strong>⚡ +26% Accuracy vs. OpenAI Memory • 🚀 91% Faster • 💰 90% Fewer Tokens</strong>
|
|
</p>
|
|
|
|
> **🎉 mem0ai v1.0.0 is now available!** This major release includes API modernization, improved vector store support, and enhanced GCP integration. [See migration guide →](MIGRATION_GUIDE_v1.0.md)
|
|
|
|
## 🔥 Research Highlights
|
|
- **+26% Accuracy** over OpenAI Memory on the LOCOMO benchmark
|
|
- **91% Faster Responses** than full-context, ensuring low-latency at scale
|
|
- **90% Lower Token Usage** than full-context, cutting costs without compromise
|
|
- [Read the full paper](https://mem0.ai/research)
|
|
|
|
# Introduction
|
|
|
|
[Mem0](https://mem0.ai) ("mem-zero") enhances AI assistants and agents with an intelligent memory layer, enabling personalized AI interactions. It remembers user preferences, adapts to individual needs, and continuously learns over time—ideal for customer support chatbots, AI assistants, and autonomous systems.
|
|
|
|
### Key Features & Use Cases
|
|
|
|
**Core Capabilities:**
|
|
- **Multi-Level Memory**: Seamlessly retains User, Session, and Agent state with adaptive personalization
|
|
- **Developer-Friendly**: Intuitive API, cross-platform SDKs, and a fully managed service option
|
|
|
|
**Applications:**
|
|
- **AI Assistants**: Consistent, context-rich conversations
|
|
- **Customer Support**: Recall past tickets and user history for tailored help
|
|
- **Healthcare**: Track patient preferences and history for personalized care
|
|
- **Productivity & Gaming**: Adaptive workflows and environments based on user behavior
|
|
|
|
## 🚀 Quickstart Guide <a name="quickstart"></a>
|
|
|
|
Choose between our hosted platform or self-hosted package:
|
|
|
|
### Hosted Platform
|
|
|
|
Get up and running in minutes with automatic updates, analytics, and enterprise security.
|
|
|
|
1. Sign up on [Mem0 Platform](https://app.mem0.ai)
|
|
2. Embed the memory layer via SDK or API keys
|
|
|
|
### Self-Hosted (Open Source)
|
|
|
|
Install the sdk via pip:
|
|
|
|
```bash
|
|
pip install mem0ai
|
|
```
|
|
|
|
Install sdk via npm:
|
|
```bash
|
|
npm install mem0ai
|
|
```
|
|
|
|
### Basic Usage
|
|
|
|
Mem0 requires an LLM to function, with `gpt-4.1-nano-2025-04-14` from OpenAI as the default. However, it supports a variety of LLMs; for details, refer to our [Supported LLMs documentation](https://docs.mem0.ai/components/llms/overview).
|
|
|
|
Mem0 uses `text-embedding-3-small` from OpenAI as the default embedding model. For best results with hybrid search (semantic + keyword + entity boosting), we recommend using at least [Qwen 600M](https://huggingface.co/Alibaba-NLP/gte-Qwen2-1.5B-instruct) or a comparable embedding model. See [Supported Embeddings](https://docs.mem0.ai/components/embedders/overview) for configuration details.
|
|
|
|
First step is to instantiate the memory:
|
|
|
|
```python
|
|
from openai import OpenAI
|
|
from mem0 import Memory
|
|
|
|
openai_client = OpenAI()
|
|
memory = Memory()
|
|
|
|
def chat_with_memories(message: str, user_id: str = "default_user") -> str:
|
|
# Retrieve relevant memories
|
|
relevant_memories = memory.search(query=message, user_id=user_id, limit=3)
|
|
memories_str = "\n".join(f"- {entry['memory']}" for entry in relevant_memories["results"])
|
|
|
|
# Generate Assistant response
|
|
system_prompt = f"You are a helpful AI. Answer the question based on query and memories.\nUser Memories:\n{memories_str}"
|
|
messages = [{"role": "system", "content": system_prompt}, {"role": "user", "content": message}]
|
|
response = openai_client.chat.completions.create(model="gpt-4.1-nano-2025-04-14", messages=messages)
|
|
assistant_response = response.choices[0].message.content
|
|
|
|
# Create new memories from the conversation
|
|
messages.append({"role": "assistant", "content": assistant_response})
|
|
memory.add(messages, user_id=user_id)
|
|
|
|
return assistant_response
|
|
|
|
def main():
|
|
print("Chat with AI (type 'exit' to quit)")
|
|
while True:
|
|
user_input = input("You: ").strip()
|
|
if user_input.lower() == 'exit':
|
|
print("Goodbye!")
|
|
break
|
|
print(f"AI: {chat_with_memories(user_input)}")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
```
|
|
|
|
For detailed integration steps, see the [Quickstart](https://docs.mem0.ai/quickstart) and [API Reference](https://docs.mem0.ai/api-reference).
|
|
|
|
## 🔗 Integrations & Demos
|
|
|
|
- **ChatGPT with Memory**: Personalized chat powered by Mem0 ([Live Demo](https://mem0.dev/demo))
|
|
- **Browser Extension**: Store memories across ChatGPT, Perplexity, and Claude ([Chrome Extension](https://chromewebstore.google.com/detail/onihkkbipkfeijkadecaafbgagkhglop?utm_source=item-share-cb))
|
|
- **Langgraph Support**: Build a customer bot with Langgraph + Mem0 ([Guide](https://docs.mem0.ai/integrations/langgraph))
|
|
- **CrewAI Integration**: Tailor CrewAI outputs with Mem0 ([Example](https://docs.mem0.ai/integrations/crewai))
|
|
|
|
## 📚 Documentation & Support
|
|
|
|
- Full docs: https://docs.mem0.ai
|
|
- Community: [Discord](https://mem0.dev/DiG) · [Twitter](https://x.com/mem0ai)
|
|
- Contact: founders@mem0.ai
|
|
|
|
## Citation
|
|
|
|
We now have a paper you can cite:
|
|
|
|
```bibtex
|
|
@article{mem0,
|
|
title={Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory},
|
|
author={Chhikara, Prateek and Khant, Dev and Aryan, Saket and Singh, Taranjeet and Yadav, Deshraj},
|
|
journal={arXiv preprint arXiv:2504.19413},
|
|
year={2025}
|
|
}
|
|
```
|
|
|
|
## ⚖️ License
|
|
|
|
Apache 2.0 — see the [LICENSE](https://github.com/mem0ai/mem0/blob/main/LICENSE) file for details. |