MemoryOS 0.2.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {memoryos-0.2.0 → memoryos-0.2.1}/PKG-INFO +66 -26
- {memoryos-0.2.0 → memoryos-0.2.1}/README.md +27 -13
- memoryos-0.2.1/pyproject.toml +205 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/__init__.py +1 -1
- memoryos-0.2.1/src/memos/api/config.py +471 -0
- memoryos-0.2.1/src/memos/api/exceptions.py +28 -0
- memoryos-0.2.1/src/memos/api/mcp_serve.py +502 -0
- memoryos-0.2.1/src/memos/api/product_api.py +35 -0
- memoryos-0.2.1/src/memos/api/product_models.py +159 -0
- memoryos-0.2.1/src/memos/api/routers/__init__.py +1 -0
- memoryos-0.2.1/src/memos/api/routers/product_router.py +358 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/chunkers/sentence_chunker.py +8 -2
- memoryos-0.2.1/src/memos/cli.py +113 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/embedder.py +27 -0
- memoryos-0.2.1/src/memos/configs/graph_db.py +126 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/llm.py +47 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/mem_cube.py +1 -1
- memoryos-0.2.1/src/memos/configs/mem_scheduler.py +164 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/memory.py +5 -4
- memoryos-0.2.1/src/memos/dependency.py +52 -0
- memoryos-0.2.1/src/memos/embedders/ark.py +92 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/embedders/factory.py +4 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/embedders/sentence_transformer.py +8 -2
- memoryos-0.2.1/src/memos/embedders/universal_api.py +32 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/graph_dbs/base.py +2 -2
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/graph_dbs/factory.py +2 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/graph_dbs/neo4j.py +331 -122
- memoryos-0.2.1/src/memos/graph_dbs/neo4j_community.py +300 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/base.py +9 -0
- memoryos-0.2.1/src/memos/llms/deepseek.py +54 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/factory.py +10 -1
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/hf.py +170 -13
- memoryos-0.2.1/src/memos/llms/hf_singleton.py +114 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/ollama.py +4 -0
- memoryos-0.2.1/src/memos/llms/openai.py +101 -0
- memoryos-0.2.1/src/memos/llms/qwen.py +63 -0
- memoryos-0.2.1/src/memos/llms/vllm.py +153 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_cube/general.py +77 -16
- memoryos-0.2.1/src/memos/mem_cube/utils.py +126 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_os/core.py +131 -41
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_os/main.py +93 -11
- memoryos-0.2.1/src/memos/mem_os/product.py +1152 -0
- memoryos-0.2.1/src/memos/mem_os/utils/default_config.py +352 -0
- memoryos-0.2.1/src/memos/mem_os/utils/format_utils.py +1154 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_reader/simple_struct.py +5 -5
- memoryos-0.2.1/src/memos/mem_scheduler/base_scheduler.py +595 -0
- memoryos-0.2.1/src/memos/mem_scheduler/general_scheduler.py +186 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/modules/base.py +9 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/modules/dispatcher.py +68 -2
- memoryos-0.2.1/src/memos/mem_scheduler/modules/misc.py +39 -0
- memoryos-0.2.1/src/memos/mem_scheduler/modules/monitor.py +261 -0
- memoryos-0.2.1/src/memos/mem_scheduler/modules/rabbitmq_service.py +317 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/modules/redis_service.py +32 -22
- memoryos-0.2.1/src/memos/mem_scheduler/modules/retriever.py +268 -0
- memoryos-0.2.1/src/memos/mem_scheduler/modules/schemas.py +328 -0
- memoryos-0.2.1/src/memos/mem_scheduler/mos_for_test_scheduler.py +143 -0
- memoryos-0.2.1/src/memos/mem_scheduler/utils.py +75 -0
- memoryos-0.2.1/src/memos/mem_user/persistent_user_manager.py +260 -0
- memoryos-0.2.1/src/memos/memories/activation/item.py +50 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/activation/kv.py +10 -3
- memoryos-0.2.1/src/memos/memories/activation/vllmkv.py +219 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/factory.py +2 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/general.py +7 -5
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree.py +9 -5
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/conflict.py +5 -3
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/manager.py +26 -18
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/redundancy.py +25 -44
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/relation_reason_detector.py +11 -13
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/reorganizer.py +73 -51
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/recall.py +0 -1
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/reranker.py +2 -2
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/searcher.py +6 -5
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/parsers/markitdown.py +8 -2
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/templates/mem_reader_prompts.py +65 -23
- memoryos-0.2.1/src/memos/templates/mem_scheduler_prompts.py +114 -0
- memoryos-0.2.1/src/memos/templates/tree_reorganize_prompts.py +223 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/vec_dbs/base.py +12 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/vec_dbs/qdrant.py +46 -20
- memoryos-0.2.0/pyproject.toml +0 -112
- memoryos-0.2.0/src/memos/configs/graph_db.py +0 -45
- memoryos-0.2.0/src/memos/configs/mem_scheduler.py +0 -78
- memoryos-0.2.0/src/memos/llms/openai.py +0 -35
- memoryos-0.2.0/src/memos/mem_cube/utils.py +0 -24
- memoryos-0.2.0/src/memos/mem_os/product.py +0 -89
- memoryos-0.2.0/src/memos/mem_scheduler/base_scheduler.py +0 -164
- memoryos-0.2.0/src/memos/mem_scheduler/general_scheduler.py +0 -305
- memoryos-0.2.0/src/memos/mem_scheduler/modules/monitor.py +0 -82
- memoryos-0.2.0/src/memos/mem_scheduler/modules/retriever.py +0 -41
- memoryos-0.2.0/src/memos/mem_scheduler/modules/schemas.py +0 -146
- memoryos-0.2.0/src/memos/mem_scheduler/utils.py +0 -26
- memoryos-0.2.0/src/memos/memories/activation/item.py +0 -25
- memoryos-0.2.0/src/memos/templates/mem_scheduler_prompts.py +0 -65
- memoryos-0.2.0/src/memos/templates/tree_reorganize_prompts.py +0 -168
- {memoryos-0.2.0 → memoryos-0.2.1}/LICENSE +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/api/start_api.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/chunkers/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/chunkers/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/chunkers/factory.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/chunker.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/internet_retriever.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/mem_chat.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/mem_os.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/mem_reader.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/parser.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/utils.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/configs/vec_db.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/deprecation.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/embedders/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/embedders/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/embedders/ollama.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/exceptions.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/graph_dbs/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/graph_dbs/item.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/hello_world.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/llms/utils.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/log.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_chat/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_chat/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_chat/factory.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_chat/simple.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_cube/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_cube/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_os/client.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_reader/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_reader/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_reader/factory.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_reader/memory.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/modules/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_scheduler/scheduler_factory.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/mem_user/user_manager.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/activation/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/activation/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/parametric/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/parametric/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/parametric/item.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/parametric/lora.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/item.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/naive.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/internet_retriever.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/internet_retriever_factory.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/reasoner.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/retrieval_mid_structs.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/task_goal_parser.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/utils.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/xinyusearch.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/parsers/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/parsers/base.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/parsers/factory.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/settings.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/templates/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/templates/mos_prompts.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/types.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/vec_dbs/__init__.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/vec_dbs/factory.py +0 -0
- {memoryos-0.2.0 → memoryos-0.2.1}/src/memos/vec_dbs/item.py +0 -0
|
@@ -1,33 +1,59 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: MemoryOS
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Intelligence Begins with Memory
|
|
5
5
|
License: Apache-2.0
|
|
6
|
-
Keywords: memory,llm,language model,memoryOS,agent
|
|
6
|
+
Keywords: memory,llm,language model,memoryOS,agent,kv cache,lora
|
|
7
7
|
Author: MemTensor
|
|
8
|
-
Author-email:
|
|
9
|
-
Requires-Python: >=3.10
|
|
8
|
+
Author-email: MemTensor@memtensor.cn
|
|
9
|
+
Requires-Python: >=3.10
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
10
11
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
|
-
Classifier:
|
|
12
|
+
Classifier: Natural Language :: English
|
|
13
|
+
Classifier: Natural Language :: Chinese (Simplified)
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
12
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
13
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Provides-Extra: all
|
|
23
|
+
Provides-Extra: mem-reader
|
|
24
|
+
Provides-Extra: mem-scheduler
|
|
25
|
+
Provides-Extra: tree-mem
|
|
26
|
+
Requires-Dist: chonkie (>=1.0.7,<2.0.0) ; extra == "all"
|
|
27
|
+
Requires-Dist: chonkie (>=1.0.7,<2.0.0) ; extra == "mem-reader"
|
|
18
28
|
Requires-Dist: fastapi[all] (>=0.115.12,<0.116.0)
|
|
19
|
-
Requires-Dist:
|
|
20
|
-
Requires-Dist:
|
|
29
|
+
Requires-Dist: fastmcp (>=2.10.5,<3.0.0)
|
|
30
|
+
Requires-Dist: markitdown[docx,pdf,pptx,xls,xlsx] (>=0.1.1,<0.2.0) ; extra == "all"
|
|
31
|
+
Requires-Dist: markitdown[docx,pdf,pptx,xls,xlsx] (>=0.1.1,<0.2.0) ; extra == "mem-reader"
|
|
32
|
+
Requires-Dist: neo4j (>=5.28.1,<6.0.0) ; extra == "all"
|
|
33
|
+
Requires-Dist: neo4j (>=5.28.1,<6.0.0) ; extra == "tree-mem"
|
|
21
34
|
Requires-Dist: ollama (>=0.4.8,<0.5.0)
|
|
22
35
|
Requires-Dist: openai (>=1.77.0,<2.0.0)
|
|
23
|
-
Requires-Dist:
|
|
24
|
-
Requires-Dist:
|
|
25
|
-
Requires-Dist:
|
|
26
|
-
Requires-Dist:
|
|
36
|
+
Requires-Dist: pika (>=1.3.2,<2.0.0) ; extra == "all"
|
|
37
|
+
Requires-Dist: pika (>=1.3.2,<2.0.0) ; extra == "mem-scheduler"
|
|
38
|
+
Requires-Dist: qdrant-client (>=1.14.2,<2.0.0) ; extra == "all"
|
|
39
|
+
Requires-Dist: redis (>=6.2.0,<7.0.0) ; extra == "all"
|
|
40
|
+
Requires-Dist: redis (>=6.2.0,<7.0.0) ; extra == "mem-scheduler"
|
|
41
|
+
Requires-Dist: schedule (>=1.2.2,<2.0.0) ; extra == "all"
|
|
42
|
+
Requires-Dist: schedule (>=1.2.2,<2.0.0) ; extra == "tree-mem"
|
|
43
|
+
Requires-Dist: scikit-learn (>=1.7.0,<2.0.0)
|
|
44
|
+
Requires-Dist: sentence-transformers (>=4.1.0,<5.0.0) ; extra == "all"
|
|
27
45
|
Requires-Dist: sqlalchemy (>=2.0.41,<3.0.0)
|
|
28
46
|
Requires-Dist: tenacity (>=9.1.2,<10.0.0)
|
|
47
|
+
Requires-Dist: torch (>=2.7.1,<3.0.0) ; extra == "all"
|
|
29
48
|
Requires-Dist: transformers (>=4.51.3,<5.0.0)
|
|
49
|
+
Requires-Dist: volcengine-python-sdk (>=4.0.4,<5.0.0) ; extra == "all"
|
|
50
|
+
Project-URL: Documentation, https://memos-docs.openmem.net/home/overview/
|
|
51
|
+
Project-URL: Homepage, https://memos.openmem.net/
|
|
30
52
|
Project-URL: Repository, https://github.com/MemTensor/MemOS
|
|
53
|
+
Project-URL: changelog, https://github.com/MemTensor/MemOS/releases
|
|
54
|
+
Project-URL: download, https://pypi.org/project/MemoryOS/#files
|
|
55
|
+
Project-URL: issues, https://github.com/MemTensor/MemOS/issues
|
|
56
|
+
Project-URL: releasenotes, https://github.com/MemTensor/MemOS/releases
|
|
31
57
|
Description-Content-Type: text/markdown
|
|
32
58
|
|
|
33
59
|
<div align="center">
|
|
@@ -49,6 +75,9 @@ Description-Content-Type: text/markdown
|
|
|
49
75
|
<a href="https://pypi.org/project/MemoryOS">
|
|
50
76
|
<img src="https://img.shields.io/pypi/pyversions/MemoryOS.svg" alt="Supported Python versions">
|
|
51
77
|
</a>
|
|
78
|
+
<a href="https://pypi.org/project/MemoryOS">
|
|
79
|
+
<img src="https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey" alt="Supported Platforms">
|
|
80
|
+
</a>
|
|
52
81
|
<a href="https://memos-docs.openmem.net/home/overview/">
|
|
53
82
|
<img src="https://img.shields.io/badge/Documentation-view-blue.svg" alt="Documentation">
|
|
54
83
|
</a>
|
|
@@ -170,34 +199,37 @@ For more detailed examples, please check out the [`examples`](./examples) direct
|
|
|
170
199
|
|
|
171
200
|
## 📦 Installation
|
|
172
201
|
|
|
173
|
-
> [!WARNING]
|
|
174
|
-
> MemOS is compatible with Linux, Windows, and macOS.
|
|
175
|
-
>
|
|
176
|
-
> However, if you're using macOS, please note that there may be dependency issues that are difficult to resolve.
|
|
177
|
-
>
|
|
178
|
-
> For example, compatibility with macOS 13 Ventura is currently challenging.
|
|
179
|
-
|
|
180
202
|
### Install via pip
|
|
181
203
|
|
|
182
204
|
```bash
|
|
183
205
|
pip install MemoryOS
|
|
184
206
|
```
|
|
185
207
|
|
|
186
|
-
###
|
|
208
|
+
### Optional Dependencies
|
|
187
209
|
|
|
188
|
-
|
|
210
|
+
MemOS provides several optional dependency groups for different features. You can install them based on your needs.
|
|
211
|
+
|
|
212
|
+
| Feature | Package Name |
|
|
213
|
+
| --------------------- | ------------------------- |
|
|
214
|
+
| Tree Memory | `MemoryOS[tree-mem]` |
|
|
215
|
+
| Memory Reader | `MemoryOS[mem-reader]` |
|
|
216
|
+
| Memory Scheduler | `MemoryOS[mem-scheduler]` |
|
|
217
|
+
|
|
218
|
+
Example installation commands:
|
|
189
219
|
|
|
190
220
|
```bash
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
221
|
+
pip install MemoryOS[tree-mem]
|
|
222
|
+
pip install MemoryOS[tree-mem,mem-reader]
|
|
223
|
+
pip install MemoryOS[mem-scheduler]
|
|
224
|
+
pip install MemoryOS[tree-mem,mem-reader,mem-scheduler]
|
|
194
225
|
```
|
|
195
226
|
|
|
196
|
-
###
|
|
227
|
+
### External Dependencies
|
|
197
228
|
|
|
198
229
|
#### Ollama Support
|
|
199
230
|
|
|
200
231
|
To use MemOS with [Ollama](https://ollama.com/), first install the Ollama CLI:
|
|
232
|
+
|
|
201
233
|
```bash
|
|
202
234
|
curl -fsSL https://ollama.com/install.sh | sh
|
|
203
235
|
```
|
|
@@ -206,6 +238,14 @@ curl -fsSL https://ollama.com/install.sh | sh
|
|
|
206
238
|
|
|
207
239
|
To use functionalities based on the `transformers` library, ensure you have [PyTorch](https://pytorch.org/get-started/locally/) installed (CUDA version recommended for GPU acceleration).
|
|
208
240
|
|
|
241
|
+
#### Download Examples
|
|
242
|
+
|
|
243
|
+
To download example code, data and configurations, run the following command:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
memos download_examples
|
|
247
|
+
```
|
|
248
|
+
|
|
209
249
|
## 💬 Community & Support
|
|
210
250
|
|
|
211
251
|
Join our community to ask questions, share your projects, and connect with other developers.
|
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
<a href="https://pypi.org/project/MemoryOS">
|
|
18
18
|
<img src="https://img.shields.io/pypi/pyversions/MemoryOS.svg" alt="Supported Python versions">
|
|
19
19
|
</a>
|
|
20
|
+
<a href="https://pypi.org/project/MemoryOS">
|
|
21
|
+
<img src="https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey" alt="Supported Platforms">
|
|
22
|
+
</a>
|
|
20
23
|
<a href="https://memos-docs.openmem.net/home/overview/">
|
|
21
24
|
<img src="https://img.shields.io/badge/Documentation-view-blue.svg" alt="Documentation">
|
|
22
25
|
</a>
|
|
@@ -138,34 +141,37 @@ For more detailed examples, please check out the [`examples`](./examples) direct
|
|
|
138
141
|
|
|
139
142
|
## 📦 Installation
|
|
140
143
|
|
|
141
|
-
> [!WARNING]
|
|
142
|
-
> MemOS is compatible with Linux, Windows, and macOS.
|
|
143
|
-
>
|
|
144
|
-
> However, if you're using macOS, please note that there may be dependency issues that are difficult to resolve.
|
|
145
|
-
>
|
|
146
|
-
> For example, compatibility with macOS 13 Ventura is currently challenging.
|
|
147
|
-
|
|
148
144
|
### Install via pip
|
|
149
145
|
|
|
150
146
|
```bash
|
|
151
147
|
pip install MemoryOS
|
|
152
148
|
```
|
|
153
149
|
|
|
154
|
-
###
|
|
150
|
+
### Optional Dependencies
|
|
155
151
|
|
|
156
|
-
|
|
152
|
+
MemOS provides several optional dependency groups for different features. You can install them based on your needs.
|
|
153
|
+
|
|
154
|
+
| Feature | Package Name |
|
|
155
|
+
| --------------------- | ------------------------- |
|
|
156
|
+
| Tree Memory | `MemoryOS[tree-mem]` |
|
|
157
|
+
| Memory Reader | `MemoryOS[mem-reader]` |
|
|
158
|
+
| Memory Scheduler | `MemoryOS[mem-scheduler]` |
|
|
159
|
+
|
|
160
|
+
Example installation commands:
|
|
157
161
|
|
|
158
162
|
```bash
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
163
|
+
pip install MemoryOS[tree-mem]
|
|
164
|
+
pip install MemoryOS[tree-mem,mem-reader]
|
|
165
|
+
pip install MemoryOS[mem-scheduler]
|
|
166
|
+
pip install MemoryOS[tree-mem,mem-reader,mem-scheduler]
|
|
162
167
|
```
|
|
163
168
|
|
|
164
|
-
###
|
|
169
|
+
### External Dependencies
|
|
165
170
|
|
|
166
171
|
#### Ollama Support
|
|
167
172
|
|
|
168
173
|
To use MemOS with [Ollama](https://ollama.com/), first install the Ollama CLI:
|
|
174
|
+
|
|
169
175
|
```bash
|
|
170
176
|
curl -fsSL https://ollama.com/install.sh | sh
|
|
171
177
|
```
|
|
@@ -174,6 +180,14 @@ curl -fsSL https://ollama.com/install.sh | sh
|
|
|
174
180
|
|
|
175
181
|
To use functionalities based on the `transformers` library, ensure you have [PyTorch](https://pytorch.org/get-started/locally/) installed (CUDA version recommended for GPU acceleration).
|
|
176
182
|
|
|
183
|
+
#### Download Examples
|
|
184
|
+
|
|
185
|
+
To download example code, data and configurations, run the following command:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
memos download_examples
|
|
189
|
+
```
|
|
190
|
+
|
|
177
191
|
## 💬 Community & Support
|
|
178
192
|
|
|
179
193
|
Join our community to ask questions, share your projects, and connect with other developers.
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
##############################################################################
|
|
3
|
+
# Here define the project metadata and dependencies for the MemoryOS package.
|
|
4
|
+
##############################################################################
|
|
5
|
+
|
|
6
|
+
name = "MemoryOS"
|
|
7
|
+
version = "0.2.1"
|
|
8
|
+
description = "Intelligence Begins with Memory"
|
|
9
|
+
license = {text = "Apache-2.0"}
|
|
10
|
+
readme = "README.md"
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "MemTensor", email = "MemTensor@memtensor.cn"}
|
|
14
|
+
]
|
|
15
|
+
keywords = [
|
|
16
|
+
"memory",
|
|
17
|
+
"llm",
|
|
18
|
+
"language model",
|
|
19
|
+
"memoryOS",
|
|
20
|
+
"agent",
|
|
21
|
+
"kv cache",
|
|
22
|
+
"lora",
|
|
23
|
+
]
|
|
24
|
+
classifiers = [
|
|
25
|
+
"Intended Audience :: Developers",
|
|
26
|
+
"License :: OSI Approved :: Apache Software License",
|
|
27
|
+
"Natural Language :: English",
|
|
28
|
+
"Natural Language :: Chinese (Simplified)",
|
|
29
|
+
"Operating System :: OS Independent",
|
|
30
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
31
|
+
"Programming Language :: Python :: 3.10",
|
|
32
|
+
"Programming Language :: Python :: 3.11",
|
|
33
|
+
"Programming Language :: Python :: 3.12",
|
|
34
|
+
"Programming Language :: Python :: 3.13",
|
|
35
|
+
"Topic :: Software Development :: Libraries",
|
|
36
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
37
|
+
]
|
|
38
|
+
dependencies = [
|
|
39
|
+
"openai (>=1.77.0,<2.0.0)",
|
|
40
|
+
"ollama (>=0.4.8,<0.5.0)",
|
|
41
|
+
"transformers (>=4.51.3,<5.0.0)",
|
|
42
|
+
"tenacity (>=9.1.2,<10.0.0)", # Error handling and retrying library
|
|
43
|
+
"fastapi[all] (>=0.115.12,<0.116.0)", # Web framework for building APIs
|
|
44
|
+
"sqlalchemy (>=2.0.41,<3.0.0)", # SQL toolkit
|
|
45
|
+
"scikit-learn (>=1.7.0,<2.0.0)", # Machine learning
|
|
46
|
+
"fastmcp (>=2.10.5,<3.0.0)",
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
[project.urls]
|
|
50
|
+
homepage = "https://memos.openmem.net/"
|
|
51
|
+
repository = "https://github.com/MemTensor/MemOS"
|
|
52
|
+
download = "https://pypi.org/project/MemoryOS/#files"
|
|
53
|
+
changelog = "https://github.com/MemTensor/MemOS/releases"
|
|
54
|
+
releasenotes = "https://github.com/MemTensor/MemOS/releases"
|
|
55
|
+
documentation = "https://memos-docs.openmem.net/home/overview/"
|
|
56
|
+
issues = "https://github.com/MemTensor/MemOS/issues"
|
|
57
|
+
|
|
58
|
+
[project.scripts]
|
|
59
|
+
memos = "memos.cli:main"
|
|
60
|
+
|
|
61
|
+
[project.optional-dependencies]
|
|
62
|
+
# These are optional dependencies for various features of MemoryOS.
|
|
63
|
+
# Developers install: `poetry install --extras <feature>`. e.g., `poetry install --extras general-mem`
|
|
64
|
+
# Users install: `pip install MemoryOS[<feature>]`. e.g., `pip install MemoryOS[general-mem]`
|
|
65
|
+
|
|
66
|
+
# TreeTextualMemory
|
|
67
|
+
tree-mem = [
|
|
68
|
+
"neo4j (>=5.28.1,<6.0.0)", # Graph database
|
|
69
|
+
"schedule (>=1.2.2,<2.0.0)", # Task scheduling
|
|
70
|
+
]
|
|
71
|
+
|
|
72
|
+
# MemScheduler
|
|
73
|
+
mem-scheduler = [
|
|
74
|
+
"redis (>=6.2.0,<7.0.0)", # Key-value store
|
|
75
|
+
"pika (>=1.3.2,<2.0.0)", # RabbitMQ client
|
|
76
|
+
]
|
|
77
|
+
|
|
78
|
+
# MemReader
|
|
79
|
+
mem-reader = [
|
|
80
|
+
"chonkie (>=1.0.7,<2.0.0)", # Sentence chunking library
|
|
81
|
+
"markitdown[docx,pdf,pptx,xls,xlsx] (>=0.1.1,<0.2.0)", # Markdown parser for various file formats
|
|
82
|
+
]
|
|
83
|
+
|
|
84
|
+
# All optional dependencies
|
|
85
|
+
# Allow users to install with `pip install MemoryOS[all]`
|
|
86
|
+
all = [
|
|
87
|
+
# Exist in the above optional groups
|
|
88
|
+
"neo4j (>=5.28.1,<6.0.0)",
|
|
89
|
+
"schedule (>=1.2.2,<2.0.0)",
|
|
90
|
+
"redis (>=6.2.0,<7.0.0)",
|
|
91
|
+
"pika (>=1.3.2,<2.0.0)",
|
|
92
|
+
"chonkie (>=1.0.7,<2.0.0)",
|
|
93
|
+
"markitdown[docx,pdf,pptx,xls,xlsx] (>=0.1.1,<0.2.0)",
|
|
94
|
+
|
|
95
|
+
# NOT exist in the above optional groups
|
|
96
|
+
# Because they are either huge-size dependencies or infrequently used dependencies.
|
|
97
|
+
# We kindof don't want users to install them.
|
|
98
|
+
"torch (>=2.7.1,<3.0.0)",
|
|
99
|
+
"sentence-transformers (>=4.1.0,<5.0.0)",
|
|
100
|
+
"qdrant-client (>=1.14.2,<2.0.0)",
|
|
101
|
+
"volcengine-python-sdk (>=4.0.4,<5.0.0)",
|
|
102
|
+
|
|
103
|
+
# Uncategorized dependencies
|
|
104
|
+
]
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
[build-system]
|
|
108
|
+
##############################################################################
|
|
109
|
+
# Python package build system requirements.
|
|
110
|
+
##############################################################################
|
|
111
|
+
|
|
112
|
+
requires = ["poetry-core"]
|
|
113
|
+
build-backend = "poetry.core.masonry.api"
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
[tool.poetry]
|
|
117
|
+
##############################################################################
|
|
118
|
+
# Here mainly define dependencies for development, testing, and evaluation.
|
|
119
|
+
# These dependencies will NOT be included in the MemoryOS package itself.
|
|
120
|
+
# They will be installed when you run `poetry install --with dev,test,eval`.
|
|
121
|
+
#
|
|
122
|
+
# More about version specifiers (e.g. "^0.1.0" or ">=0.1.0,<0.2.0"):
|
|
123
|
+
# https://python-poetry.org/docs/dependency-specification#caret-requirements
|
|
124
|
+
##############################################################################
|
|
125
|
+
|
|
126
|
+
packages = [{include = "memos", from = "src"}]
|
|
127
|
+
requires-poetry = ">=2.0"
|
|
128
|
+
dependencies = { "python" = ">=3.10,<4.0" }
|
|
129
|
+
|
|
130
|
+
[tool.poetry.group.dev]
|
|
131
|
+
optional = true
|
|
132
|
+
|
|
133
|
+
[tool.poetry.group.dev.dependencies]
|
|
134
|
+
pre-commit = "^4.2.0"
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
[tool.poetry.group.test]
|
|
138
|
+
optional = true
|
|
139
|
+
|
|
140
|
+
[tool.poetry.group.test.dependencies]
|
|
141
|
+
pytest = "^8.3.5"
|
|
142
|
+
pytest-asyncio = "^0.23.5"
|
|
143
|
+
ruff = "^0.11.8"
|
|
144
|
+
|
|
145
|
+
[tool.poetry.group.eval]
|
|
146
|
+
optional = true
|
|
147
|
+
|
|
148
|
+
[tool.poetry.group.eval.dependencies]
|
|
149
|
+
dotenv = "^0.9.9"
|
|
150
|
+
mem0ai = "^0.1.109"
|
|
151
|
+
zep-cloud = "^2.15.0"
|
|
152
|
+
rouge-score = "^0.1.2"
|
|
153
|
+
nltk = "^3.9.1"
|
|
154
|
+
bert-score = "^0.3.13"
|
|
155
|
+
scipy = "^1.10.1"
|
|
156
|
+
python-dotenv = "^1.1.1"
|
|
157
|
+
langgraph = "^0.5.1"
|
|
158
|
+
langmem = "^0.0.27"
|
|
159
|
+
|
|
160
|
+
[[tool.poetry.source]]
|
|
161
|
+
name = "mirrors"
|
|
162
|
+
url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/"
|
|
163
|
+
priority = "supplemental"
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
[tool.pytest.ini_options]
|
|
167
|
+
##############################################################################
|
|
168
|
+
# PyTest settings for running tests/
|
|
169
|
+
##############################################################################
|
|
170
|
+
|
|
171
|
+
asyncio_mode = "auto"
|
|
172
|
+
pythonpath = "src"
|
|
173
|
+
filterwarnings = [
|
|
174
|
+
"ignore::DeprecationWarning:qdrant_client.*",
|
|
175
|
+
]
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
[tool.ruff]
|
|
179
|
+
##############################################################################
|
|
180
|
+
# Ruff is a fast Python linter and formatter.
|
|
181
|
+
##############################################################################
|
|
182
|
+
|
|
183
|
+
fix = true
|
|
184
|
+
line-length = 100
|
|
185
|
+
target-version = "py310"
|
|
186
|
+
lint.extend-select = [
|
|
187
|
+
"B", # flake8-bugbear
|
|
188
|
+
"C4", # flake8-comprehensions
|
|
189
|
+
"ERA", # flake8-eradicate/eradicate
|
|
190
|
+
"I", # isort
|
|
191
|
+
"N", # pep8-naming
|
|
192
|
+
"PIE", # flake8-pie
|
|
193
|
+
"PGH", # pygrep
|
|
194
|
+
"RUF", # ruff checks
|
|
195
|
+
"SIM", # flake8-simplify
|
|
196
|
+
"TC", # flake8-type-checking
|
|
197
|
+
"TID", # flake8-tidy-imports
|
|
198
|
+
"UP", # pyupgrade
|
|
199
|
+
]
|
|
200
|
+
lint.ignore = [
|
|
201
|
+
"RUF001", # ambiguous-unicode-character-string
|
|
202
|
+
"PGH003", # blanket-type-ignore
|
|
203
|
+
]
|
|
204
|
+
lint.isort.lines-between-types = 1
|
|
205
|
+
lint.isort.lines-after-imports = 2
|