MemoryOS 0.1.13__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.1.13 → memoryos-0.2.1}/PKG-INFO +78 -49
- {memoryos-0.1.13 → memoryos-0.2.1}/README.md +39 -37
- memoryos-0.2.1/pyproject.toml +205 -0
- {memoryos-0.1.13 → 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.1.13 → memoryos-0.2.1}/src/memos/chunkers/sentence_chunker.py +8 -2
- memoryos-0.2.1/src/memos/cli.py +113 -0
- {memoryos-0.1.13 → 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.1.13 → memoryos-0.2.1}/src/memos/configs/llm.py +48 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/mem_cube.py +1 -1
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/mem_reader.py +4 -0
- memoryos-0.2.1/src/memos/configs/mem_scheduler.py +164 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/memory.py +10 -4
- memoryos-0.2.1/src/memos/dependency.py +52 -0
- memoryos-0.2.1/src/memos/embedders/ark.py +92 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/embedders/factory.py +4 -0
- {memoryos-0.1.13 → 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.1.13 → memoryos-0.2.1}/src/memos/graph_dbs/base.py +2 -2
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/graph_dbs/factory.py +2 -0
- memoryos-0.2.1/src/memos/graph_dbs/item.py +46 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/graph_dbs/neo4j.py +377 -101
- memoryos-0.2.1/src/memos/graph_dbs/neo4j_community.py +300 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/llms/base.py +9 -0
- memoryos-0.2.1/src/memos/llms/deepseek.py +54 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/llms/factory.py +10 -1
- {memoryos-0.1.13 → 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.1.13 → 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.1.13 → 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.1.13 → memoryos-0.2.1}/src/memos/mem_os/core.py +131 -41
- {memoryos-0.1.13 → 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.1.13 → memoryos-0.2.1}/src/memos/mem_reader/simple_struct.py +13 -8
- 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.1.13 → memoryos-0.2.1}/src/memos/mem_scheduler/modules/base.py +9 -0
- {memoryos-0.1.13 → 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.1.13 → 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.1.13 → 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.1.13 → memoryos-0.2.1}/src/memos/memories/factory.py +2 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/general.py +7 -5
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/item.py +3 -1
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree.py +14 -6
- memoryos-0.2.1/src/memos/memories/textual/tree_text_memory/organize/conflict.py +198 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/manager.py +72 -23
- memoryos-0.2.1/src/memos/memories/textual/tree_text_memory/organize/redundancy.py +193 -0
- memoryos-0.2.1/src/memos/memories/textual/tree_text_memory/organize/relation_reason_detector.py +233 -0
- memoryos-0.2.1/src/memos/memories/textual/tree_text_memory/organize/reorganizer.py +606 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/recall.py +0 -1
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/reranker.py +2 -2
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/searcher.py +6 -5
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/parsers/markitdown.py +8 -2
- memoryos-0.2.1/src/memos/templates/mem_reader_prompts.py +167 -0
- 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.1.13 → memoryos-0.2.1}/src/memos/vec_dbs/base.py +12 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/vec_dbs/qdrant.py +46 -20
- memoryos-0.1.13/pyproject.toml +0 -111
- memoryos-0.1.13/src/memos/configs/graph_db.py +0 -45
- memoryos-0.1.13/src/memos/configs/mem_scheduler.py +0 -78
- memoryos-0.1.13/src/memos/llms/openai.py +0 -34
- memoryos-0.1.13/src/memos/mem_cube/utils.py +0 -24
- memoryos-0.1.13/src/memos/mem_os/product.py +0 -89
- memoryos-0.1.13/src/memos/mem_scheduler/base_scheduler.py +0 -164
- memoryos-0.1.13/src/memos/mem_scheduler/general_scheduler.py +0 -305
- memoryos-0.1.13/src/memos/mem_scheduler/modules/monitor.py +0 -82
- memoryos-0.1.13/src/memos/mem_scheduler/modules/retriever.py +0 -41
- memoryos-0.1.13/src/memos/mem_scheduler/modules/schemas.py +0 -146
- memoryos-0.1.13/src/memos/mem_scheduler/utils.py +0 -26
- memoryos-0.1.13/src/memos/memories/activation/item.py +0 -25
- memoryos-0.1.13/src/memos/templates/mem_reader_prompts.py +0 -98
- memoryos-0.1.13/src/memos/templates/mem_scheduler_prompts.py +0 -65
- {memoryos-0.1.13 → memoryos-0.2.1}/LICENSE +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/api/start_api.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/chunkers/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/chunkers/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/chunkers/factory.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/chunker.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/internet_retriever.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/mem_chat.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/mem_os.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/parser.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/utils.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/configs/vec_db.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/deprecation.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/embedders/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/embedders/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/embedders/ollama.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/exceptions.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/graph_dbs/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/hello_world.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/llms/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/llms/utils.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/log.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_chat/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_chat/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_chat/factory.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_chat/simple.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_cube/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_cube/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_os/client.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_reader/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_reader/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_reader/factory.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_reader/memory.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_scheduler/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_scheduler/modules/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_scheduler/scheduler_factory.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/mem_user/user_manager.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/activation/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/activation/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/parametric/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/parametric/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/parametric/item.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/parametric/lora.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/naive.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/organize/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/internet_retriever.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/internet_retriever_factory.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/reasoner.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/retrieval_mid_structs.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/task_goal_parser.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/utils.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/memories/textual/tree_text_memory/retrieve/xinyusearch.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/parsers/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/parsers/base.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/parsers/factory.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/settings.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/templates/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/templates/mos_prompts.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/types.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/vec_dbs/__init__.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/vec_dbs/factory.py +0 -0
- {memoryos-0.1.13 → memoryos-0.2.1}/src/memos/vec_dbs/item.py +0 -0
|
@@ -1,43 +1,68 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: MemoryOS
|
|
3
|
-
Version: 0.1
|
|
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:
|
|
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"
|
|
26
45
|
Requires-Dist: sqlalchemy (>=2.0.41,<3.0.0)
|
|
27
46
|
Requires-Dist: tenacity (>=9.1.2,<10.0.0)
|
|
47
|
+
Requires-Dist: torch (>=2.7.1,<3.0.0) ; extra == "all"
|
|
28
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/
|
|
29
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
|
|
30
57
|
Description-Content-Type: text/markdown
|
|
31
58
|
|
|
32
59
|
<div align="center">
|
|
33
60
|
<a href="https://memos.openmem.net/">
|
|
34
|
-
<img src="
|
|
61
|
+
<img src="https://statics.memtensor.com.cn/memos/memos-banner.gif" alt="MemOS Banner">
|
|
35
62
|
</a>
|
|
36
63
|
|
|
37
|
-
|
|
38
|
-
|
|
39
64
|
<h1 align="center">
|
|
40
|
-
<img src="
|
|
65
|
+
<img src="https://statics.memtensor.com.cn/logo/memos_color_m.png" alt="MemOS Logo" width="50"/> MemOS 1.0: 星河 (Stellar) <img src="https://img.shields.io/badge/status-Preview-blue" alt="Preview Badge"/>
|
|
41
66
|
</h1>
|
|
42
67
|
|
|
43
68
|
<p>
|
|
@@ -50,7 +75,10 @@ Description-Content-Type: text/markdown
|
|
|
50
75
|
<a href="https://pypi.org/project/MemoryOS">
|
|
51
76
|
<img src="https://img.shields.io/pypi/pyversions/MemoryOS.svg" alt="Supported Python versions">
|
|
52
77
|
</a>
|
|
53
|
-
<a href="https://
|
|
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>
|
|
81
|
+
<a href="https://memos-docs.openmem.net/home/overview/">
|
|
54
82
|
<img src="https://img.shields.io/badge/Documentation-view-blue.svg" alt="Documentation">
|
|
55
83
|
</a>
|
|
56
84
|
<a href="https://arxiv.org/abs/2507.03724">
|
|
@@ -62,7 +90,7 @@ Description-Content-Type: text/markdown
|
|
|
62
90
|
<a href="https://discord.gg/Txbx3gebZR">
|
|
63
91
|
<img src="https://img.shields.io/badge/Discord-join%20chat-7289DA.svg?logo=discord" alt="Discord">
|
|
64
92
|
</a>
|
|
65
|
-
<a href="
|
|
93
|
+
<a href="https://statics.memtensor.com.cn/memos/qr-code.png">
|
|
66
94
|
<img src="https://img.shields.io/badge/WeChat-Group-07C160.svg?logo=wechat" alt="WeChat Group">
|
|
67
95
|
</a>
|
|
68
96
|
<a href="https://opensource.org/license/apache-2-0/">
|
|
@@ -73,17 +101,14 @@ Description-Content-Type: text/markdown
|
|
|
73
101
|
|
|
74
102
|
---
|
|
75
103
|
|
|
76
|
-
|
|
77
|
-
<img src="docs/assets/sota_score.jpg" alt="SOTA SCORE">
|
|
78
|
-
</a>
|
|
79
|
-
|
|
104
|
+
<img src="https://statics.memtensor.com.cn/memos/sota_score.jpg" alt="SOTA SCORE">
|
|
80
105
|
|
|
81
106
|
**MemOS** is an operating system for Large Language Models (LLMs) that enhances them with long-term memory capabilities. It allows LLMs to store, retrieve, and manage information, enabling more context-aware, consistent, and personalized interactions.
|
|
82
107
|
|
|
83
|
-
- **Website**:
|
|
84
|
-
- **Documentation**:
|
|
85
|
-
- **API Reference**:
|
|
86
|
-
- **Source Code**:
|
|
108
|
+
- **Website**: https://memos.openmem.net/
|
|
109
|
+
- **Documentation**: https://memos-docs.openmem.net/home/overview/
|
|
110
|
+
- **API Reference**: https://memos-docs.openmem.net/docs/api/info/
|
|
111
|
+
- **Source Code**: https://github.com/MemTensor/MemOS
|
|
87
112
|
|
|
88
113
|
## 📈 Performance Benchmark
|
|
89
114
|
|
|
@@ -97,19 +122,12 @@ MemOS demonstrates significant improvements over baseline memory solutions in mu
|
|
|
97
122
|
|
|
98
123
|
> 💡 **Temporal reasoning accuracy improved by 159% compared to the OpenAI baseline.**
|
|
99
124
|
|
|
100
|
-
|
|
101
|
-
|
|
102
125
|
### Details of End-to-End Evaluation on LOCOMO
|
|
103
126
|
|
|
104
127
|
> [!NOTE]
|
|
105
128
|
> Comparison of LLM Judge Scores across five major tasks in the LOCOMO benchmark. Each bar shows the mean evaluation score judged by LLMs for a given method-task pair, with standard deviation as error bars. MemOS-0630 consistently outperforms baseline methods (LangMem, Zep, OpenAI, Mem0) across all task types, especially in multi-hop and temporal reasoning scenarios.
|
|
106
129
|
|
|
107
|
-
<
|
|
108
|
-
<img src="docs/assets/score_all_end2end.jpg" alt="END2END SCORE">
|
|
109
|
-
</a>
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
130
|
+
<img src="https://statics.memtensor.com.cn/memos/score_all_end2end.jpg" alt="END2END SCORE">
|
|
113
131
|
|
|
114
132
|
## ✨ Key Features
|
|
115
133
|
|
|
@@ -181,34 +199,37 @@ For more detailed examples, please check out the [`examples`](./examples) direct
|
|
|
181
199
|
|
|
182
200
|
## 📦 Installation
|
|
183
201
|
|
|
184
|
-
> [!WARNING]
|
|
185
|
-
> MemOS is compatible with Linux, Windows, and macOS.
|
|
186
|
-
>
|
|
187
|
-
> However, if you're using macOS, please note that there may be dependency issues that are difficult to resolve.
|
|
188
|
-
>
|
|
189
|
-
> For example, compatibility with macOS 13 Ventura is currently challenging.
|
|
190
|
-
|
|
191
202
|
### Install via pip
|
|
192
203
|
|
|
193
204
|
```bash
|
|
194
205
|
pip install MemoryOS
|
|
195
206
|
```
|
|
196
207
|
|
|
197
|
-
###
|
|
208
|
+
### Optional Dependencies
|
|
209
|
+
|
|
210
|
+
MemOS provides several optional dependency groups for different features. You can install them based on your needs.
|
|
198
211
|
|
|
199
|
-
|
|
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:
|
|
200
219
|
|
|
201
220
|
```bash
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
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]
|
|
205
225
|
```
|
|
206
226
|
|
|
207
|
-
###
|
|
227
|
+
### External Dependencies
|
|
208
228
|
|
|
209
229
|
#### Ollama Support
|
|
210
230
|
|
|
211
231
|
To use MemOS with [Ollama](https://ollama.com/), first install the Ollama CLI:
|
|
232
|
+
|
|
212
233
|
```bash
|
|
213
234
|
curl -fsSL https://ollama.com/install.sh | sh
|
|
214
235
|
```
|
|
@@ -217,6 +238,14 @@ curl -fsSL https://ollama.com/install.sh | sh
|
|
|
217
238
|
|
|
218
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).
|
|
219
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
|
+
|
|
220
249
|
## 💬 Community & Support
|
|
221
250
|
|
|
222
251
|
Join our community to ask questions, share your projects, and connect with other developers.
|
|
@@ -227,7 +256,7 @@ Join our community to ask questions, share your projects, and connect with other
|
|
|
227
256
|
- **Discord**: Join our <a href="https://discord.gg/Txbx3gebZR" target="_blank">Discord Server</a>.
|
|
228
257
|
- **WeChat**: Scan the QR code to join our WeChat group.
|
|
229
258
|
|
|
230
|
-
<img src="
|
|
259
|
+
<img src="https://statics.memtensor.com.cn/memos/qr-code.png" alt="QR Code" width="600">
|
|
231
260
|
|
|
232
261
|
## 📜 Citation
|
|
233
262
|
|
|
@@ -270,7 +299,7 @@ url = {https://global-sci.com/article/91443/memory3-language-modeling-with-expli
|
|
|
270
299
|
|
|
271
300
|
## 🙌 Contributing
|
|
272
301
|
|
|
273
|
-
We welcome contributions from the community! Please read our [contribution guidelines](https://memos.openmem.net/
|
|
302
|
+
We welcome contributions from the community! Please read our [contribution guidelines](https://memos-docs.openmem.net/contribution/overview) to get started.
|
|
274
303
|
|
|
275
304
|
## 📄 License
|
|
276
305
|
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<a href="https://memos.openmem.net/">
|
|
3
|
-
<img src="
|
|
3
|
+
<img src="https://statics.memtensor.com.cn/memos/memos-banner.gif" alt="MemOS Banner">
|
|
4
4
|
</a>
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
6
|
<h1 align="center">
|
|
9
|
-
<img src="
|
|
7
|
+
<img src="https://statics.memtensor.com.cn/logo/memos_color_m.png" alt="MemOS Logo" width="50"/> MemOS 1.0: 星河 (Stellar) <img src="https://img.shields.io/badge/status-Preview-blue" alt="Preview Badge"/>
|
|
10
8
|
</h1>
|
|
11
9
|
|
|
12
10
|
<p>
|
|
@@ -19,7 +17,10 @@
|
|
|
19
17
|
<a href="https://pypi.org/project/MemoryOS">
|
|
20
18
|
<img src="https://img.shields.io/pypi/pyversions/MemoryOS.svg" alt="Supported Python versions">
|
|
21
19
|
</a>
|
|
22
|
-
<a href="https://
|
|
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>
|
|
23
|
+
<a href="https://memos-docs.openmem.net/home/overview/">
|
|
23
24
|
<img src="https://img.shields.io/badge/Documentation-view-blue.svg" alt="Documentation">
|
|
24
25
|
</a>
|
|
25
26
|
<a href="https://arxiv.org/abs/2507.03724">
|
|
@@ -31,7 +32,7 @@
|
|
|
31
32
|
<a href="https://discord.gg/Txbx3gebZR">
|
|
32
33
|
<img src="https://img.shields.io/badge/Discord-join%20chat-7289DA.svg?logo=discord" alt="Discord">
|
|
33
34
|
</a>
|
|
34
|
-
<a href="
|
|
35
|
+
<a href="https://statics.memtensor.com.cn/memos/qr-code.png">
|
|
35
36
|
<img src="https://img.shields.io/badge/WeChat-Group-07C160.svg?logo=wechat" alt="WeChat Group">
|
|
36
37
|
</a>
|
|
37
38
|
<a href="https://opensource.org/license/apache-2-0/">
|
|
@@ -42,17 +43,14 @@
|
|
|
42
43
|
|
|
43
44
|
---
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
<img src="docs/assets/sota_score.jpg" alt="SOTA SCORE">
|
|
47
|
-
</a>
|
|
48
|
-
|
|
46
|
+
<img src="https://statics.memtensor.com.cn/memos/sota_score.jpg" alt="SOTA SCORE">
|
|
49
47
|
|
|
50
48
|
**MemOS** is an operating system for Large Language Models (LLMs) that enhances them with long-term memory capabilities. It allows LLMs to store, retrieve, and manage information, enabling more context-aware, consistent, and personalized interactions.
|
|
51
49
|
|
|
52
|
-
- **Website**:
|
|
53
|
-
- **Documentation**:
|
|
54
|
-
- **API Reference**:
|
|
55
|
-
- **Source Code**:
|
|
50
|
+
- **Website**: https://memos.openmem.net/
|
|
51
|
+
- **Documentation**: https://memos-docs.openmem.net/home/overview/
|
|
52
|
+
- **API Reference**: https://memos-docs.openmem.net/docs/api/info/
|
|
53
|
+
- **Source Code**: https://github.com/MemTensor/MemOS
|
|
56
54
|
|
|
57
55
|
## 📈 Performance Benchmark
|
|
58
56
|
|
|
@@ -66,19 +64,12 @@ MemOS demonstrates significant improvements over baseline memory solutions in mu
|
|
|
66
64
|
|
|
67
65
|
> 💡 **Temporal reasoning accuracy improved by 159% compared to the OpenAI baseline.**
|
|
68
66
|
|
|
69
|
-
|
|
70
|
-
|
|
71
67
|
### Details of End-to-End Evaluation on LOCOMO
|
|
72
68
|
|
|
73
69
|
> [!NOTE]
|
|
74
70
|
> Comparison of LLM Judge Scores across five major tasks in the LOCOMO benchmark. Each bar shows the mean evaluation score judged by LLMs for a given method-task pair, with standard deviation as error bars. MemOS-0630 consistently outperforms baseline methods (LangMem, Zep, OpenAI, Mem0) across all task types, especially in multi-hop and temporal reasoning scenarios.
|
|
75
71
|
|
|
76
|
-
<
|
|
77
|
-
<img src="docs/assets/score_all_end2end.jpg" alt="END2END SCORE">
|
|
78
|
-
</a>
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
72
|
+
<img src="https://statics.memtensor.com.cn/memos/score_all_end2end.jpg" alt="END2END SCORE">
|
|
82
73
|
|
|
83
74
|
## ✨ Key Features
|
|
84
75
|
|
|
@@ -150,34 +141,37 @@ For more detailed examples, please check out the [`examples`](./examples) direct
|
|
|
150
141
|
|
|
151
142
|
## 📦 Installation
|
|
152
143
|
|
|
153
|
-
> [!WARNING]
|
|
154
|
-
> MemOS is compatible with Linux, Windows, and macOS.
|
|
155
|
-
>
|
|
156
|
-
> However, if you're using macOS, please note that there may be dependency issues that are difficult to resolve.
|
|
157
|
-
>
|
|
158
|
-
> For example, compatibility with macOS 13 Ventura is currently challenging.
|
|
159
|
-
|
|
160
144
|
### Install via pip
|
|
161
145
|
|
|
162
146
|
```bash
|
|
163
147
|
pip install MemoryOS
|
|
164
148
|
```
|
|
165
149
|
|
|
166
|
-
###
|
|
150
|
+
### Optional Dependencies
|
|
151
|
+
|
|
152
|
+
MemOS provides several optional dependency groups for different features. You can install them based on your needs.
|
|
167
153
|
|
|
168
|
-
|
|
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:
|
|
169
161
|
|
|
170
162
|
```bash
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
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]
|
|
174
167
|
```
|
|
175
168
|
|
|
176
|
-
###
|
|
169
|
+
### External Dependencies
|
|
177
170
|
|
|
178
171
|
#### Ollama Support
|
|
179
172
|
|
|
180
173
|
To use MemOS with [Ollama](https://ollama.com/), first install the Ollama CLI:
|
|
174
|
+
|
|
181
175
|
```bash
|
|
182
176
|
curl -fsSL https://ollama.com/install.sh | sh
|
|
183
177
|
```
|
|
@@ -186,6 +180,14 @@ curl -fsSL https://ollama.com/install.sh | sh
|
|
|
186
180
|
|
|
187
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).
|
|
188
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
|
+
|
|
189
191
|
## 💬 Community & Support
|
|
190
192
|
|
|
191
193
|
Join our community to ask questions, share your projects, and connect with other developers.
|
|
@@ -196,7 +198,7 @@ Join our community to ask questions, share your projects, and connect with other
|
|
|
196
198
|
- **Discord**: Join our <a href="https://discord.gg/Txbx3gebZR" target="_blank">Discord Server</a>.
|
|
197
199
|
- **WeChat**: Scan the QR code to join our WeChat group.
|
|
198
200
|
|
|
199
|
-
<img src="
|
|
201
|
+
<img src="https://statics.memtensor.com.cn/memos/qr-code.png" alt="QR Code" width="600">
|
|
200
202
|
|
|
201
203
|
## 📜 Citation
|
|
202
204
|
|
|
@@ -239,7 +241,7 @@ url = {https://global-sci.com/article/91443/memory3-language-modeling-with-expli
|
|
|
239
241
|
|
|
240
242
|
## 🙌 Contributing
|
|
241
243
|
|
|
242
|
-
We welcome contributions from the community! Please read our [contribution guidelines](https://memos.openmem.net/
|
|
244
|
+
We welcome contributions from the community! Please read our [contribution guidelines](https://memos-docs.openmem.net/contribution/overview) to get started.
|
|
243
245
|
|
|
244
246
|
## 📄 License
|
|
245
247
|
|
|
@@ -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
|