isage-middleware 0.1.0__py3-none-any.whl → 0.1.4__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 isage-middleware might be problematic. Click here for more details.

Files changed (285) hide show
  1. isage_middleware-0.1.4.dist-info/METADATA +115 -0
  2. isage_middleware-0.1.4.dist-info/RECORD +288 -0
  3. sage/__init__.py +37 -2
  4. sage/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  5. sage/__pycache__/__init__.cpython-311.pyc +0 -0
  6. sage/middleware/__init__.py +31 -77
  7. sage/middleware/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  8. sage/middleware/__pycache__/__init__.cpython-311.pyc +0 -0
  9. sage/middleware/api/__init__.py +32 -17
  10. sage/middleware/api/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  11. sage/middleware/api/__pycache__/__init__.cpython-311.pyc +0 -0
  12. sage/middleware/api/__pycache__/graph_api.cpython-311.opt-2.pyc +0 -0
  13. sage/middleware/api/__pycache__/graph_api.cpython-311.pyc +0 -0
  14. sage/middleware/api/__pycache__/kv_api.cpython-311.opt-2.pyc +0 -0
  15. sage/middleware/api/__pycache__/kv_api.cpython-311.pyc +0 -0
  16. sage/middleware/api/__pycache__/memory_api.cpython-311.opt-2.pyc +0 -0
  17. sage/middleware/api/__pycache__/memory_api.cpython-311.pyc +0 -0
  18. sage/middleware/api/__pycache__/vdb_api.cpython-311.opt-2.pyc +0 -0
  19. sage/middleware/api/__pycache__/vdb_api.cpython-311.pyc +0 -0
  20. sage/middleware/components/enterprise/__init__.py +37 -0
  21. sage/middleware/components/enterprise/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  22. sage/middleware/components/enterprise/__pycache__/__init__.cpython-311.pyc +0 -0
  23. sage/middleware/components/neuromem/__init__.py +37 -0
  24. sage/middleware/components/neuromem/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  25. sage/middleware/components/neuromem/__pycache__/__init__.cpython-311.pyc +0 -0
  26. sage/middleware/components/neuromem/__pycache__/memory_manager.cpython-311.opt-2.pyc +0 -0
  27. sage/middleware/components/neuromem/__pycache__/memory_manager.cpython-311.pyc +0 -0
  28. sage/middleware/components/neuromem/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
  29. sage/middleware/components/neuromem/__pycache__/memory_service.cpython-311.pyc +0 -0
  30. sage/middleware/components/neuromem/memory_collection/__init__.py +37 -0
  31. sage/middleware/components/neuromem/memory_collection/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  32. sage/middleware/components/neuromem/memory_collection/__pycache__/__init__.cpython-311.pyc +0 -0
  33. sage/middleware/components/neuromem/memory_collection/__pycache__/base_collection.cpython-311.opt-2.pyc +0 -0
  34. sage/middleware/components/neuromem/memory_collection/__pycache__/base_collection.cpython-311.pyc +0 -0
  35. sage/middleware/components/neuromem/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
  36. sage/middleware/components/neuromem/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
  37. sage/middleware/components/neuromem/memory_collection/__pycache__/kv_collection.cpython-311.opt-2.pyc +0 -0
  38. sage/middleware/components/neuromem/memory_collection/__pycache__/kv_collection.cpython-311.pyc +0 -0
  39. sage/middleware/components/neuromem/memory_collection/__pycache__/vdb_collection.cpython-311.opt-2.pyc +0 -0
  40. sage/middleware/components/neuromem/memory_collection/__pycache__/vdb_collection.cpython-311.pyc +0 -0
  41. sage/middleware/components/neuromem/memory_collection/base_collection.py +167 -0
  42. sage/middleware/components/neuromem/memory_collection/graph_collection.py +11 -0
  43. sage/middleware/components/neuromem/memory_collection/kv_collection.py +709 -0
  44. sage/middleware/components/neuromem/memory_collection/vdb_collection.py +922 -0
  45. sage/middleware/components/neuromem/memory_manager.py +401 -0
  46. sage/middleware/components/neuromem/memory_service.py +324 -0
  47. sage/middleware/components/neuromem/micro_service/__init__.py +37 -0
  48. sage/middleware/components/neuromem/micro_service/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  49. sage/middleware/components/neuromem/micro_service/__pycache__/__init__.cpython-311.pyc +0 -0
  50. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb.cpython-311.opt-2.pyc +0 -0
  51. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb.cpython-311.pyc +0 -0
  52. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb_service.cpython-311.opt-2.pyc +0 -0
  53. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb_service.cpython-311.pyc +0 -0
  54. sage/middleware/components/neuromem/micro_service/neuromem_vdb.py +198 -0
  55. sage/middleware/components/neuromem/micro_service/neuromem_vdb_service.py +118 -0
  56. sage/middleware/components/neuromem/search_engine/__init__.py +37 -0
  57. sage/middleware/components/neuromem/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  58. sage/middleware/components/neuromem/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  59. sage/middleware/components/neuromem/search_engine/graph_index/__init__.py +37 -0
  60. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  61. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.pyc +0 -0
  62. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
  63. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/base_graph_index.cpython-311.pyc +0 -0
  64. sage/middleware/components/neuromem/search_engine/graph_index/base_graph_index.py +40 -0
  65. sage/middleware/components/neuromem/search_engine/hybird_index/__init__.py +37 -0
  66. sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  67. sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.pyc +0 -0
  68. sage/middleware/components/neuromem/search_engine/kv_index/__init__.py +37 -0
  69. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  70. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/__init__.cpython-311.pyc +0 -0
  71. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/base_kv_index.cpython-311.opt-2.pyc +0 -0
  72. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/base_kv_index.cpython-311.pyc +0 -0
  73. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/bm25s_index.cpython-311.opt-2.pyc +0 -0
  74. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/bm25s_index.cpython-311.pyc +0 -0
  75. sage/middleware/components/neuromem/search_engine/kv_index/base_kv_index.py +76 -0
  76. sage/middleware/components/neuromem/search_engine/kv_index/bm25s_index.py +320 -0
  77. sage/middleware/components/neuromem/search_engine/vdb_index/__init__.py +37 -0
  78. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  79. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/__init__.cpython-311.pyc +0 -0
  80. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
  81. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
  82. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
  83. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/faiss_index.cpython-311.pyc +0 -0
  84. sage/middleware/components/neuromem/search_engine/vdb_index/base_vdb_index.py +53 -0
  85. sage/middleware/components/neuromem/search_engine/vdb_index/faiss_index.py +700 -0
  86. sage/middleware/components/neuromem/storage_engine/__init__.py +37 -0
  87. sage/middleware/components/neuromem/storage_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  88. sage/middleware/components/neuromem/storage_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  89. sage/middleware/components/neuromem/storage_engine/__pycache__/metadata_storage.cpython-311.opt-2.pyc +0 -0
  90. sage/middleware/components/neuromem/storage_engine/__pycache__/metadata_storage.cpython-311.pyc +0 -0
  91. sage/middleware/components/neuromem/storage_engine/__pycache__/text_storage.cpython-311.opt-2.pyc +0 -0
  92. sage/middleware/components/neuromem/storage_engine/__pycache__/text_storage.cpython-311.pyc +0 -0
  93. sage/middleware/components/neuromem/storage_engine/__pycache__/vector_storage.cpython-311.opt-2.pyc +0 -0
  94. sage/middleware/components/neuromem/storage_engine/__pycache__/vector_storage.cpython-311.pyc +0 -0
  95. sage/middleware/components/neuromem/storage_engine/kv_backend/__init__.py +37 -0
  96. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  97. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/__init__.cpython-311.pyc +0 -0
  98. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/base_kv_backend.cpython-311.opt-2.pyc +0 -0
  99. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/base_kv_backend.cpython-311.pyc +0 -0
  100. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/dict_kv_backend.cpython-311.opt-2.pyc +0 -0
  101. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/dict_kv_backend.cpython-311.pyc +0 -0
  102. sage/middleware/components/neuromem/storage_engine/kv_backend/base_kv_backend.py +65 -0
  103. sage/middleware/components/neuromem/storage_engine/kv_backend/dict_kv_backend.py +54 -0
  104. sage/middleware/components/neuromem/storage_engine/metadata_storage.py +260 -0
  105. sage/middleware/components/neuromem/storage_engine/text_storage.py +106 -0
  106. sage/middleware/components/neuromem/storage_engine/vector_storage.py +85 -0
  107. sage/middleware/components/neuromem/tests/__init__.py +37 -0
  108. sage/middleware/components/neuromem/tests/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  109. sage/middleware/components/neuromem/tests/__pycache__/__init__.cpython-311.pyc +0 -0
  110. sage/middleware/components/neuromem/tests/__pycache__/test_memory_service.cpython-311.opt-2.pyc +0 -0
  111. sage/middleware/components/neuromem/tests/__pycache__/test_memory_service.cpython-311.pyc +0 -0
  112. sage/middleware/components/neuromem/tests/core_test/__init__.py +37 -0
  113. sage/middleware/components/neuromem/tests/core_test/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  114. sage/middleware/components/neuromem/tests/core_test/__pycache__/__init__.cpython-311.pyc +0 -0
  115. sage/middleware/components/neuromem/tests/core_test/collection_test/__init__.py +37 -0
  116. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  117. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/__init__.cpython-311.pyc +0 -0
  118. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/kv_collection_test.cpython-311.opt-2.pyc +0 -0
  119. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/kv_collection_test.cpython-311.pyc +0 -0
  120. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/vdb_collection_test.cpython-311.opt-2.pyc +0 -0
  121. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/vdb_collection_test.cpython-311.pyc +0 -0
  122. sage/middleware/components/neuromem/tests/core_test/collection_test/kv_collection_test.py +60 -0
  123. sage/middleware/components/neuromem/tests/core_test/collection_test/vdb_collection_test.py +88 -0
  124. sage/middleware/components/neuromem/tests/core_test/manager_test.py +154 -0
  125. sage/middleware/components/neuromem/tests/test_memory_service.py +293 -0
  126. sage/middleware/components/neuromem/utils/__init__.py +37 -0
  127. sage/middleware/components/neuromem/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  128. sage/middleware/components/neuromem/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  129. sage/middleware/components/neuromem/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
  130. sage/middleware/components/neuromem/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
  131. sage/middleware/components/neuromem/utils/path_utils.py +25 -0
  132. sage/middleware/components/sage_db/__init__.py +37 -0
  133. sage/middleware/components/sage_db/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  134. sage/middleware/components/sage_db/__pycache__/__init__.cpython-311.pyc +0 -0
  135. sage/middleware/{enterprise → components}/sage_db/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
  136. sage/middleware/{enterprise → components}/sage_db/__pycache__/sage_db.cpython-311.pyc +0 -0
  137. sage/middleware/components/sage_db/python/__init__.py +37 -0
  138. sage/middleware/components/sage_db/python/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  139. sage/middleware/components/sage_db/python/__pycache__/__init__.cpython-311.pyc +0 -0
  140. sage/middleware/{enterprise → components}/sage_db/python/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
  141. sage/middleware/{enterprise → components}/sage_db/python/__pycache__/sage_db.cpython-311.pyc +0 -0
  142. sage/middleware/{enterprise → components}/sage_db/tests/__pycache__/test_python.cpython-311.opt-2.pyc +0 -0
  143. sage/middleware/{enterprise → components}/sage_db/tests/__pycache__/test_python.cpython-311.pyc +0 -0
  144. sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.opt-2.pyc +0 -0
  145. sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.pyc +0 -0
  146. sage/middleware/examples/__pycache__/microservices_demo.cpython-311.opt-2.pyc +0 -0
  147. sage/middleware/examples/__pycache__/microservices_demo.cpython-311.pyc +0 -0
  148. sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.opt-2.pyc +0 -0
  149. sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.pyc +0 -0
  150. sage/middleware/examples/api_usage_tutorial.py +3 -3
  151. sage/middleware/examples/dag_microservices_demo.py +7 -8
  152. sage/middleware/examples/microservices_integration_demo.py +8 -11
  153. sage/middleware/examples/microservices_registration_demo.py +8 -12
  154. sage/middleware/services/__init__.py +37 -0
  155. sage/middleware/services/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  156. sage/middleware/services/__pycache__/__init__.cpython-311.pyc +0 -0
  157. sage/middleware/services/graph/__init__.py +33 -4
  158. sage/middleware/services/graph/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  159. sage/middleware/services/graph/__pycache__/__init__.cpython-311.pyc +0 -0
  160. sage/middleware/services/graph/__pycache__/graph_index.cpython-311.opt-2.pyc +0 -0
  161. sage/middleware/services/graph/__pycache__/graph_index.cpython-311.pyc +0 -0
  162. sage/middleware/services/graph/__pycache__/graph_service.cpython-311.opt-2.pyc +0 -0
  163. sage/middleware/services/graph/__pycache__/graph_service.cpython-311.pyc +0 -0
  164. sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.opt-2.pyc +0 -0
  165. sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.pyc +0 -0
  166. sage/middleware/services/graph/examples/graph_demo.py +3 -2
  167. sage/middleware/services/graph/graph_service.py +68 -0
  168. sage/middleware/services/graph/search_engine/__init__.py +37 -0
  169. sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  170. sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  171. sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
  172. sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.pyc +0 -0
  173. sage/middleware/services/kv/__init__.py +33 -4
  174. sage/middleware/services/kv/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  175. sage/middleware/services/kv/__pycache__/__init__.cpython-311.pyc +0 -0
  176. sage/middleware/services/kv/__pycache__/kv_service.cpython-311.opt-2.pyc +0 -0
  177. sage/middleware/services/kv/__pycache__/kv_service.cpython-311.pyc +0 -0
  178. sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.opt-2.pyc +0 -0
  179. sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.pyc +0 -0
  180. sage/middleware/services/kv/examples/kv_demo.py +1 -1
  181. sage/middleware/services/kv/search_engine/__init__.py +37 -0
  182. sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  183. sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  184. sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.opt-2.pyc +0 -0
  185. sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.pyc +0 -0
  186. sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.opt-2.pyc +0 -0
  187. sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.pyc +0 -0
  188. sage/middleware/services/memory/__init__.py +33 -8
  189. sage/middleware/services/memory/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  190. sage/middleware/services/memory/__pycache__/__init__.cpython-311.pyc +0 -0
  191. sage/middleware/services/memory/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
  192. sage/middleware/services/memory/__pycache__/memory_service.cpython-311.pyc +0 -0
  193. sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.opt-2.pyc +0 -0
  194. sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.pyc +0 -0
  195. sage/middleware/services/memory/examples/dag_microservices_demo.py +8 -9
  196. sage/middleware/services/memory/examples/memory_demo.py +4 -4
  197. sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
  198. sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
  199. sage/middleware/services/memory/memory_service.py +14 -11
  200. sage/middleware/services/memory/utils/__init__.py +37 -0
  201. sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  202. sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  203. sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
  204. sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
  205. sage/middleware/services/vdb/__init__.py +33 -4
  206. sage/middleware/services/vdb/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  207. sage/middleware/services/vdb/__pycache__/__init__.cpython-311.pyc +0 -0
  208. sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.opt-2.pyc +0 -0
  209. sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.pyc +0 -0
  210. sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.opt-2.pyc +0 -0
  211. sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.pyc +0 -0
  212. sage/middleware/services/vdb/examples/vdb_demo.py +2 -2
  213. sage/middleware/services/vdb/search_engine/__init__.py +37 -0
  214. sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  215. sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  216. sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
  217. sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
  218. sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
  219. sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.pyc +0 -0
  220. sage/middleware/services/vdb/vdb_service.py +44 -41
  221. sage/middleware/utils/__init__.py +34 -2
  222. sage/middleware/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  223. sage/middleware/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  224. sage/middleware/utils/embedding/__init__.py +33 -31
  225. sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  226. sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.pyc +0 -0
  227. sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.opt-2.pyc +0 -0
  228. sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.pyc +0 -0
  229. sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.opt-2.pyc +0 -0
  230. sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.pyc +0 -0
  231. sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.opt-2.pyc +0 -0
  232. sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.pyc +0 -0
  233. sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.opt-2.pyc +0 -0
  234. sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.pyc +0 -0
  235. sage/middleware/utils/embedding/__pycache__/hf.cpython-311.opt-2.pyc +0 -0
  236. sage/middleware/utils/embedding/__pycache__/hf.cpython-311.pyc +0 -0
  237. sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.opt-2.pyc +0 -0
  238. sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.pyc +0 -0
  239. sage/middleware/utils/embedding/__pycache__/jina.cpython-311.opt-2.pyc +0 -0
  240. sage/middleware/utils/embedding/__pycache__/jina.cpython-311.pyc +0 -0
  241. sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.opt-2.pyc +0 -0
  242. sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.pyc +0 -0
  243. sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.opt-2.pyc +0 -0
  244. sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.pyc +0 -0
  245. sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.opt-2.pyc +0 -0
  246. sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.pyc +0 -0
  247. sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.opt-2.pyc +0 -0
  248. sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.pyc +0 -0
  249. sage/middleware/utils/embedding/__pycache__/openai.cpython-311.opt-2.pyc +0 -0
  250. sage/middleware/utils/embedding/__pycache__/openai.cpython-311.pyc +0 -0
  251. sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.opt-2.pyc +0 -0
  252. sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.pyc +0 -0
  253. sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.opt-2.pyc +0 -0
  254. sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.pyc +0 -0
  255. isage_middleware-0.1.0.dist-info/METADATA +0 -424
  256. isage_middleware-0.1.0.dist-info/RECORD +0 -191
  257. sage/middleware/enterprise/__init__.py +0 -75
  258. sage/middleware/enterprise/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  259. sage/middleware/enterprise/__pycache__/__init__.cpython-311.pyc +0 -0
  260. sage/middleware/enterprise/sage_db/__init__.py +0 -132
  261. sage/middleware/enterprise/sage_db/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  262. sage/middleware/enterprise/sage_db/__pycache__/__init__.cpython-311.pyc +0 -0
  263. sage/middleware/enterprise/sage_db/python/__init__.py +0 -7
  264. sage/middleware/enterprise/sage_db/python/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  265. sage/middleware/enterprise/sage_db/python/__pycache__/__init__.cpython-311.pyc +0 -0
  266. sage/middleware/examples/__pycache__/dag_microservices_demo.cpython-311.opt-2.pyc +0 -0
  267. sage/middleware/examples/__pycache__/dag_microservices_demo.cpython-311.pyc +0 -0
  268. sage/middleware/examples/__pycache__/microservices_integration_demo.cpython-311.opt-2.pyc +0 -0
  269. sage/middleware/examples/__pycache__/microservices_integration_demo.cpython-311.pyc +0 -0
  270. sage/middleware/services/memory/examples/__pycache__/dag_microservices_demo.cpython-311.opt-2.pyc +0 -0
  271. sage/middleware/services/memory/examples/__pycache__/dag_microservices_demo.cpython-311.pyc +0 -0
  272. sage/middleware/services/memory/memory_collection/__pycache__/base_collection.cpython-311.opt-2.pyc +0 -0
  273. sage/middleware/services/memory/memory_collection/__pycache__/base_collection.cpython-311.pyc +0 -0
  274. sage/middleware/services/memory/memory_collection/__pycache__/kv_collection.cpython-311.opt-2.pyc +0 -0
  275. sage/middleware/services/memory/memory_collection/__pycache__/kv_collection.cpython-311.pyc +0 -0
  276. sage/middleware/services/memory/memory_collection/__pycache__/vdb_collection.cpython-311.opt-2.pyc +0 -0
  277. sage/middleware/services/memory/memory_collection/__pycache__/vdb_collection.cpython-311.pyc +0 -0
  278. sage/middleware/services/memory/memory_collection/base_collection.py +0 -0
  279. sage/middleware/services/memory/memory_collection/kv_collection.py +0 -0
  280. sage/middleware/services/memory/memory_collection/vdb_collection.py +0 -0
  281. {isage_middleware-0.1.0.dist-info → isage_middleware-0.1.4.dist-info}/WHEEL +0 -0
  282. {isage_middleware-0.1.0.dist-info → isage_middleware-0.1.4.dist-info}/top_level.txt +0 -0
  283. /sage/middleware/{enterprise → components}/sage_db/python/sage_db.py +0 -0
  284. /sage/middleware/{enterprise → components}/sage_db/sage_db.py +0 -0
  285. /sage/middleware/{enterprise → components}/sage_db/tests/test_python.py +0 -0
@@ -1,22 +1,37 @@
1
1
  """
2
- SAGE Service API Module
3
- 提供统一的服务API接口
2
+ SAGE - Streaming-Augmented Generative Execution
4
3
  """
5
4
 
6
- # 服务API接口
7
- try:
8
- from .kv_api import KVServiceAPI
9
- from .vdb_api import VDBServiceAPI
10
- from .memory_api import MemoryServiceAPI
11
- from .graph_api import GraphServiceAPI
5
+ # 动态版本加载
6
+ def _load_version():
7
+ """从项目根目录动态加载版本信息"""
8
+ from pathlib import Path
12
9
 
13
- __all__ = [
14
- "KVServiceAPI",
15
- "VDBServiceAPI",
16
- "MemoryServiceAPI",
17
- "GraphServiceAPI"
18
- ]
10
+ # 获取项目根目录
11
+ current_file = Path(__file__).resolve()
12
+ root_dir = current_file.parent.parent.parent.parent.parent.parent
13
+ version_file = root_dir / "_version.py"
19
14
 
20
- except ImportError as e:
21
- print(f"⚠️ Some API modules not available: {e}")
22
- __all__ = []
15
+ # 加载版本信息
16
+ if version_file.exists():
17
+ version_globals = {}
18
+ with open(version_file, 'r', encoding='utf-8') as f:
19
+ exec(f.read(), version_globals)
20
+ return {
21
+ 'version': version_globals.get('__version__', '0.1.4'),
22
+ 'author': version_globals.get('__author__', 'SAGE Team'),
23
+ 'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
24
+ }
25
+
26
+ # 默认值
27
+ return {
28
+ 'version': '0.1.4',
29
+ 'author': 'SAGE Team',
30
+ 'email': 'shuhao_zhang@hust.edu.cn'
31
+ }
32
+
33
+ # 加载信息
34
+ _info = _load_version()
35
+ __version__ = _info['version']
36
+ __author__ = _info['author']
37
+ __email__ = _info['email']
@@ -0,0 +1,37 @@
1
+ """
2
+ SAGE - Streaming-Augmented Generative Execution
3
+ """
4
+
5
+ # 动态版本加载
6
+ def _load_version():
7
+ """从项目根目录动态加载版本信息"""
8
+ from pathlib import Path
9
+
10
+ # 获取项目根目录
11
+ current_file = Path(__file__).resolve()
12
+ root_dir = current_file.parent.parent.parent.parent.parent.parent.parent
13
+ version_file = root_dir / "_version.py"
14
+
15
+ # 加载版本信息
16
+ if version_file.exists():
17
+ version_globals = {}
18
+ with open(version_file, 'r', encoding='utf-8') as f:
19
+ exec(f.read(), version_globals)
20
+ return {
21
+ 'version': version_globals.get('__version__', '0.1.4'),
22
+ 'author': version_globals.get('__author__', 'SAGE Team'),
23
+ 'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
24
+ }
25
+
26
+ # 默认值
27
+ return {
28
+ 'version': '0.1.4',
29
+ 'author': 'SAGE Team',
30
+ 'email': 'shuhao_zhang@hust.edu.cn'
31
+ }
32
+
33
+ # 加载信息
34
+ _info = _load_version()
35
+ __version__ = _info['version']
36
+ __author__ = _info['author']
37
+ __email__ = _info['email']
@@ -0,0 +1,37 @@
1
+ """
2
+ SAGE - Streaming-Augmented Generative Execution
3
+ """
4
+
5
+ # 动态版本加载
6
+ def _load_version():
7
+ """从项目根目录动态加载版本信息"""
8
+ from pathlib import Path
9
+
10
+ # 获取项目根目录
11
+ current_file = Path(__file__).resolve()
12
+ root_dir = current_file.parent.parent.parent.parent.parent.parent.parent
13
+ version_file = root_dir / "_version.py"
14
+
15
+ # 加载版本信息
16
+ if version_file.exists():
17
+ version_globals = {}
18
+ with open(version_file, 'r', encoding='utf-8') as f:
19
+ exec(f.read(), version_globals)
20
+ return {
21
+ 'version': version_globals.get('__version__', '0.1.4'),
22
+ 'author': version_globals.get('__author__', 'SAGE Team'),
23
+ 'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
24
+ }
25
+
26
+ # 默认值
27
+ return {
28
+ 'version': '0.1.4',
29
+ 'author': 'SAGE Team',
30
+ 'email': 'shuhao_zhang@hust.edu.cn'
31
+ }
32
+
33
+ # 加载信息
34
+ _info = _load_version()
35
+ __version__ = _info['version']
36
+ __author__ = _info['author']
37
+ __email__ = _info['email']
@@ -0,0 +1,37 @@
1
+ """
2
+ SAGE - Streaming-Augmented Generative Execution
3
+ """
4
+
5
+ # 动态版本加载
6
+ def _load_version():
7
+ """从项目根目录动态加载版本信息"""
8
+ from pathlib import Path
9
+
10
+ # 获取项目根目录
11
+ current_file = Path(__file__).resolve()
12
+ root_dir = current_file.parent.parent.parent.parent.parent.parent.parent.parent
13
+ version_file = root_dir / "_version.py"
14
+
15
+ # 加载版本信息
16
+ if version_file.exists():
17
+ version_globals = {}
18
+ with open(version_file, 'r', encoding='utf-8') as f:
19
+ exec(f.read(), version_globals)
20
+ return {
21
+ 'version': version_globals.get('__version__', '0.1.4'),
22
+ 'author': version_globals.get('__author__', 'SAGE Team'),
23
+ 'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
24
+ }
25
+
26
+ # 默认值
27
+ return {
28
+ 'version': '0.1.4',
29
+ 'author': 'SAGE Team',
30
+ 'email': 'shuhao_zhang@hust.edu.cn'
31
+ }
32
+
33
+ # 加载信息
34
+ _info = _load_version()
35
+ __version__ = _info['version']
36
+ __author__ = _info['author']
37
+ __email__ = _info['email']
@@ -0,0 +1,167 @@
1
+ # file: sage.middleware.services.neuromem./memory_collection/base_collection.py
2
+ # python -m sage.core.sage.middleware.services.neuromem.memory_collection.base_collection
3
+
4
+ import os
5
+ import hashlib
6
+ from dotenv import load_dotenv
7
+ from typing import Dict, Optional, Callable, Any, List
8
+ from sage.middleware.components.neuromem.utils.path_utils import get_default_data_dir
9
+ from sage.middleware.components.neuromem.storage_engine.metadata_storage import MetadataStorage
10
+ from sage.middleware.components.neuromem.storage_engine.text_storage import TextStorage
11
+
12
+ # from sage.middleware.services.neuromem..storage_engine.text_storage import TextStorage
13
+ # from sage.middleware.services.neuromem..storage_engine.metadata_storage import MetadataStorage
14
+
15
+
16
+
17
+
18
+ # 加载工程根目录下 sage/.env 配置
19
+ # Load configuration from .env file under the sage directory
20
+ # load_dotenv(dotenv_path=os.path.join(os.path.dirname(__file__), '../../../.env'))
21
+
22
+ class BaseMemoryCollection:
23
+ """
24
+ Base memory collection with support for raw text and metadata management.
25
+ 支持原始文本和元数据管理的基础内存集合类。
26
+ """
27
+
28
+ def __init__(self, name: str):
29
+ self.name = name
30
+ self.text_storage = TextStorage()
31
+ self.metadata_storage = MetadataStorage()
32
+
33
+ def _get_stable_id(self, raw_text: str) -> str:
34
+ """
35
+ Generate stable ID from raw text using SHA256.
36
+ 使用 SHA256 生成稳定的文本 ID。
37
+ """
38
+ return hashlib.sha256(raw_text.encode("utf-8")).hexdigest()
39
+
40
+ def filter_ids(
41
+ self,
42
+ ids: List[str],
43
+ metadata_filter_func: Optional[Callable[[Dict[str, Any]], bool]] = None,
44
+ **metadata_conditions
45
+ ) -> List[str]:
46
+ """
47
+ Filter given IDs based on metadata filter rag or exact match conditions.
48
+ 基于元数据过滤函数或条件筛选给定ID列表中的条目。
49
+ """
50
+ matched_ids = []
51
+
52
+ for item_id in ids:
53
+ metadata = self.metadata_storage.get(item_id)
54
+
55
+ if metadata_filter_func:
56
+ if metadata_filter_func(metadata):
57
+ matched_ids.append(item_id)
58
+ else:
59
+ if all(metadata.get(k) == v for k, v in metadata_conditions.items()):
60
+ matched_ids.append(item_id)
61
+
62
+ return matched_ids
63
+
64
+ def get_all_ids(self) -> List[str]:
65
+ """
66
+ Get all stored item IDs.
67
+ 获取所有存储的条目ID。
68
+ """
69
+ return self.text_storage.get_all_ids()
70
+ # return list(self.text_storage._store.keys())
71
+
72
+ def add_metadata_field(self, field_name: str):
73
+ """
74
+ Register a metadata field.
75
+ 注册一个元数据字段。
76
+ """
77
+ self.metadata_storage.add_field(field_name)
78
+
79
+ def insert(self, raw_text: str, metadata: Optional[Dict[str, Any]] = None) -> str:
80
+ """
81
+ Store raw text with optional metadata.
82
+ 存储原始文本与可选的元数据。自动注册未知的元数据字段。
83
+ """
84
+ stable_id = self._get_stable_id(raw_text)
85
+ self.text_storage.store(stable_id, raw_text)
86
+
87
+ if metadata:
88
+ # 自动注册所有未知的元数据字段
89
+ for field_name in metadata.keys():
90
+ if not self.metadata_storage.has_field(field_name):
91
+ self.metadata_storage.add_field(field_name)
92
+
93
+ self.metadata_storage.store(stable_id, metadata)
94
+
95
+ return stable_id
96
+
97
+ def retrieve(
98
+ self,
99
+ with_metadata: bool = False,
100
+ metadata_filter_func: Optional[Callable[[Dict[str, Any]], bool]] = None,
101
+ **metadata_conditions
102
+ ):
103
+ """
104
+ Retrieve raw texts optionally filtered by metadata.
105
+ 根据元数据(条件或函数)检索原始文本。
106
+ """
107
+ all_ids = self.get_all_ids()
108
+ matched_ids = self.filter_ids(all_ids, metadata_filter_func, **metadata_conditions)
109
+ # return [self.text_storage.get(i) for i in matched_ids]
110
+ if with_metadata:
111
+ return [{"text": self.text_storage.get(i), "metadata": self.metadata_storage.get(i)} for i in matched_ids]
112
+ else:
113
+ return [self.text_storage.get(i) for i in matched_ids]
114
+
115
+ def clear(self):
116
+ """
117
+ Clear all stored text and metadata.
118
+ 清空所有存储的文本和元数据。
119
+ """
120
+ self.text_storage.clear()
121
+ self.metadata_storage.clear()
122
+
123
+ if __name__ == "__main__":
124
+
125
+ def basetest():
126
+ import time
127
+ from datetime import datetime
128
+ col = BaseMemoryCollection("demo")
129
+ col.add_metadata_field("source")
130
+ col.add_metadata_field("lang")
131
+ col.add_metadata_field("timestamp") # 添加时间戳字段
132
+
133
+ # 添加带时间戳的数据
134
+ current_time = time.time()
135
+ col.insert("hello world", {"source": "user", "lang": "en", "timestamp": current_time - 3600}) # 1小时前
136
+ col.insert("你好,世界", {"source": "user", "lang": "zh", "timestamp": current_time - 1800}) # 30分钟前
137
+ col.insert("bonjour le monde", {"source": "web", "lang": "fr", "timestamp": current_time}) # 现在
138
+
139
+ print("=== Filter by keyword ===")
140
+ res1 = col.retrieve(source="user")
141
+ for r in res1:
142
+ print(r)
143
+
144
+ print("\n=== Filter by custom rag (language) ===")
145
+ res2 = col.retrieve(metadata_filter_func=lambda m: m.get("lang") in {"zh", "fr"})
146
+ for r in res2:
147
+ print(r)
148
+
149
+ print(f"\nCurrent time: {datetime.fromtimestamp(current_time)}")
150
+
151
+ print("\n=== Filter by timestamp (last 45 minutes) ===")
152
+ time_threshold = current_time - 2700 # 45分钟前
153
+ matched_ids = col.filter_ids(col.get_all_ids(), metadata_filter_func=lambda m: m.get("timestamp", 0) > time_threshold)
154
+ for item_id in matched_ids:
155
+ text = col.text_storage.get(item_id)
156
+ metadata = col.metadata_storage.get(item_id)
157
+ print(f"{text} (timestamp: {datetime.fromtimestamp(metadata['timestamp']).strftime('%Y-%m-%d %H:%M:%S')})")
158
+
159
+ print("\n=== Filter by timestamp range (30-60 minutes ago) ===")
160
+ start_time = current_time - 3600 # 1小时前
161
+ end_time = current_time - 1800 # 30分钟前
162
+ matched_ids = col.filter_ids(col.get_all_ids(), metadata_filter_func=lambda m: start_time <= m.get("timestamp", 0) <= end_time)
163
+ for item_id in matched_ids:
164
+ text = col.text_storage.get(item_id)
165
+ metadata = col.metadata_storage.get(item_id)
166
+ print(f"{text} (timestamp: {datetime.fromtimestamp(metadata['timestamp']).strftime('%Y-%m-%d %H:%M:%S')})")
167
+
@@ -0,0 +1,11 @@
1
+ # file sage/core/sage.middleware.services.neuromem./memory_collection/graph_collection.py
2
+ from sage.middleware.components.neuromem.memory_collection.base_collection import BaseMemoryCollection
3
+ from sage.middleware.components.neuromem.utils.path_utils import get_default_data_dir
4
+
5
+ class GraphMemoryCollection(BaseMemoryCollection):
6
+ pass
7
+
8
+ @classmethod
9
+ def load(cls, a, b):
10
+ pass
11
+