MemoryOS 0.1.13__py3-none-any.whl → 0.2.1__py3-none-any.whl

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.

Potentially problematic release.


This version of MemoryOS might be problematic. Click here for more details.

Files changed (84) hide show
  1. {memoryos-0.1.13.dist-info → memoryos-0.2.1.dist-info}/METADATA +78 -49
  2. memoryos-0.2.1.dist-info/RECORD +152 -0
  3. memoryos-0.2.1.dist-info/entry_points.txt +3 -0
  4. memos/__init__.py +1 -1
  5. memos/api/config.py +471 -0
  6. memos/api/exceptions.py +28 -0
  7. memos/api/mcp_serve.py +502 -0
  8. memos/api/product_api.py +35 -0
  9. memos/api/product_models.py +159 -0
  10. memos/api/routers/__init__.py +1 -0
  11. memos/api/routers/product_router.py +358 -0
  12. memos/chunkers/sentence_chunker.py +8 -2
  13. memos/cli.py +113 -0
  14. memos/configs/embedder.py +27 -0
  15. memos/configs/graph_db.py +83 -2
  16. memos/configs/llm.py +48 -0
  17. memos/configs/mem_cube.py +1 -1
  18. memos/configs/mem_reader.py +4 -0
  19. memos/configs/mem_scheduler.py +91 -5
  20. memos/configs/memory.py +10 -4
  21. memos/dependency.py +52 -0
  22. memos/embedders/ark.py +92 -0
  23. memos/embedders/factory.py +4 -0
  24. memos/embedders/sentence_transformer.py +8 -2
  25. memos/embedders/universal_api.py +32 -0
  26. memos/graph_dbs/base.py +2 -2
  27. memos/graph_dbs/factory.py +2 -0
  28. memos/graph_dbs/item.py +46 -0
  29. memos/graph_dbs/neo4j.py +377 -101
  30. memos/graph_dbs/neo4j_community.py +300 -0
  31. memos/llms/base.py +9 -0
  32. memos/llms/deepseek.py +54 -0
  33. memos/llms/factory.py +10 -1
  34. memos/llms/hf.py +170 -13
  35. memos/llms/hf_singleton.py +114 -0
  36. memos/llms/ollama.py +4 -0
  37. memos/llms/openai.py +68 -1
  38. memos/llms/qwen.py +63 -0
  39. memos/llms/vllm.py +153 -0
  40. memos/mem_cube/general.py +77 -16
  41. memos/mem_cube/utils.py +102 -0
  42. memos/mem_os/core.py +131 -41
  43. memos/mem_os/main.py +93 -11
  44. memos/mem_os/product.py +1098 -35
  45. memos/mem_os/utils/default_config.py +352 -0
  46. memos/mem_os/utils/format_utils.py +1154 -0
  47. memos/mem_reader/simple_struct.py +13 -8
  48. memos/mem_scheduler/base_scheduler.py +467 -36
  49. memos/mem_scheduler/general_scheduler.py +125 -244
  50. memos/mem_scheduler/modules/base.py +9 -0
  51. memos/mem_scheduler/modules/dispatcher.py +68 -2
  52. memos/mem_scheduler/modules/misc.py +39 -0
  53. memos/mem_scheduler/modules/monitor.py +228 -49
  54. memos/mem_scheduler/modules/rabbitmq_service.py +317 -0
  55. memos/mem_scheduler/modules/redis_service.py +32 -22
  56. memos/mem_scheduler/modules/retriever.py +250 -23
  57. memos/mem_scheduler/modules/schemas.py +189 -7
  58. memos/mem_scheduler/mos_for_test_scheduler.py +143 -0
  59. memos/mem_scheduler/utils.py +51 -2
  60. memos/mem_user/persistent_user_manager.py +260 -0
  61. memos/memories/activation/item.py +25 -0
  62. memos/memories/activation/kv.py +10 -3
  63. memos/memories/activation/vllmkv.py +219 -0
  64. memos/memories/factory.py +2 -0
  65. memos/memories/textual/general.py +7 -5
  66. memos/memories/textual/item.py +3 -1
  67. memos/memories/textual/tree.py +14 -6
  68. memos/memories/textual/tree_text_memory/organize/conflict.py +198 -0
  69. memos/memories/textual/tree_text_memory/organize/manager.py +72 -23
  70. memos/memories/textual/tree_text_memory/organize/redundancy.py +193 -0
  71. memos/memories/textual/tree_text_memory/organize/relation_reason_detector.py +233 -0
  72. memos/memories/textual/tree_text_memory/organize/reorganizer.py +606 -0
  73. memos/memories/textual/tree_text_memory/retrieve/recall.py +0 -1
  74. memos/memories/textual/tree_text_memory/retrieve/reranker.py +2 -2
  75. memos/memories/textual/tree_text_memory/retrieve/searcher.py +6 -5
  76. memos/parsers/markitdown.py +8 -2
  77. memos/templates/mem_reader_prompts.py +105 -36
  78. memos/templates/mem_scheduler_prompts.py +96 -47
  79. memos/templates/tree_reorganize_prompts.py +223 -0
  80. memos/vec_dbs/base.py +12 -0
  81. memos/vec_dbs/qdrant.py +46 -20
  82. memoryos-0.1.13.dist-info/RECORD +0 -122
  83. {memoryos-0.1.13.dist-info → memoryos-0.2.1.dist-info}/LICENSE +0 -0
  84. {memoryos-0.1.13.dist-info → memoryos-0.2.1.dist-info}/WHEEL +0 -0
memos/vec_dbs/qdrant.py CHANGED
@@ -1,17 +1,7 @@
1
1
  from typing import Any
2
2
 
3
- from qdrant_client import QdrantClient
4
- from qdrant_client.http import models
5
- from qdrant_client.http.models import (
6
- Distance,
7
- FieldCondition,
8
- Filter,
9
- MatchValue,
10
- PointStruct,
11
- VectorParams,
12
- )
13
-
14
3
  from memos.configs.vec_db import QdrantVecDBConfig
4
+ from memos.dependency import require_python_package
15
5
  from memos.log import get_logger
16
6
  from memos.vec_dbs.base import BaseVecDB
17
7
  from memos.vec_dbs.item import VecDBItem
@@ -23,8 +13,15 @@ logger = get_logger(__name__)
23
13
  class QdrantVecDB(BaseVecDB):
24
14
  """Qdrant vector database implementation."""
25
15
 
16
+ @require_python_package(
17
+ import_name="qdrant_client",
18
+ install_command="pip install qdrant-client",
19
+ install_link="https://python-client.qdrant.tech/",
20
+ )
26
21
  def __init__(self, config: QdrantVecDBConfig):
27
22
  """Initialize the Qdrant vector database and the collection."""
23
+ from qdrant_client import QdrantClient
24
+
28
25
  self.config = config
29
26
 
30
27
  # If both host and port are None, we are running in local mode
@@ -43,6 +40,7 @@ class QdrantVecDB(BaseVecDB):
43
40
 
44
41
  def create_collection(self) -> None:
45
42
  """Create a new collection with specified parameters."""
43
+ from qdrant_client.http import models
46
44
 
47
45
  if self.collection_exists(self.config.collection_name):
48
46
  collection_info = self.client.get_collection(self.config.collection_name)
@@ -54,14 +52,14 @@ class QdrantVecDB(BaseVecDB):
54
52
 
55
53
  # Map string distance metric to Qdrant Distance enum
56
54
  distance_map = {
57
- "cosine": Distance.COSINE,
58
- "euclidean": Distance.EUCLID,
59
- "dot": Distance.DOT,
55
+ "cosine": models.Distance.COSINE,
56
+ "euclidean": models.Distance.EUCLID,
57
+ "dot": models.Distance.DOT,
60
58
  }
61
59
 
62
60
  self.client.create_collection(
63
61
  collection_name=self.config.collection_name,
64
- vectors_config=VectorParams(
62
+ vectors_config=models.VectorParams(
65
63
  size=self.config.vector_dimension,
66
64
  distance=distance_map[self.config.distance_metric],
67
65
  ),
@@ -122,16 +120,20 @@ class QdrantVecDB(BaseVecDB):
122
120
  for point in response
123
121
  ]
124
122
 
125
- def _dict_to_filter(self, filter_dict: dict[str, Any]) -> Filter:
123
+ def _dict_to_filter(self, filter_dict: dict[str, Any]) -> Any:
124
+ from qdrant_client.http import models
125
+
126
126
  """Convert a dictionary filter to a Qdrant Filter object."""
127
127
  conditions = []
128
128
 
129
129
  for field, value in filter_dict.items():
130
130
  # Simple exact match for now
131
131
  # TODO: Extend this to support more complex conditions
132
- conditions.append(FieldCondition(key=field, match=MatchValue(value=value)))
132
+ conditions.append(
133
+ models.FieldCondition(key=field, match=models.MatchValue(value=value))
134
+ )
133
135
 
134
- return Filter(must=conditions)
136
+ return models.Filter(must=conditions)
135
137
 
136
138
  def get_by_id(self, id: str) -> VecDBItem | None:
137
139
  """Get a single item by ID."""
@@ -235,6 +237,8 @@ class QdrantVecDB(BaseVecDB):
235
237
  return response.count
236
238
 
237
239
  def add(self, data: list[VecDBItem | dict[str, Any]]) -> None:
240
+ from qdrant_client.http import models
241
+
238
242
  """
239
243
  Add data to the vector database.
240
244
 
@@ -249,13 +253,14 @@ class QdrantVecDB(BaseVecDB):
249
253
  if isinstance(item, dict):
250
254
  item = item.copy()
251
255
  item = VecDBItem.from_dict(item)
252
- point = PointStruct(id=item.id, vector=item.vector, payload=item.payload)
256
+ point = models.PointStruct(id=item.id, vector=item.vector, payload=item.payload)
253
257
  points.append(point)
254
258
 
255
259
  self.client.upsert(collection_name=self.config.collection_name, points=points)
256
260
 
257
261
  def update(self, id: str, data: VecDBItem | dict[str, Any]) -> None:
258
262
  """Update an item in the vector database."""
263
+ from qdrant_client.http import models
259
264
 
260
265
  if isinstance(data, dict):
261
266
  data = data.copy()
@@ -265,7 +270,7 @@ class QdrantVecDB(BaseVecDB):
265
270
  # For vector updates (with or without payload), use upsert with the same ID
266
271
  self.client.upsert(
267
272
  collection_name=self.config.collection_name,
268
- points=[PointStruct(id=id, vector=data.vector, payload=data.payload)],
273
+ points=[models.PointStruct(id=id, vector=data.vector, payload=data.payload)],
269
274
  )
270
275
  else:
271
276
  # For payload-only updates
@@ -273,6 +278,25 @@ class QdrantVecDB(BaseVecDB):
273
278
  collection_name=self.config.collection_name, payload=data.payload, points=[id]
274
279
  )
275
280
 
281
+ def ensure_payload_indexes(self, fields: list[str]) -> None:
282
+ """
283
+ Create payload indexes for specified fields in the collection.
284
+ This is idempotent: it will skip if index already exists.
285
+
286
+ Args:
287
+ fields (list[str]): List of field names to index (as keyword).
288
+ """
289
+ for field in fields:
290
+ try:
291
+ self.client.create_payload_index(
292
+ collection_name=self.config.collection_name,
293
+ field_name=field,
294
+ field_schema="keyword", # Could be extended in future
295
+ )
296
+ logger.debug(f"Qdrant payload index on '{field}' ensured.")
297
+ except Exception as e:
298
+ logger.warning(f"Failed to create payload index on '{field}': {e}")
299
+
276
300
  def upsert(self, data: list[VecDBItem | dict[str, Any]]) -> None:
277
301
  """
278
302
  Add or update data in the vector database.
@@ -284,6 +308,8 @@ class QdrantVecDB(BaseVecDB):
284
308
  self.add(data)
285
309
 
286
310
  def delete(self, ids: list[str]) -> None:
311
+ from qdrant_client.http import models
312
+
287
313
  """Delete items from the vector database."""
288
314
  point_ids: list[str | int] = ids
289
315
  self.client.delete(
@@ -1,122 +0,0 @@
1
- memos/__init__.py,sha256=c6S03YvsixngtCDQY7KeMPbLwPXHedu2T0EymeXAejY,576
2
- memos/api/start_api.py,sha256=vDKS3D8AEwlDAkpWxHiblzVqcQ3cvGSnnpP4Jhjm3GE,14656
3
- memos/chunkers/__init__.py,sha256=7lZOTN3e9Yp5XBsDX5wnWJ3tY126cRU9GmfevzJXAtU,67
4
- memos/chunkers/base.py,sha256=z0rG5vM7FGremQdSZ_3jlTGbsDtlkWAYWdtSAGqpaR4,655
5
- memos/chunkers/factory.py,sha256=ixpYz41GG3SZW-1ynLvfbhOZ0aGnFi2wUIYT4_Uxh30,693
6
- memos/chunkers/sentence_chunker.py,sha256=U0MpeaxONiz3daYXVwH7QiPvivhr2OeKGXdKMG2YJT0,1191
7
- memos/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- memos/configs/base.py,sha256=bOOhEU6HGFTq5jne_TXn8Br72rvAfJHYvYllFUPs12A,2588
9
- memos/configs/chunker.py,sha256=Ulci0MyhS_FkuV95l7Pr9Vei179aEFEUigwVmtmSDfI,1593
10
- memos/configs/embedder.py,sha256=a7EbWB3tnqeK_pdK6-CneoKIwSqQg6sJrXuHX3J1PnI,1769
11
- memos/configs/graph_db.py,sha256=h5wz2lJSdB1IVaidzWHXDfvL4_IAjrjYrmypu1QCCq4,1432
12
- memos/configs/internet_retriever.py,sha256=7x1Sp--skifHQqWvcPFiEOkda6HCCocw6HSO5H127jk,3046
13
- memos/configs/llm.py,sha256=rfIyuxx2xefBD5NpZaeEy3M0gEgEEhvTp1RmRG-zodw,2378
14
- memos/configs/mem_chat.py,sha256=TjEQHRG1HpLwCBo3hrn5aVK23rykNtV6Be5p4YIg7F4,2571
15
- memos/configs/mem_cube.py,sha256=AvffqpFC2WmzshouxLJbabuzt0PKLWSauQMnagP_EM0,3088
16
- memos/configs/mem_os.py,sha256=bUuyi6boIjjvYzrlFoCSqchbWF37IcA5BQi03feq7bg,2476
17
- memos/configs/mem_reader.py,sha256=y1z4aABKgg-QzROApy3gAPyYX9M5CLi3vT_xKye8Ohs,1864
18
- memos/configs/mem_scheduler.py,sha256=bTsBfl9GoXbjkiPDCenH8K2QY4RfAJNk-XN1UBl2W4Q,2959
19
- memos/configs/memory.py,sha256=-f9NpWNbZ11AMHrKngmqygXpb90mXKXIv8WxcQap6Nk,6842
20
- memos/configs/parser.py,sha256=dy-QoevJbCnkJePKgpzR4oziOzYnS4jB6XH-YrpeMns,1145
21
- memos/configs/utils.py,sha256=X9NQ6-xURsZROAdS3WT96phVfHcOHgDPOo2Yq68QoKM,242
22
- memos/configs/vec_db.py,sha256=Gjhhda94pyTDjyJGe2Z6rVEqH4FtViiwq1-7QWhjarM,2335
23
- memos/deprecation.py,sha256=k2i4bBKqIwu20guwJmPPjOm7reOy19GzLwrTMrIqjPk,7408
24
- memos/embedders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- memos/embedders/base.py,sha256=zOYERcaqBVCyMVndcR6vhFC_O2itEuTM058odDfhTx8,449
26
- memos/embedders/factory.py,sha256=DkHl0z2GjLtxe0ASl7o9SDLtQg-hEgdmopuf6HdsudA,845
27
- memos/embedders/ollama.py,sha256=8lHeMCqxej44ZgeDsPGL-5almxRBWsYYYflu5LeAf7w,2361
28
- memos/embedders/sentence_transformer.py,sha256=lePjsdtNaf69HbOEsbG31Nj1BWgi0nCdkPtIYleLYWM,1377
29
- memos/exceptions.py,sha256=UnBoZUYdwb1KoQPE-pXSLT4yOjkwxse9fx0rb_MhEzo,531
30
- memos/graph_dbs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- memos/graph_dbs/base.py,sha256=dTCdoYNS6FZQukpmpqhh8c_NwZ9Myql41g1Im8aDR6E,6873
32
- memos/graph_dbs/factory.py,sha256=9fS8w0GowWNMSupEyXyTRnivX-RJxTkxPy-tNHs15OM,732
33
- memos/graph_dbs/neo4j.py,sha256=95x1SJVaXbqryykvUqQXqHMBTtZ4za1iew_8T1hlGq4,31268
34
- memos/hello_world.py,sha256=RV1vXfK1_U_xAvSusqc-4A8wk3yr8WEQ9q88dmBxvnI,3057
35
- memos/llms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- memos/llms/base.py,sha256=E7qlIWUi_bxRwbKw0vGG7NjHksz45D_-gcrHKT3Ak1k,438
37
- memos/llms/factory.py,sha256=1JP2ZwUKN4ywaNgdZcRM6wSjahnEXqyuFiGzoxLCadY,792
38
- memos/llms/hf.py,sha256=rxcR8nAvhezsIQNeOeow-xn-z2h9j1poJO2jPNcJAg8,9008
39
- memos/llms/ollama.py,sha256=_nZYe0OauPWWcFFYVPSNtvyDGblrL49-EznApa-Mr5I,2565
40
- memos/llms/openai.py,sha256=QoksbFh0ptsRFDOJzUyTl-Qovd3LzVYid9JqGSBH39U,1145
41
- memos/llms/utils.py,sha256=OcbM9iSpFJpio7sTT5wvxVx-JnqjIx7eSgiRk7dt0ZI,292
42
- memos/log.py,sha256=ocQi2NWlpefgxOJi9EoB0as6tXhLA4dmXuVIgZT52FE,2234
43
- memos/mem_chat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
- memos/mem_chat/base.py,sha256=LICB_mwUkdCVKb_r33GEPbrEr-2v3dEnI54cAvhcEew,830
45
- memos/mem_chat/factory.py,sha256=KKCDG9FrpfY2hD3iJ4GM9x8dN09dyhstP1cOUH_knrY,720
46
- memos/mem_chat/simple.py,sha256=-DRlE8nKZcGuwEubALK-nUf-wWRbGXkDJXUg8Dxhoyo,7919
47
- memos/mem_cube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
- memos/mem_cube/base.py,sha256=NoZKz16oO5AAnJ0alcY52Z1c3C1rbGRe8Znz0CCzDnw,864
49
- memos/mem_cube/general.py,sha256=ad7Qzshf-psBuu24BX_K0NDN0KDuwliAi06TG4wyH1M,5535
50
- memos/mem_cube/utils.py,sha256=-6KiCCzy1PehbGAZY20BVcelvdiKFSu4CXMXi8qNrGU,777
51
- memos/mem_os/client.py,sha256=0M-WRTlQr7fDAYtq4B8dsMR0PfmyvD-ySMhKcW3Umd0,43
52
- memos/mem_os/core.py,sha256=csZQqZfbdACapcA85Ahh8vBfi0VPFGM_6yilfmln008,34836
53
- memos/mem_os/main.py,sha256=sGMleiO1_CG8-v3ctIMFe1hx8Jy_OohFtqqpWgRMhbw,21099
54
- memos/mem_os/product.py,sha256=SFLFEleZISCeBU19b-uohFsaUNXB9tN-GGypuhDFx1I,3043
55
- memos/mem_reader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
- memos/mem_reader/base.py,sha256=SSuaD3J88XbHsME1Qa-EAgZ57xApPHPHppMSeeS3JZ4,957
57
- memos/mem_reader/factory.py,sha256=emKnId9BhScSkqCZyLSLWntixnU3wAMIOVdsRpHldJA,766
58
- memos/mem_reader/memory.py,sha256=f3fAjrs8Jf6mBZWTgzkEZle7XjDwTJHxM1L2sOb85Tg,13288
59
- memos/mem_reader/simple_struct.py,sha256=QQOBX-26cysWH-vudf9FzxGa2O0pkZ8_bQ7zGmGXz4o,9493
60
- memos/mem_scheduler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
- memos/mem_scheduler/base_scheduler.py,sha256=bYxLm6nUorJGm8DCiBOJ6DG8eqCK3cCIrm3cEe2be7M,6617
62
- memos/mem_scheduler/general_scheduler.py,sha256=Tp9Nh8qFVR9TklmmISSoBoeHoWTqM0P977gmb-HS6rM,12895
63
- memos/mem_scheduler/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
- memos/mem_scheduler/modules/base.py,sha256=j2IJLiDGfen-JyJZSsVQ45s4kvdvPTvJEaqXeEN8Png,2824
65
- memos/mem_scheduler/modules/dispatcher.py,sha256=JFeqbSBRMfjkOP4ovL9DmB-MzRbOdaVo_GcuxL_0yuY,3902
66
- memos/mem_scheduler/modules/monitor.py,sha256=mZIJIPhRxd9aH02MFP9gGZ7RqbhZlSQGtfXTJCKYmKU,2683
67
- memos/mem_scheduler/modules/redis_service.py,sha256=sEgglO1fTpdEE39tl0e2GAA8Y0gXxNo3kqu5lDuyVx4,5479
68
- memos/mem_scheduler/modules/retriever.py,sha256=NJEFpX2ap4mSQZ9GYBvBr9QMD4QpgLEYaT1DkR1nyKA,1351
69
- memos/mem_scheduler/modules/schemas.py,sha256=J7Rv4M932Wdm-NoOWQne9txOK7j0V9ScdsRH7klPGTI,5301
70
- memos/mem_scheduler/scheduler_factory.py,sha256=pw6FKO0EuxFRipMnD22DvcjbM6pdmVfJmRjUvdTaU5E,800
71
- memos/mem_scheduler/utils.py,sha256=xa2BotLf7iAQ4bVJEujPvRjuzWItOA2gP2H3BkBM5XY,582
72
- memos/mem_user/user_manager.py,sha256=9XIt4Q2HA1fhh9dbjKRAXh-GTdT43WGYSx-IsST7jZM,15654
73
- memos/memories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
- memos/memories/activation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
- memos/memories/activation/base.py,sha256=kiC35AOnuofgYMzLxZyVULsfOoVq03BGvi6AXtNvF-I,1151
76
- memos/memories/activation/item.py,sha256=kjM7khcHn-7SJfOmOU9QXwPekRv5Y7xdRQABg_4arGU,757
77
- memos/memories/activation/kv.py,sha256=nFETbDZk84Tw6j2b123uFck5k3RGlOkYIHYr11Jk6fw,8061
78
- memos/memories/base.py,sha256=Sr-dEuDc982WwdVREQ2nL8L6rUc0KZPTaBJeYdgx8h8,577
79
- memos/memories/factory.py,sha256=PZ9OaEAgV2hDwo6UhyCe3OMplOYWefMyYEpXXc-hhGs,1311
80
- memos/memories/parametric/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
- memos/memories/parametric/base.py,sha256=RQK2LeaMRr2rVbfoa0M7RJx4r0dGD_uBXt73eizBVhI,667
82
- memos/memories/parametric/item.py,sha256=9FcY7kf53Uvl5FGXn23o2c0dI_9aUcYjUqTxKOMlbuI,219
83
- memos/memories/parametric/lora.py,sha256=TqSI2OjmFi-XXCeM-MchSwh1sAhOwL7_JnOwSy9qpis,1397
84
- memos/memories/textual/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
- memos/memories/textual/base.py,sha256=3XVeuXZY3ZFzZ6zHIE3l5hx7X2PiH7orxvCwrNZ1l3U,2812
86
- memos/memories/textual/general.py,sha256=7iektZA-_iR80sOlADW2EFkPT5Utbunu9hdZgT7Ocrk,11072
87
- memos/memories/textual/item.py,sha256=v6YYDPdPt5uwsJxLlaMwi5m1r7Als2EwgFQhqBvNHRQ,6296
88
- memos/memories/textual/naive.py,sha256=Z_gfbxI6cQGJ_raOTQic4fnpo493Xq3yEQ8qDV4xplo,6954
89
- memos/memories/textual/tree.py,sha256=GDG2KS6P9MQaBUmOrHEBUDgxbWCDzELF9XZshyC5zXk,13390
90
- memos/memories/textual/tree_text_memory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
- memos/memories/textual/tree_text_memory/organize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
- memos/memories/textual/tree_text_memory/organize/manager.py,sha256=_nCKzkDk77D_KRSLHwjT1f8Ra9waNVCKs2sBEsmBypk,12341
93
- memos/memories/textual/tree_text_memory/retrieve/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
- memos/memories/textual/tree_text_memory/retrieve/internet_retriever.py,sha256=asSzVcSVOiigN4-4NzFc7wzthGDK6P5sODIDF5W9egA,8467
95
- memos/memories/textual/tree_text_memory/retrieve/internet_retriever_factory.py,sha256=pBlufTc5-mdWcyKR_R0Syev3QPMtV83mydyIw0Saz4o,3192
96
- memos/memories/textual/tree_text_memory/retrieve/reasoner.py,sha256=5csoGjviFbN9RJ8dm3B6kjvoC8xbPD8UMiGusefHaf0,2228
97
- memos/memories/textual/tree_text_memory/retrieve/recall.py,sha256=a1P-L3ZER2wh6qTy6p2EhJ-6mSeSisbZgJnHjQv4XkM,5846
98
- memos/memories/textual/tree_text_memory/retrieve/reranker.py,sha256=U_O0uEKpWHAURhSvkzjYoR2LC8v8vzBjRo8MTeW_6i4,3680
99
- memos/memories/textual/tree_text_memory/retrieve/retrieval_mid_structs.py,sha256=jZs2S1jtd727gqDKs8clYCOwcqOBnrl_UmFU1FPE0w8,360
100
- memos/memories/textual/tree_text_memory/retrieve/searcher.py,sha256=2TQsYxWXxZns7jQo1_5rZxbdjqReaQIzGDYJb9eZ4RM,8367
101
- memos/memories/textual/tree_text_memory/retrieve/task_goal_parser.py,sha256=mAPxg5P3wmAvRVrutpeE3i2yC1R90egUUGdTWyWmq1U,2653
102
- memos/memories/textual/tree_text_memory/retrieve/utils.py,sha256=JU9_3OTRp1lXHWV6SuRUIO_GjRCPclEu9MrjNZX_kck,1406
103
- memos/memories/textual/tree_text_memory/retrieve/xinyusearch.py,sha256=0bewmGoHE2n-inHDMlHY2wfpGUzTPSRBm9JkGl63rag,10437
104
- memos/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- memos/parsers/base.py,sha256=AWgWIZzReDiTqiv6z08_9aG2KHVzc4Bdr0Lowz0mWVI,435
106
- memos/parsers/factory.py,sha256=hPKTR0wVgMQ5Z9ZL-a9FyHWCpz9UcrG2oSEDYBAoB3g,704
107
- memos/parsers/markitdown.py,sha256=Yh7YAv8PFsz3WgegrwtA_hqaC9W4SOMZP7IRXxcnn_w,615
108
- memos/settings.py,sha256=HYNBFRW0CS2Kh4GmMRMA-Yrh3ZhJno4S4B6gx6P3T30,178
109
- memos/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
- memos/templates/mem_reader_prompts.py,sha256=_I9W5AHpmyQKzbuty-NkTBXufDtHzxQmXGvMgxScTa0,5924
111
- memos/templates/mem_scheduler_prompts.py,sha256=53bcOCC32790tVJ7_s7o0jwu6hg7jUs-z8dyahlLv24,2417
112
- memos/templates/mos_prompts.py,sha256=QJrMb4FwMOAVb-SFSCGTuqqzvD_YhBTpdVBvpUIftK0,3595
113
- memos/types.py,sha256=N7XBYxDTdc50KEsS6YxHvYgs23ykGsZ-wNnaJBVdVi4,1791
114
- memos/vec_dbs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
- memos/vec_dbs/base.py,sha256=a_-Gsh51C1_8R35mK7DykDxQTicmdgyz4fbEw8d5Mlg,3165
116
- memos/vec_dbs/factory.py,sha256=Noa4caqzPT9b59i2jzdpAHFCSHiMfDmgRox1POkRRfE,710
117
- memos/vec_dbs/item.py,sha256=mLrcHF0nWtMCUjScBgaeeSqabQ3vJhKr_6wrU_g25ns,1425
118
- memos/vec_dbs/qdrant.py,sha256=I_XFmz_7SgFojMTFaqkPvwQEdMBl0MsCKZ43qatwuV0,9858
119
- memoryos-0.1.13.dist-info/LICENSE,sha256=FU-b6N8tVc7dzUZGyNjUIG1Ihnrh2iuBziq4a1Gl8HU,11358
120
- memoryos-0.1.13.dist-info/METADATA,sha256=RfJVrfNGHwDlsIlXcR6UG6egWsjYXNtWOIbT0SUhNGc,12766
121
- memoryos-0.1.13.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
122
- memoryos-0.1.13.dist-info/RECORD,,