From a79f1f5f8cc0e13a9fdf1d421bbfc7cac96e121b Mon Sep 17 00:00:00 2001 From: abby Date: Tue, 27 Jan 2026 14:22:16 -0500 Subject: [PATCH] docs: sync memory module docs English version --- .../modules/memories/naive_textual_memory.md | 9 +++---- .../modules/memories/tree_textual_memory.md | 9 ++++--- .../memories/general_textual_memory.md | 18 +++++++++++-- .../modules/memories/naive_textual_memory.md | 27 +++++-------------- .../modules/memories/neo4j_graph_db.md | 2 +- .../open_source/modules/memories/overview.md | 13 +++++---- .../modules/memories/polardb_graph_db.md | 4 +-- .../memories/preference_textual_memory.md | 7 +++-- .../modules/memories/tree_textual_memory.md | 12 ++++----- 9 files changed, 49 insertions(+), 52 deletions(-) diff --git a/content/cn/open_source/modules/memories/naive_textual_memory.md b/content/cn/open_source/modules/memories/naive_textual_memory.md index 699ac068..779863af 100644 --- a/content/cn/open_source/modules/memories/naive_textual_memory.md +++ b/content/cn/open_source/modules/memories/naive_textual_memory.md @@ -1,13 +1,12 @@ --- title: "NaiveTextMemory: 简单明文记忆" -desc: "MemOS 中最轻量级的记忆模块,专为快速原型开发和简单场景设计。无需向量数据库,使用关键词匹配即可快速检索。" +desc: "MemOS 中最轻量级的记忆模块,专为快速原型开发和简单场景设计。无需向量数据库,使用关键词匹配即可快速检索。让我们用最简单的方式开始使用 MemOS 记忆系统! +`NaiveTextMemory` 是一个基于内存的明文记忆模块,将记忆存储在内存列表中,使用关键词匹配进行检索。它是学习 MemOS 的最佳起点,也适用于演示、测试和小规模应用。" + --- -# NaiveTextMemory: 简单明文记忆 -让我们用最简单的方式开始使用 MemOS 记忆系统! -`NaiveTextMemory` 是一个轻量级、基于内存的明文记忆模块,将记忆存储在内存列表中,使用关键词匹配进行检索。它是学习 MemOS 的最佳起点,也适用于演示、测试和小规模应用。 ## 目录 @@ -144,7 +143,7 @@ memory = NaiveTextMemory(config: NaiveTextMemoryConfig) -::alert{type="info"} +::note **示例对比**
查询:"猫咪"
- **关键词匹配**:只匹配包含"猫"、"猫咪"的记忆
diff --git a/content/cn/open_source/modules/memories/tree_textual_memory.md b/content/cn/open_source/modules/memories/tree_textual_memory.md index 9eed3db9..8b8e42ed 100644 --- a/content/cn/open_source/modules/memories/tree_textual_memory.md +++ b/content/cn/open_source/modules/memories/tree_textual_memory.md @@ -1,12 +1,13 @@ --- title: "TreeTextMemory: 分层结构的明文记忆" ---- - -让我们在MemOS中构建你的第一个**基于图的、树形明文记忆**! +desc: "让我们在MemOS中构建你的第一个**基于图的、树形明文记忆**! **TreeTextMemory** 支持以结构化方式组织、关联并检索记忆,同时保留丰富的上下文信息与良好的可解释性。 -MemOS当前使用[Neo4j](/open_source/modules/memories/neo4j_graph_db)作为后端,未来计划支持更多图数据库。 +MemOS当前使用[Neo4j](/open_source/modules/memories/neo4j_graph_db)作为后端,未来计划支持更多图数据库。" +--- + + ## 目录 diff --git a/content/en/open_source/modules/memories/general_textual_memory.md b/content/en/open_source/modules/memories/general_textual_memory.md index 97376bb5..a495a7d7 100644 --- a/content/en/open_source/modules/memories/general_textual_memory.md +++ b/content/en/open_source/modules/memories/general_textual_memory.md @@ -42,6 +42,20 @@ Each memory is represented as a `TextualMemoryItem`: All values are validated. Invalid values will raise errors. +### Search Mechanism +Unlike NaiveTextMemory, which relies on keyword matching, GeneralTextMemory utilizes vector-based semantic search. + +## Algorithm Comparison + +| Feature | Keyword Matching | Vector Semantic Search | +| ------------------ | ---------------------------------- | ------------------------------------------ | +| **Semantic Understanding** | ❌ Doesn't understand synonyms | ✅ Understands similar concepts | +| **Resource Usage** | ✅ Extremely low | ⚠️ Requires embedding model and vector DB | +| **Execution Speed** | ✅ Fast (O(n)) | ⚠️ Slower (indexing + querying) | +| **Suitable Scale** | < 1K memories | 10K - 100K memories | +| **Predictability** | ✅ Intuitive results | ⚠️ Black box model + + ## API Summary (`GeneralTextMemory`) ### Initialization @@ -112,13 +126,13 @@ m.dump("tmp/mem") m.load("tmp/mem") ``` -::alert{type="info"} +::note **Extension: Internet Retrieval**
GeneralTextMemory can be combined with Internet Retrieval to extract content from web pages and add to memory.
View example: [Retrieve Memories from the Internet](./tree_textual_memory#retrieve-memories-from-the-internet-optional) :: -::alert{type="info"} +::note **Advanced: Using MultiModal Reader**
For processing images, URLs, or files within conversations, see the comprehensive MultiModal Reader examples.
View documentation: [Using MultiModalStructMemReader](./tree_textual_memory#using-multimodalstructmemreader-advanced) diff --git a/content/en/open_source/modules/memories/naive_textual_memory.md b/content/en/open_source/modules/memories/naive_textual_memory.md index 81fa9fdf..6993f7a7 100644 --- a/content/en/open_source/modules/memories/naive_textual_memory.md +++ b/content/en/open_source/modules/memories/naive_textual_memory.md @@ -3,11 +3,9 @@ title: "NaiveTextMemory: Simple Plain Text Memory" desc: "The most lightweight memory module in MemOS, designed for rapid prototyping and simple scenarios. No vector database required—quickly retrieve memories using keyword matching." --- -# NaiveTextMemory: Simple Plain Text Memory +Let's get started with the MemOS memory system in the simplest way possible! -Let's start using the MemOS memory system in the simplest way possible! - -**NaiveTextMemory** is a lightweight, in-memory plain text memory module that stores memories in a memory list and uses keyword matching for retrieval. It's the best starting point for learning MemOS and is suitable for demos, testing, and small-scale applications. +NaiveTextMemory is a lightweight, memory-based, plain-text memory module. It stores memories in an in-memory list and retrieves them using keyword matching. It is the perfect starting point for learning MemOS, as well as an ideal choice for demos, testing, and small-scale applications. ## Table of Contents @@ -62,7 +60,7 @@ By the end of this guide, you will be able to: - Keyword search scenarios (queries directly match memories) :: -::alert{type="warning"} +::note **Performance Tip**
When memory count exceeds 1000, it's recommended to upgrade to [GeneralTextMemory](/open_source/modules/memories/general_textual_memory), which uses vector search for better performance. :: @@ -139,19 +137,8 @@ Sort all memories by match count in descending order #### Step 4: Return Results Return the top-k memories as search results -:: - -**Algorithm Comparison** - -| Feature | Keyword Matching (NaiveTextMemory) | Vector Semantic Search (GeneralTextMemory) | -| ------------------ | ---------------------------------- | ------------------------------------------ | -| **Semantic Understanding** | ❌ Doesn't understand synonyms | ✅ Understands similar concepts | -| **Resource Usage** | ✅ Extremely low | ⚠️ Requires embedding model and vector DB | -| **Execution Speed** | ✅ Fast (O(n)) | ⚠️ Slower (indexing + querying) | -| **Suitable Scale** | < 1K memories | 10K - 100K memories | -| **Predictability** | ✅ Intuitive results | ⚠️ Black box model | -::alert{type="info"} +::note **Example Comparison**
Query: "cat"
- **Keyword Matching**: Only matches memories containing "cat"
@@ -238,7 +225,7 @@ memory.add(memories) print(f"✓ Added {len(memories)} memories") ``` -::alert{type="info"} +::note **Advanced: Using MultiModal Reader**
If you need to process multimodal content such as images, URLs, or files, use `MultiModalStructMemReader`.
View complete example: [Using MultiModalStructMemReader (Advanced)](./tree_textual_memory#using-multimodalstructmemreader-advanced) @@ -332,7 +319,7 @@ if memories: # memory.delete_all() ``` -::alert{type="info"} +::note **Extension: Internet Retrieval**
NaiveTextMemory focuses on local memory management. For retrieving information from the internet and adding it to your memory store, see:
[Retrieve Memories from the Internet (Optional)](./tree_textual_memory#retrieve-memories-from-the-internet-optional) @@ -367,7 +354,7 @@ When calling `dump(dir)`, the system saves memories to: Use `load(dir)` to fully restore all memory data. -::alert{type="warning"} +::note **Important Note**
Memories are stored in memory and will be lost after process restart. Remember to call `dump()` regularly to save data! :: diff --git a/content/en/open_source/modules/memories/neo4j_graph_db.md b/content/en/open_source/modules/memories/neo4j_graph_db.md index 455f8078..9478f253 100644 --- a/content/en/open_source/modules/memories/neo4j_graph_db.md +++ b/content/en/open_source/modules/memories/neo4j_graph_db.md @@ -185,4 +185,4 @@ You can add support for any other graph engine (e.g., **TigerGraph**, **DGraph** * `GraphDBConfigFactory.backend_to_class` * `GraphStoreFactory.backend_to_class` -See `src/memos/graph_dbs/neo4j.py` as a reference implementation. +See `src/memos/graph_dbs/neo4j.py` as a reference for implementation. diff --git a/content/en/open_source/modules/memories/overview.md b/content/en/open_source/modules/memories/overview.md index 35ab4e47..a90e7d67 100644 --- a/content/en/open_source/modules/memories/overview.md +++ b/content/en/open_source/modules/memories/overview.md @@ -3,19 +3,18 @@ title: "Memory Modules Overview" desc: "Complete guide to MemOS memory systems - from lightweight text memory to advanced graph structures, choose the right memory module for your needs" --- -# Memory Modules Overview -MemOS provides a rich set of memory modules to meet various needs from rapid prototyping to production environments. This guide helps you quickly find the most suitable memory solution. +The Memory Module provides Agents with essential long-term memory capabilities. Instead of acting as a static database, it mimics human cognitive processes by automatically extracting, organizing, and linking information. Choosing different memory modules allows you to customize and enhance your Agent's skills. ## 🎯 Quick Selection Guide ::alert{type="info"} **Not sure which to choose?** Follow this decision tree: -- 🚀 **Quick testing/demo** → [NaiveTextMemory](#naivetextmemory-simple-textual-memory) -- 📝 **General text memory** → [GeneralTextMemory](#generaltextmemory-general-purpose-textual-memory) -- 👤 **User preference management** → [PreferenceTextMemory](#preferencetextmemory-preference-memory) -- 🌳 **Structured knowledge graph** → [TreeTextMemory](#treetextmemory-hierarchical-structured-memory) -- ⚡ **Inference acceleration** → [KVCacheMemory](#kvcachememory-activation-memory) +- 🚀 **Quick testing/demo**: Get started easily with no additional software → [NaiveTextMemory](#naivetextmemory-simple-textual-memory) +- 📝 **General text memory**: Retain chat history or massive documents with semantic search capabilities → [GeneralTextMemory](#generaltextmemory-general-purpose-textual-memory) +- 👤 **User preference management**:Specifically designed for building and managing user profiles → [PreferenceTextMemory](#preferencetextmemory-preference-memory) +- 🌳 **Structured knowledge graph**: Ideal for data with complex logical relationships and interconnections → [TreeTextMemory](#treetextmemory-hierarchical-structured-memory) +- ⚡ **Inference acceleration**: Optimized for high-traffic scenarios to ensure stable and rapid responses → [KVCacheMemory](#kvcachememory-activation-memory) :: --- diff --git a/content/en/open_source/modules/memories/polardb_graph_db.md b/content/en/open_source/modules/memories/polardb_graph_db.md index c61599a3..8c288cef 100644 --- a/content/en/open_source/modules/memories/polardb_graph_db.md +++ b/content/en/open_source/modules/memories/polardb_graph_db.md @@ -1,11 +1,9 @@ --- title: "PolarDB Graph Database" -desc: "Configuration and usage of PolarDB graph database in the MemOS framework" +desc: "Configuration and usage of PolarDB graph database in the MemOS framework. MemOS supports using **PolarDB** (based on Apache AGE extension) as a graph database backend for storing and retrieving knowledge graph-style memory data. PolarDB combines the powerful capabilities of PostgreSQL with the flexibility of graph databases, making it particularly suitable for scenarios requiring both relational and graph data queries." --- -# PolarDB Graph Database -MemOS supports using **PolarDB** (based on Apache AGE extension) as a graph database backend for storing and retrieving knowledge graph-style memory data. PolarDB combines the powerful capabilities of PostgreSQL with the flexibility of graph databases, making it particularly suitable for scenarios requiring both relational and graph data queries. ## Features diff --git a/content/en/open_source/modules/memories/preference_textual_memory.md b/content/en/open_source/modules/memories/preference_textual_memory.md index d16763fd..ab715be5 100644 --- a/content/en/open_source/modules/memories/preference_textual_memory.md +++ b/content/en/open_source/modules/memories/preference_textual_memory.md @@ -49,9 +49,8 @@ desc: "`PreferenceTextMemory` is a textual memory module in MemOS for storing an - Learning assistance systems (adapting to learning styles) :: -::alert{type="info"} -**Applicable Scenarios**
-When you need to build systems that can "remember" user preferences and provide personalized services accordingly, `PreferenceTextMemory` is the best choice. + +In conclusion, when you need to build systems that can "remember" user preferences and provide personalized services accordingly, `PreferenceTextMemory` is the best choice. :: ## Core Concepts and Workflow @@ -74,7 +73,7 @@ Preference memory can be divided into explicit preference memory and implicit pr - User frequently requests detailed explanations → prefers in-depth understanding - User mentions environmental topics multiple times → concerned about sustainable development -::alert{type="success"} +::note **Intelligent Extraction**
`PreferenceTextMemory` automatically extracts both explicit and implicit preferences from conversations using LLM, no manual annotation required! :: diff --git a/content/en/open_source/modules/memories/tree_textual_memory.md b/content/en/open_source/modules/memories/tree_textual_memory.md index 9bf430d7..10b0862e 100644 --- a/content/en/open_source/modules/memories/tree_textual_memory.md +++ b/content/en/open_source/modules/memories/tree_textual_memory.md @@ -1,12 +1,12 @@ --- title: "TreeTextMemory: Structured Hierarchical Textual Memory" ---- - -Let’s build your first **graph-based, tree-structured memory** in MemOS! +desc: "Let’s build your first **graph-based, tree-structured memory** in MemOS! **TreeTextMemory** helps you organize, link, and retrieve memories with rich context and explainability. -[Neo4j](/open_source/modules/memories/neo4j_graph_db) is the current backend, with support for additional graph stores planned in the future. +[Neo4j](/open_source/modules/memories/neo4j_graph_db) is the current backend, with support for additional graph stores planned in the future." +--- + ## Table of Contents @@ -309,7 +309,7 @@ for m_list in mixed_memories: print(f"✓ Extracted and added {len(mixed_memories)} memories from mixed content") ``` -::alert{type="info"} +::note **MultiModal Reader Advantages**
- **Smart Routing**: Automatically identifies content type (image/URL/file) and selects appropriate parser
- **Format Support**: Supports PDF, DOCX, Markdown, HTML, images, and more
@@ -318,7 +318,7 @@ print(f"✓ Extracted and added {len(mixed_memories)} memories from mixed conten - **Context Preservation**: Uses sliding window to maintain context continuity between chunks :: -::alert{type="tip"} +::note **Configuration Tips**
- Use the `direct_markdown_hostnames` parameter to specify which domains should return Markdown format
- Supports both `mode="fast"` and `mode="fine"` extraction modes; fine mode extracts more details