isage-middleware 0.1.3.1__py3-none-any.whl → 0.2.0.0__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.
Files changed (464) hide show
  1. isage_middleware-0.2.0.0.dist-info/METADATA +258 -0
  2. isage_middleware-0.2.0.0.dist-info/RECORD +186 -0
  3. sage/middleware/__init__.py +56 -53
  4. sage/middleware/__init__.pyc +0 -0
  5. sage/middleware/__pycache__/__init__.cpython-311.pyc +0 -0
  6. sage/middleware/__pycache__/_version.cpython-311.pyc +0 -0
  7. sage/middleware/_version.py +4 -36
  8. sage/middleware/_version.pyc +0 -0
  9. sage/middleware/components/__init__.py +26 -0
  10. sage/middleware/components/__init__.pyc +0 -0
  11. sage/middleware/components/__pycache__/__init__.cpython-311.pyc +0 -0
  12. sage/middleware/components/__pycache__/extensions_compat.cpython-311.pyc +0 -0
  13. sage/middleware/components/extensions_compat.pyc +0 -0
  14. sage/middleware/components/sage_db/__init__.py +114 -54
  15. sage/middleware/components/sage_db/__init__.pyc +0 -0
  16. sage/middleware/components/sage_db/__pycache__/__init__.cpython-311.pyc +0 -0
  17. sage/middleware/components/sage_db/__pycache__/backend.cpython-311.pyc +0 -0
  18. sage/middleware/components/sage_db/backend.pyc +0 -0
  19. sage/middleware/components/sage_db/service.pyc +0 -0
  20. sage/middleware/components/sage_flow/__init__.py +76 -0
  21. sage/middleware/components/sage_flow/__init__.pyc +0 -0
  22. sage/middleware/components/sage_flow/__pycache__/__init__.cpython-311.pyc +0 -0
  23. sage/middleware/components/sage_flow/examples/basic_service.pyc +0 -0
  24. sage/middleware/components/sage_flow/python/__init__.py +14 -0
  25. sage/middleware/components/sage_flow/python/__init__.pyc +0 -0
  26. sage/middleware/components/sage_flow/python/__pycache__/__init__.cpython-311.pyc +0 -0
  27. sage/middleware/components/sage_flow/python/__pycache__/sage_flow.cpython-311.pyc +0 -0
  28. sage/middleware/components/sage_flow/python/micro_service/__init__.py +4 -0
  29. sage/middleware/components/sage_flow/python/micro_service/__init__.pyc +0 -0
  30. sage/middleware/components/sage_flow/python/micro_service/__pycache__/__init__.cpython-311.pyc +0 -0
  31. sage/middleware/components/sage_flow/python/micro_service/__pycache__/sage_flow_service.cpython-311.pyc +0 -0
  32. sage/middleware/components/sage_flow/python/micro_service/sage_flow_service.pyc +0 -0
  33. sage/middleware/components/sage_flow/python/sage_flow.pyc +0 -0
  34. sage/middleware/components/sage_flow/service.pyc +0 -0
  35. sage/middleware/components/sage_mem/__init__.py +83 -0
  36. sage/middleware/components/sage_mem/__init__.pyc +0 -0
  37. sage/middleware/components/sage_mem/__pycache__/__init__.cpython-311.pyc +0 -0
  38. sage/middleware/components/sage_refiner/__init__.py +103 -0
  39. sage/middleware/components/sage_refiner/__init__.pyc +0 -0
  40. sage/middleware/components/sage_refiner/__pycache__/__init__.cpython-311.pyc +0 -0
  41. sage/middleware/components/sage_refiner/examples/basic_usage.pyc +0 -0
  42. sage/middleware/components/sage_refiner/examples/context_service_demo.pyc +0 -0
  43. sage/middleware/components/sage_refiner/examples/rag_integration.pyc +0 -0
  44. sage/middleware/components/sage_refiner/python/__init__.py +38 -0
  45. sage/middleware/components/sage_refiner/python/__init__.pyc +0 -0
  46. sage/middleware/components/sage_refiner/python/__pycache__/__init__.cpython-311.pyc +0 -0
  47. sage/middleware/components/sage_refiner/python/__pycache__/context_service.cpython-311.pyc +0 -0
  48. sage/middleware/components/sage_refiner/python/__pycache__/service.cpython-311.pyc +0 -0
  49. sage/middleware/components/sage_refiner/python/adapter.pyc +0 -0
  50. sage/middleware/components/sage_refiner/python/context_service.pyc +0 -0
  51. sage/middleware/components/sage_refiner/python/service.pyc +0 -0
  52. sage/middleware/components/sage_tsdb/__init__.py +81 -0
  53. sage/middleware/components/sage_tsdb/__init__.pyc +0 -0
  54. sage/middleware/components/sage_tsdb/__pycache__/__init__.cpython-311.pyc +0 -0
  55. sage/middleware/components/sage_tsdb/examples/basic_usage.pyc +0 -0
  56. sage/middleware/components/sage_tsdb/examples/service_demo.pyc +0 -0
  57. sage/middleware/components/sage_tsdb/examples/stream_join_demo.pyc +0 -0
  58. sage/middleware/components/sage_tsdb/python/__init__.py +21 -0
  59. sage/middleware/components/sage_tsdb/python/__init__.pyc +0 -0
  60. sage/middleware/components/sage_tsdb/python/__pycache__/__init__.cpython-311.pyc +0 -0
  61. sage/middleware/components/sage_tsdb/python/__pycache__/sage_tsdb.cpython-311.pyc +0 -0
  62. sage/middleware/components/sage_tsdb/python/_sage_tsdb.cpython-311-x86_64-linux-gnu.so +0 -0
  63. sage/middleware/components/sage_tsdb/python/_sage_tsdb.pyi +17 -0
  64. sage/middleware/components/sage_tsdb/python/algorithms/__init__.py +17 -0
  65. sage/middleware/components/sage_tsdb/python/algorithms/__init__.pyc +0 -0
  66. sage/middleware/components/sage_tsdb/python/algorithms/__pycache__/__init__.cpython-311.pyc +0 -0
  67. sage/middleware/components/sage_tsdb/python/algorithms/__pycache__/base.cpython-311.pyc +0 -0
  68. sage/middleware/components/sage_tsdb/python/algorithms/__pycache__/out_of_order_join.cpython-311.pyc +0 -0
  69. sage/middleware/components/sage_tsdb/python/algorithms/__pycache__/window_aggregator.cpython-311.pyc +0 -0
  70. sage/middleware/components/sage_tsdb/python/algorithms/base.pyc +0 -0
  71. sage/middleware/components/sage_tsdb/python/algorithms/out_of_order_join.pyc +0 -0
  72. sage/middleware/components/sage_tsdb/python/algorithms/window_aggregator.pyc +0 -0
  73. sage/middleware/components/sage_tsdb/python/libsage_tsdb_algorithms.so +0 -0
  74. sage/middleware/components/sage_tsdb/python/libsage_tsdb_core.so +0 -0
  75. sage/middleware/components/sage_tsdb/python/micro_service/__init__.py +7 -0
  76. sage/middleware/components/sage_tsdb/python/micro_service/__init__.pyc +0 -0
  77. sage/middleware/components/sage_tsdb/python/micro_service/__pycache__/__init__.cpython-311.pyc +0 -0
  78. sage/middleware/components/sage_tsdb/python/micro_service/__pycache__/sage_tsdb_service.cpython-311.pyc +0 -0
  79. sage/middleware/components/sage_tsdb/python/micro_service/sage_tsdb_service.pyc +0 -0
  80. sage/middleware/components/sage_tsdb/python/sage_tsdb.pyc +0 -0
  81. sage/middleware/components/sage_tsdb/service.pyc +0 -0
  82. sage/middleware/operators/__init__.py +32 -0
  83. sage/middleware/operators/__init__.pyc +0 -0
  84. sage/middleware/operators/__pycache__/__init__.cpython-311.pyc +0 -0
  85. sage/middleware/operators/agent/__init__.py +9 -0
  86. sage/middleware/operators/agent/__init__.pyc +0 -0
  87. sage/middleware/operators/agent/__pycache__/__init__.cpython-311.pyc +0 -0
  88. sage/middleware/operators/agent/__pycache__/runtime.cpython-311.pyc +0 -0
  89. sage/middleware/operators/agent/planning/__init__.py +5 -0
  90. sage/middleware/operators/agent/planning/__init__.pyc +0 -0
  91. sage/middleware/operators/agent/planning/__pycache__/__init__.cpython-311.pyc +0 -0
  92. sage/middleware/operators/agent/planning/__pycache__/llm_adapter.cpython-311.pyc +0 -0
  93. sage/middleware/operators/agent/planning/__pycache__/planner_adapter.cpython-311.pyc +0 -0
  94. sage/middleware/operators/agent/planning/__pycache__/router.cpython-311.pyc +0 -0
  95. sage/middleware/operators/agent/planning/llm_adapter.pyc +0 -0
  96. sage/middleware/operators/agent/planning/planner_adapter.pyc +0 -0
  97. sage/middleware/operators/agent/planning/router.pyc +0 -0
  98. sage/middleware/operators/agent/runtime.pyc +0 -0
  99. sage/middleware/operators/agentic/__init__.py +20 -0
  100. sage/middleware/operators/agentic/__init__.pyc +0 -0
  101. sage/middleware/operators/agentic/__pycache__/__init__.cpython-311.pyc +0 -0
  102. sage/middleware/operators/agentic/__pycache__/planning_operator.cpython-311.pyc +0 -0
  103. sage/middleware/operators/agentic/__pycache__/refined_searcher.cpython-311.pyc +0 -0
  104. sage/middleware/operators/agentic/__pycache__/runtime.cpython-311.pyc +0 -0
  105. sage/middleware/operators/agentic/__pycache__/timing_operator.cpython-311.pyc +0 -0
  106. sage/middleware/operators/agentic/__pycache__/tool_selection_operator.cpython-311.pyc +0 -0
  107. sage/middleware/operators/agentic/planning_operator.pyc +0 -0
  108. sage/middleware/operators/agentic/refined_searcher.pyc +0 -0
  109. sage/middleware/operators/agentic/runtime.pyc +0 -0
  110. sage/middleware/operators/agentic/timing_operator.pyc +0 -0
  111. sage/middleware/operators/agentic/tool_selection_operator.pyc +0 -0
  112. sage/middleware/operators/context/__init__.py +17 -0
  113. sage/middleware/operators/context/__init__.pyc +0 -0
  114. sage/middleware/operators/context/__pycache__/__init__.cpython-311.pyc +0 -0
  115. sage/middleware/operators/context/__pycache__/critic_evaluation.cpython-311.pyc +0 -0
  116. sage/middleware/operators/context/__pycache__/model_context.cpython-311.pyc +0 -0
  117. sage/middleware/operators/context/__pycache__/quality_label.cpython-311.pyc +0 -0
  118. sage/middleware/operators/context/__pycache__/search_query_results.cpython-311.pyc +0 -0
  119. sage/middleware/operators/context/__pycache__/search_result.cpython-311.pyc +0 -0
  120. sage/middleware/operators/context/__pycache__/search_session.cpython-311.pyc +0 -0
  121. sage/middleware/operators/context/critic_evaluation.pyc +0 -0
  122. sage/middleware/operators/context/model_context.pyc +0 -0
  123. sage/middleware/operators/context/quality_label.pyc +0 -0
  124. sage/middleware/operators/context/search_query_results.pyc +0 -0
  125. sage/middleware/operators/context/search_result.pyc +0 -0
  126. sage/middleware/operators/context/search_session.pyc +0 -0
  127. sage/middleware/operators/filters/__init__.py +26 -0
  128. sage/middleware/operators/filters/__init__.pyc +0 -0
  129. sage/middleware/operators/filters/__pycache__/__init__.cpython-311.pyc +0 -0
  130. sage/middleware/operators/filters/__pycache__/context_sink.cpython-311.pyc +0 -0
  131. sage/middleware/operators/filters/__pycache__/context_source.cpython-311.pyc +0 -0
  132. sage/middleware/operators/filters/__pycache__/evaluate_filter.cpython-311.pyc +0 -0
  133. sage/middleware/operators/filters/__pycache__/tool_filter.cpython-311.pyc +0 -0
  134. sage/middleware/operators/filters/context_sink.pyc +0 -0
  135. sage/middleware/operators/filters/context_source.pyc +0 -0
  136. sage/middleware/operators/filters/evaluate_filter.pyc +0 -0
  137. sage/middleware/operators/filters/tool_filter.pyc +0 -0
  138. sage/middleware/operators/llm/__init__.py +9 -0
  139. sage/middleware/operators/llm/__init__.pyc +0 -0
  140. sage/middleware/operators/llm/__pycache__/__init__.cpython-311.pyc +0 -0
  141. sage/middleware/operators/llm/__pycache__/vllm_generator.cpython-311.pyc +0 -0
  142. sage/middleware/operators/llm/vllm_generator.pyc +0 -0
  143. sage/middleware/operators/rag/__init__.py +146 -0
  144. sage/middleware/operators/rag/__init__.pyc +0 -0
  145. sage/middleware/operators/rag/__pycache__/__init__.cpython-311.pyc +0 -0
  146. sage/middleware/operators/rag/__pycache__/generator.cpython-311.pyc +0 -0
  147. sage/middleware/operators/rag/arxiv.pyc +0 -0
  148. sage/middleware/operators/rag/chunk.pyc +0 -0
  149. sage/middleware/operators/rag/document_loaders.pyc +0 -0
  150. sage/middleware/operators/rag/evaluate.pyc +0 -0
  151. sage/middleware/operators/rag/generator.pyc +0 -0
  152. sage/middleware/operators/rag/index_builder/__init__.py +48 -0
  153. sage/middleware/operators/rag/index_builder/__init__.pyc +0 -0
  154. sage/middleware/operators/rag/index_builder/builder.pyc +0 -0
  155. sage/middleware/operators/rag/index_builder/manifest.pyc +0 -0
  156. sage/middleware/operators/rag/index_builder/storage.pyc +0 -0
  157. sage/middleware/operators/rag/pipeline.pyc +0 -0
  158. sage/middleware/operators/rag/profiler.pyc +0 -0
  159. sage/middleware/operators/rag/promptor.pyc +0 -0
  160. sage/middleware/operators/rag/refiner.pyc +0 -0
  161. sage/middleware/operators/rag/reranker.pyc +0 -0
  162. sage/middleware/operators/rag/retriever.pyc +0 -0
  163. sage/middleware/operators/rag/searcher.pyc +0 -0
  164. sage/middleware/operators/rag/types.pyc +0 -0
  165. sage/middleware/operators/rag/writer.pyc +0 -0
  166. sage/middleware/operators/tools/__init__.py +28 -0
  167. sage/middleware/operators/tools/__init__.pyc +0 -0
  168. sage/middleware/operators/tools/__pycache__/__init__.cpython-311.pyc +0 -0
  169. sage/middleware/operators/tools/__pycache__/arxiv_paper_searcher.cpython-311.pyc +0 -0
  170. sage/middleware/operators/tools/__pycache__/arxiv_searcher.cpython-311.pyc +0 -0
  171. sage/middleware/operators/tools/__pycache__/image_captioner.cpython-311.pyc +0 -0
  172. sage/middleware/operators/tools/__pycache__/nature_news_fetcher.cpython-311.pyc +0 -0
  173. sage/middleware/operators/tools/__pycache__/searcher_tool.cpython-311.pyc +0 -0
  174. sage/middleware/operators/tools/__pycache__/text_detector.cpython-311.pyc +0 -0
  175. sage/middleware/operators/tools/__pycache__/url_text_extractor.cpython-311.pyc +0 -0
  176. sage/middleware/operators/tools/arxiv_paper_searcher.pyc +0 -0
  177. sage/middleware/operators/tools/arxiv_searcher.pyc +0 -0
  178. sage/middleware/operators/tools/duckduckgo_searcher.pyc +0 -0
  179. sage/middleware/operators/tools/image_captioner.pyc +0 -0
  180. sage/middleware/operators/tools/nature_news_fetcher.pyc +0 -0
  181. sage/middleware/operators/tools/searcher_tool.pyc +0 -0
  182. sage/middleware/operators/tools/text_detector.pyc +0 -0
  183. sage/middleware/operators/tools/url_text_extractor.pyc +0 -0
  184. isage_middleware-0.1.3.1.dist-info/METADATA +0 -115
  185. isage_middleware-0.1.3.1.dist-info/RECORD +0 -288
  186. sage/middleware/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  187. sage/middleware/__pycache__/_version.cpython-311.opt-2.pyc +0 -0
  188. sage/middleware/api/__init__.py +0 -56
  189. sage/middleware/api/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  190. sage/middleware/api/__pycache__/__init__.cpython-311.pyc +0 -0
  191. sage/middleware/api/__pycache__/graph_api.cpython-311.opt-2.pyc +0 -0
  192. sage/middleware/api/__pycache__/graph_api.cpython-311.pyc +0 -0
  193. sage/middleware/api/__pycache__/kv_api.cpython-311.opt-2.pyc +0 -0
  194. sage/middleware/api/__pycache__/kv_api.cpython-311.pyc +0 -0
  195. sage/middleware/api/__pycache__/memory_api.cpython-311.opt-2.pyc +0 -0
  196. sage/middleware/api/__pycache__/memory_api.cpython-311.pyc +0 -0
  197. sage/middleware/api/__pycache__/vdb_api.cpython-311.opt-2.pyc +0 -0
  198. sage/middleware/api/__pycache__/vdb_api.cpython-311.pyc +0 -0
  199. sage/middleware/api/graph_api.py +0 -74
  200. sage/middleware/api/kv_api.py +0 -45
  201. sage/middleware/api/memory_api.py +0 -64
  202. sage/middleware/api/vdb_api.py +0 -60
  203. sage/middleware/components/enterprise/__init__.py +0 -56
  204. sage/middleware/components/enterprise/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  205. sage/middleware/components/enterprise/__pycache__/__init__.cpython-311.pyc +0 -0
  206. sage/middleware/components/neuromem/__init__.py +0 -56
  207. sage/middleware/components/neuromem/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  208. sage/middleware/components/neuromem/__pycache__/__init__.cpython-311.pyc +0 -0
  209. sage/middleware/components/neuromem/__pycache__/memory_manager.cpython-311.opt-2.pyc +0 -0
  210. sage/middleware/components/neuromem/__pycache__/memory_manager.cpython-311.pyc +0 -0
  211. sage/middleware/components/neuromem/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
  212. sage/middleware/components/neuromem/__pycache__/memory_service.cpython-311.pyc +0 -0
  213. sage/middleware/components/neuromem/memory_collection/__init__.py +0 -56
  214. sage/middleware/components/neuromem/memory_collection/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  215. sage/middleware/components/neuromem/memory_collection/__pycache__/__init__.cpython-311.pyc +0 -0
  216. sage/middleware/components/neuromem/memory_collection/__pycache__/base_collection.cpython-311.opt-2.pyc +0 -0
  217. sage/middleware/components/neuromem/memory_collection/__pycache__/base_collection.cpython-311.pyc +0 -0
  218. sage/middleware/components/neuromem/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
  219. sage/middleware/components/neuromem/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
  220. sage/middleware/components/neuromem/memory_collection/__pycache__/kv_collection.cpython-311.opt-2.pyc +0 -0
  221. sage/middleware/components/neuromem/memory_collection/__pycache__/kv_collection.cpython-311.pyc +0 -0
  222. sage/middleware/components/neuromem/memory_collection/__pycache__/vdb_collection.cpython-311.opt-2.pyc +0 -0
  223. sage/middleware/components/neuromem/memory_collection/__pycache__/vdb_collection.cpython-311.pyc +0 -0
  224. sage/middleware/components/neuromem/memory_collection/base_collection.py +0 -167
  225. sage/middleware/components/neuromem/memory_collection/graph_collection.py +0 -11
  226. sage/middleware/components/neuromem/memory_collection/kv_collection.py +0 -709
  227. sage/middleware/components/neuromem/memory_collection/vdb_collection.py +0 -922
  228. sage/middleware/components/neuromem/memory_manager.py +0 -401
  229. sage/middleware/components/neuromem/memory_service.py +0 -324
  230. sage/middleware/components/neuromem/micro_service/__init__.py +0 -56
  231. sage/middleware/components/neuromem/micro_service/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  232. sage/middleware/components/neuromem/micro_service/__pycache__/__init__.cpython-311.pyc +0 -0
  233. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb.cpython-311.opt-2.pyc +0 -0
  234. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb.cpython-311.pyc +0 -0
  235. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb_service.cpython-311.opt-2.pyc +0 -0
  236. sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb_service.cpython-311.pyc +0 -0
  237. sage/middleware/components/neuromem/micro_service/neuromem_vdb.py +0 -198
  238. sage/middleware/components/neuromem/micro_service/neuromem_vdb_service.py +0 -118
  239. sage/middleware/components/neuromem/search_engine/__init__.py +0 -56
  240. sage/middleware/components/neuromem/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  241. sage/middleware/components/neuromem/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  242. sage/middleware/components/neuromem/search_engine/graph_index/__init__.py +0 -56
  243. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  244. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.pyc +0 -0
  245. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
  246. sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/base_graph_index.cpython-311.pyc +0 -0
  247. sage/middleware/components/neuromem/search_engine/graph_index/base_graph_index.py +0 -40
  248. sage/middleware/components/neuromem/search_engine/hybird_index/__init__.py +0 -56
  249. sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  250. sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.pyc +0 -0
  251. sage/middleware/components/neuromem/search_engine/kv_index/__init__.py +0 -56
  252. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  253. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/__init__.cpython-311.pyc +0 -0
  254. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/base_kv_index.cpython-311.opt-2.pyc +0 -0
  255. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/base_kv_index.cpython-311.pyc +0 -0
  256. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/bm25s_index.cpython-311.opt-2.pyc +0 -0
  257. sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/bm25s_index.cpython-311.pyc +0 -0
  258. sage/middleware/components/neuromem/search_engine/kv_index/base_kv_index.py +0 -76
  259. sage/middleware/components/neuromem/search_engine/kv_index/bm25s_index.py +0 -320
  260. sage/middleware/components/neuromem/search_engine/vdb_index/__init__.py +0 -56
  261. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  262. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/__init__.cpython-311.pyc +0 -0
  263. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
  264. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
  265. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
  266. sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/faiss_index.cpython-311.pyc +0 -0
  267. sage/middleware/components/neuromem/search_engine/vdb_index/base_vdb_index.py +0 -53
  268. sage/middleware/components/neuromem/search_engine/vdb_index/faiss_index.py +0 -700
  269. sage/middleware/components/neuromem/storage_engine/__init__.py +0 -56
  270. sage/middleware/components/neuromem/storage_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  271. sage/middleware/components/neuromem/storage_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  272. sage/middleware/components/neuromem/storage_engine/__pycache__/metadata_storage.cpython-311.opt-2.pyc +0 -0
  273. sage/middleware/components/neuromem/storage_engine/__pycache__/metadata_storage.cpython-311.pyc +0 -0
  274. sage/middleware/components/neuromem/storage_engine/__pycache__/text_storage.cpython-311.opt-2.pyc +0 -0
  275. sage/middleware/components/neuromem/storage_engine/__pycache__/text_storage.cpython-311.pyc +0 -0
  276. sage/middleware/components/neuromem/storage_engine/__pycache__/vector_storage.cpython-311.opt-2.pyc +0 -0
  277. sage/middleware/components/neuromem/storage_engine/__pycache__/vector_storage.cpython-311.pyc +0 -0
  278. sage/middleware/components/neuromem/storage_engine/kv_backend/__init__.py +0 -56
  279. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  280. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/__init__.cpython-311.pyc +0 -0
  281. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/base_kv_backend.cpython-311.opt-2.pyc +0 -0
  282. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/base_kv_backend.cpython-311.pyc +0 -0
  283. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/dict_kv_backend.cpython-311.opt-2.pyc +0 -0
  284. sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/dict_kv_backend.cpython-311.pyc +0 -0
  285. sage/middleware/components/neuromem/storage_engine/kv_backend/base_kv_backend.py +0 -65
  286. sage/middleware/components/neuromem/storage_engine/kv_backend/dict_kv_backend.py +0 -54
  287. sage/middleware/components/neuromem/storage_engine/metadata_storage.py +0 -260
  288. sage/middleware/components/neuromem/storage_engine/text_storage.py +0 -106
  289. sage/middleware/components/neuromem/storage_engine/vector_storage.py +0 -85
  290. sage/middleware/components/neuromem/tests/__init__.py +0 -56
  291. sage/middleware/components/neuromem/tests/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  292. sage/middleware/components/neuromem/tests/__pycache__/__init__.cpython-311.pyc +0 -0
  293. sage/middleware/components/neuromem/tests/__pycache__/test_memory_service.cpython-311.opt-2.pyc +0 -0
  294. sage/middleware/components/neuromem/tests/__pycache__/test_memory_service.cpython-311.pyc +0 -0
  295. sage/middleware/components/neuromem/tests/core_test/__init__.py +0 -56
  296. sage/middleware/components/neuromem/tests/core_test/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  297. sage/middleware/components/neuromem/tests/core_test/__pycache__/__init__.cpython-311.pyc +0 -0
  298. sage/middleware/components/neuromem/tests/core_test/collection_test/__init__.py +0 -56
  299. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  300. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/__init__.cpython-311.pyc +0 -0
  301. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/kv_collection_test.cpython-311.opt-2.pyc +0 -0
  302. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/kv_collection_test.cpython-311.pyc +0 -0
  303. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/vdb_collection_test.cpython-311.opt-2.pyc +0 -0
  304. sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/vdb_collection_test.cpython-311.pyc +0 -0
  305. sage/middleware/components/neuromem/tests/core_test/collection_test/kv_collection_test.py +0 -60
  306. sage/middleware/components/neuromem/tests/core_test/collection_test/vdb_collection_test.py +0 -88
  307. sage/middleware/components/neuromem/tests/core_test/manager_test.py +0 -154
  308. sage/middleware/components/neuromem/tests/test_memory_service.py +0 -293
  309. sage/middleware/components/neuromem/utils/__init__.py +0 -56
  310. sage/middleware/components/neuromem/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  311. sage/middleware/components/neuromem/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  312. sage/middleware/components/neuromem/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
  313. sage/middleware/components/neuromem/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
  314. sage/middleware/components/neuromem/utils/path_utils.py +0 -25
  315. sage/middleware/components/sage_db/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  316. sage/middleware/components/sage_db/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
  317. sage/middleware/components/sage_db/__pycache__/sage_db.cpython-311.pyc +0 -0
  318. sage/middleware/components/sage_db/python/__init__.py +0 -56
  319. sage/middleware/components/sage_db/python/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  320. sage/middleware/components/sage_db/python/__pycache__/__init__.cpython-311.pyc +0 -0
  321. sage/middleware/components/sage_db/python/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
  322. sage/middleware/components/sage_db/python/__pycache__/sage_db.cpython-311.pyc +0 -0
  323. sage/middleware/components/sage_db/python/sage_db.py +0 -44
  324. sage/middleware/components/sage_db/sage_db.py +0 -187
  325. sage/middleware/components/sage_db/tests/__pycache__/test_python.cpython-311.opt-2.pyc +0 -0
  326. sage/middleware/components/sage_db/tests/__pycache__/test_python.cpython-311.pyc +0 -0
  327. sage/middleware/components/sage_db/tests/test_python.py +0 -144
  328. sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.opt-2.pyc +0 -0
  329. sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.pyc +0 -0
  330. sage/middleware/examples/__pycache__/microservices_demo.cpython-311.opt-2.pyc +0 -0
  331. sage/middleware/examples/__pycache__/microservices_demo.cpython-311.pyc +0 -0
  332. sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.opt-2.pyc +0 -0
  333. sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.pyc +0 -0
  334. sage/middleware/examples/api_usage_tutorial.py +0 -339
  335. sage/middleware/examples/dag_microservices_demo.py +0 -219
  336. sage/middleware/examples/microservices_demo.py +0 -0
  337. sage/middleware/examples/microservices_integration_demo.py +0 -370
  338. sage/middleware/examples/microservices_registration_demo.py +0 -140
  339. sage/middleware/services/__init__.py +0 -56
  340. sage/middleware/services/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  341. sage/middleware/services/__pycache__/__init__.cpython-311.pyc +0 -0
  342. sage/middleware/services/graph/__init__.py +0 -56
  343. sage/middleware/services/graph/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  344. sage/middleware/services/graph/__pycache__/__init__.cpython-311.pyc +0 -0
  345. sage/middleware/services/graph/__pycache__/graph_index.cpython-311.opt-2.pyc +0 -0
  346. sage/middleware/services/graph/__pycache__/graph_index.cpython-311.pyc +0 -0
  347. sage/middleware/services/graph/__pycache__/graph_service.cpython-311.opt-2.pyc +0 -0
  348. sage/middleware/services/graph/__pycache__/graph_service.cpython-311.pyc +0 -0
  349. sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.opt-2.pyc +0 -0
  350. sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.pyc +0 -0
  351. sage/middleware/services/graph/examples/graph_demo.py +0 -178
  352. sage/middleware/services/graph/graph_index.py +0 -194
  353. sage/middleware/services/graph/graph_service.py +0 -609
  354. sage/middleware/services/graph/search_engine/__init__.py +0 -56
  355. sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  356. sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  357. sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
  358. sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.pyc +0 -0
  359. sage/middleware/services/graph/search_engine/base_graph_index.py +0 -0
  360. sage/middleware/services/kv/__init__.py +0 -56
  361. sage/middleware/services/kv/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  362. sage/middleware/services/kv/__pycache__/__init__.cpython-311.pyc +0 -0
  363. sage/middleware/services/kv/__pycache__/kv_service.cpython-311.opt-2.pyc +0 -0
  364. sage/middleware/services/kv/__pycache__/kv_service.cpython-311.pyc +0 -0
  365. sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.opt-2.pyc +0 -0
  366. sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.pyc +0 -0
  367. sage/middleware/services/kv/examples/kv_demo.py +0 -213
  368. sage/middleware/services/kv/kv_service.py +0 -306
  369. sage/middleware/services/kv/search_engine/__init__.py +0 -56
  370. sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  371. sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  372. sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.opt-2.pyc +0 -0
  373. sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.pyc +0 -0
  374. sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.opt-2.pyc +0 -0
  375. sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.pyc +0 -0
  376. sage/middleware/services/kv/search_engine/base_kv_index.py +0 -75
  377. sage/middleware/services/kv/search_engine/bm25s_index.py +0 -238
  378. sage/middleware/services/memory/__init__.py +0 -56
  379. sage/middleware/services/memory/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  380. sage/middleware/services/memory/__pycache__/__init__.cpython-311.pyc +0 -0
  381. sage/middleware/services/memory/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
  382. sage/middleware/services/memory/__pycache__/memory_service.cpython-311.pyc +0 -0
  383. sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.opt-2.pyc +0 -0
  384. sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.pyc +0 -0
  385. sage/middleware/services/memory/examples/dag_microservices_demo.py +0 -219
  386. sage/middleware/services/memory/examples/memory_demo.py +0 -490
  387. sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
  388. sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
  389. sage/middleware/services/memory/memory_collection/graph_collection.py +0 -0
  390. sage/middleware/services/memory/memory_service.py +0 -477
  391. sage/middleware/services/memory/utils/__init__.py +0 -56
  392. sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  393. sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  394. sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
  395. sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
  396. sage/middleware/services/memory/utils/path_utils.py +0 -0
  397. sage/middleware/services/vdb/__init__.py +0 -56
  398. sage/middleware/services/vdb/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  399. sage/middleware/services/vdb/__pycache__/__init__.cpython-311.pyc +0 -0
  400. sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.opt-2.pyc +0 -0
  401. sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.pyc +0 -0
  402. sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.opt-2.pyc +0 -0
  403. sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.pyc +0 -0
  404. sage/middleware/services/vdb/examples/vdb_demo.py +0 -447
  405. sage/middleware/services/vdb/search_engine/__init__.py +0 -56
  406. sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  407. sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  408. sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
  409. sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
  410. sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
  411. sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.pyc +0 -0
  412. sage/middleware/services/vdb/search_engine/base_vdb_index.py +0 -58
  413. sage/middleware/services/vdb/search_engine/faiss_index.py +0 -461
  414. sage/middleware/services/vdb/vdb_service.py +0 -436
  415. sage/middleware/utils/__init__.py +0 -56
  416. sage/middleware/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  417. sage/middleware/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  418. sage/middleware/utils/embedding/__init__.py +0 -56
  419. sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  420. sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.pyc +0 -0
  421. sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.opt-2.pyc +0 -0
  422. sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.pyc +0 -0
  423. sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.opt-2.pyc +0 -0
  424. sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.pyc +0 -0
  425. sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.opt-2.pyc +0 -0
  426. sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.pyc +0 -0
  427. sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.opt-2.pyc +0 -0
  428. sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.pyc +0 -0
  429. sage/middleware/utils/embedding/__pycache__/hf.cpython-311.opt-2.pyc +0 -0
  430. sage/middleware/utils/embedding/__pycache__/hf.cpython-311.pyc +0 -0
  431. sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.opt-2.pyc +0 -0
  432. sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.pyc +0 -0
  433. sage/middleware/utils/embedding/__pycache__/jina.cpython-311.opt-2.pyc +0 -0
  434. sage/middleware/utils/embedding/__pycache__/jina.cpython-311.pyc +0 -0
  435. sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.opt-2.pyc +0 -0
  436. sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.pyc +0 -0
  437. sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.opt-2.pyc +0 -0
  438. sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.pyc +0 -0
  439. sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.opt-2.pyc +0 -0
  440. sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.pyc +0 -0
  441. sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.opt-2.pyc +0 -0
  442. sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.pyc +0 -0
  443. sage/middleware/utils/embedding/__pycache__/openai.cpython-311.opt-2.pyc +0 -0
  444. sage/middleware/utils/embedding/__pycache__/openai.cpython-311.pyc +0 -0
  445. sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.opt-2.pyc +0 -0
  446. sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.pyc +0 -0
  447. sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.opt-2.pyc +0 -0
  448. sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.pyc +0 -0
  449. sage/middleware/utils/embedding/_cohere.py +0 -68
  450. sage/middleware/utils/embedding/bedrock.py +0 -174
  451. sage/middleware/utils/embedding/embedding_api.py +0 -12
  452. sage/middleware/utils/embedding/embedding_model.py +0 -150
  453. sage/middleware/utils/embedding/hf.py +0 -90
  454. sage/middleware/utils/embedding/instructor.py +0 -10
  455. sage/middleware/utils/embedding/jina.py +0 -115
  456. sage/middleware/utils/embedding/lollms.py +0 -100
  457. sage/middleware/utils/embedding/mockembedder.py +0 -46
  458. sage/middleware/utils/embedding/nvidia_openai.py +0 -97
  459. sage/middleware/utils/embedding/ollama.py +0 -97
  460. sage/middleware/utils/embedding/openai.py +0 -112
  461. sage/middleware/utils/embedding/siliconcloud.py +0 -133
  462. sage/middleware/utils/embedding/zhipu.py +0 -85
  463. {isage_middleware-0.1.3.1.dist-info → isage_middleware-0.2.0.0.dist-info}/WHEEL +0 -0
  464. {isage_middleware-0.1.3.1.dist-info → isage_middleware-0.2.0.0.dist-info}/top_level.txt +0 -0
@@ -1,490 +0,0 @@
1
- """
2
- Memory Service API 使用示例
3
- 展示如何正确使用Memory微服务的API接口进行高级记忆管理
4
- Memory服务作为编排服务,协调KV、VDB和Graph服务
5
- """
6
- import numpy as np
7
- import time
8
- from sage.core.api.local_environment import LocalEnvironment
9
- from sage.middleware.services import (
10
- create_kv_service_factory,
11
- create_vdb_service_factory,
12
- create_graph_service_factory,
13
- create_memory_service_factory
14
- )
15
- from sage.middleware.api.memory_api import MemoryServiceAPI
16
-
17
-
18
- def test_memory_service_api():
19
- """测试Memory服务API的正确使用方式"""
20
- print("🚀 Memory Service API Demo")
21
- print("=" * 60)
22
-
23
- # 创建环境
24
- env = LocalEnvironment("memory_service_demo")
25
-
26
- # 注册所有依赖的微服务
27
- print("📋 Registering microservices...")
28
-
29
- # KV服务
30
- kv_factory = create_kv_service_factory(
31
- service_name="demo_kv",
32
- backend_type="memory",
33
- max_size=10000
34
- )
35
- env.register_service_factory("demo_kv", kv_factory)
36
- print(" ✅ KV Service registered")
37
-
38
- # VDB服务
39
- vdb_factory = create_vdb_service_factory(
40
- service_name="demo_vdb",
41
- embedding_dimension=384,
42
- index_type="IndexFlatL2"
43
- )
44
- env.register_service_factory("demo_vdb", vdb_factory)
45
- print(" ✅ VDB Service registered")
46
-
47
- # Graph服务
48
- graph_factory = create_graph_service_factory(
49
- service_name="demo_graph",
50
- backend_type="memory",
51
- max_nodes=5000
52
- )
53
- env.register_service_factory("demo_graph", graph_factory)
54
- print(" ✅ Graph Service registered")
55
-
56
- # Memory编排服务
57
- memory_factory = create_memory_service_factory(
58
- service_name="demo_memory",
59
- kv_service_name="demo_kv",
60
- vdb_service_name="demo_vdb",
61
- graph_service_name="demo_graph",
62
- enable_knowledge_graph=True
63
- )
64
- print("✅ All microservices registered successfully")
65
-
66
- # 在实际应用中,你需要启动环境并获取服务代理
67
- # env.submit() # 启动环境
68
- # memory_service = env.get_service_proxy("demo_memory")
69
-
70
- # 这里我们演示API接口的预期使用方式
71
- demonstrate_memory_api_usage()
72
-
73
-
74
- def demonstrate_memory_api_usage():
75
- """演示Memory服务API的标准使用模式"""
76
- print("\n📝 Memory Service API Usage Patterns:")
77
- print("-" * 50)
78
-
79
- # 展示API接口
80
- print("💡 Memory Service API Interface (High-level Orchestration):")
81
- print(" class MemoryServiceAPI:")
82
- print(" - store_memory(content, vector, session_id, ...) -> str")
83
- print(" - retrieve_memories(query_vector, session_id, ...) -> List[Dict]")
84
- print(" - get_memory(memory_id) -> Optional[Dict]")
85
- print(" - delete_memory(memory_id) -> bool")
86
- print(" - search_memories(query, session_id, ...) -> List[Dict]")
87
- print(" - get_session_memories(session_id) -> List[Dict]")
88
- print(" - clear_session_memories(session_id) -> bool")
89
-
90
- print("\n📋 Standard Usage Example:")
91
- usage_code = '''
92
- # 1. 获取Memory服务代理(高级编排服务)
93
- memory_service = env.get_service_proxy("demo_memory")
94
-
95
- # 2. 存储对话记忆
96
- session_id = "conversation_001"
97
-
98
- # 存储用户问题
99
- question_memory_id = memory_service.store_memory(
100
- content="用户询问:如何在Python中实现装饰器?",
101
- vector=embed_text("如何在Python中实现装饰器?"), # 假设的embedding函数
102
- session_id=session_id,
103
- memory_type="user_question",
104
- metadata={
105
- "topic": "python",
106
- "difficulty": "intermediate",
107
- "timestamp": time.time()
108
- }
109
- )
110
-
111
- # 存储AI回答
112
- answer_memory_id = memory_service.store_memory(
113
- content="AI回答:装饰器是Python中的高级特性,可以用来修改函数行为...",
114
- vector=embed_text("装饰器是Python中的高级特性..."),
115
- session_id=session_id,
116
- memory_type="ai_response",
117
- metadata={
118
- "topic": "python",
119
- "relates_to": question_memory_id,
120
- "code_examples": True
121
- }
122
- )
123
-
124
- # 3. 基于向量相似性检索相关记忆
125
- query_vector = embed_text("Python函数装饰器的使用方法")
126
- related_memories = memory_service.retrieve_memories(
127
- query_vector=query_vector,
128
- session_id=session_id,
129
- memory_type=None, # 所有类型
130
- top_k=5
131
- )
132
-
133
- # 4. 基于文本搜索记忆
134
- text_search_results = memory_service.search_memories(
135
- query="装饰器",
136
- session_id=session_id,
137
- memory_type="ai_response",
138
- top_k=10
139
- )
140
-
141
- # 5. 获取会话的完整记忆历史
142
- session_history = memory_service.get_session_memories(session_id)
143
-
144
- # 6. 获取特定记忆的详细信息
145
- memory_detail = memory_service.get_memory(question_memory_id)
146
- '''
147
- print(usage_code)
148
-
149
- # 模拟执行结果
150
- print("🎯 Expected Results:")
151
- operations = [
152
- ("store_memory(question)", "'mem_q_uuid_123'"),
153
- ("store_memory(answer)", "'mem_a_uuid_456'"),
154
- ("retrieve_memories(vector)", "[{'id': 'mem_q_123', 'score': 0.94, ...}]"),
155
- ("search_memories('装饰器')", "[{'id': 'mem_a_456', 'content': 'AI回答...', ...}]"),
156
- ("get_session_memories()", "[{'id': 'mem_q_123', ...}, {'id': 'mem_a_456', ...}]"),
157
- ("get_memory('mem_q_123')", "{'id': 'mem_q_123', 'content': '用户询问...', ...}"),
158
- ]
159
-
160
- for operation, result in operations:
161
- print(f" {operation:<30} -> {result}")
162
-
163
-
164
- def demonstrate_advanced_memory_patterns():
165
- """演示Memory服务的高级使用模式"""
166
- print("\n🧠 Advanced Memory Management Patterns:")
167
- print("-" * 50)
168
-
169
- advanced_patterns = '''
170
- # 1. 智能对话上下文管理
171
- class ConversationContextManager:
172
- def __init__(self, memory_service: MemoryServiceAPI):
173
- self.memory = memory_service
174
-
175
- def maintain_context(self, session_id: str, new_message: str,
176
- max_context_memories: int = 10):
177
- """维护对话上下文"""
178
- # 获取最近的记忆作为上下文
179
- recent_memories = self.memory.get_session_memories(session_id)
180
- context_memories = recent_memories[-max_context_memories:]
181
-
182
- # 基于新消息检索相关历史记忆
183
- message_vector = embed_text(new_message)
184
- relevant_memories = self.memory.retrieve_memories(
185
- query_vector=message_vector,
186
- session_id=session_id,
187
- top_k=5
188
- )
189
-
190
- # 组合上下文
191
- full_context = {
192
- "recent_memories": context_memories,
193
- "relevant_memories": relevant_memories,
194
- "current_message": new_message
195
- }
196
-
197
- return full_context
198
-
199
- # 2. 知识图谱增强的记忆检索
200
- class KnowledgeEnhancedRetrieval:
201
- def __init__(self, memory_service: MemoryServiceAPI):
202
- self.memory = memory_service
203
-
204
- def enhanced_retrieval(self, query: str, session_id: str):
205
- """增强的检索:结合向量相似性和知识图谱"""
206
- query_vector = embed_text(query)
207
-
208
- # 第一步:向量相似性检索
209
- vector_results = self.memory.retrieve_memories(
210
- query_vector=query_vector,
211
- session_id=session_id,
212
- top_k=20
213
- )
214
-
215
- # 第二步:文本检索
216
- text_results = self.memory.search_memories(
217
- query=query,
218
- session_id=session_id,
219
- top_k=20
220
- )
221
-
222
- # 第三步:知识图谱扩展(通过Memory服务的Graph集成)
223
- # Memory服务内部会自动利用知识图谱关系
224
-
225
- # 合并和去重结果
226
- all_results = self.merge_and_rank_results(vector_results, text_results)
227
-
228
- return all_results[:10] # 返回top 10
229
-
230
- # 3. 记忆生命周期管理
231
- class MemoryLifecycleManager:
232
- def __init__(self, memory_service: MemoryServiceAPI):
233
- self.memory = memory_service
234
-
235
- def archive_old_memories(self, session_id: str, days_threshold: int = 30):
236
- """归档旧记忆"""
237
- cutoff_time = time.time() - (days_threshold * 24 * 3600)
238
-
239
- all_memories = self.memory.get_session_memories(session_id)
240
- old_memories = [
241
- mem for mem in all_memories
242
- if mem.get("metadata", {}).get("timestamp", 0) < cutoff_time
243
- ]
244
-
245
- # 选择性保留重要记忆
246
- important_memories = self.filter_important_memories(old_memories)
247
- memories_to_delete = [
248
- mem for mem in old_memories if mem not in important_memories
249
- ]
250
-
251
- # 删除不重要的旧记忆
252
- for memory in memories_to_delete:
253
- self.memory.delete_memory(memory["id"])
254
-
255
- return len(memories_to_delete)
256
-
257
- def filter_important_memories(self, memories):
258
- """过滤重要记忆(基于metadata标记、用户反馈等)"""
259
- important = []
260
- for memory in memories:
261
- metadata = memory.get("metadata", {})
262
- if (metadata.get("importance") == "high" or
263
- metadata.get("user_bookmarked") or
264
- metadata.get("memory_type") == "key_insight"):
265
- important.append(memory)
266
- return important
267
-
268
- # 4. 多模态记忆存储
269
- class MultiModalMemoryManager:
270
- def __init__(self, memory_service: MemoryServiceAPI):
271
- self.memory = memory_service
272
-
273
- def store_conversation_turn(self, session_id: str, user_message: str,
274
- ai_response: str, images=None, files=None):
275
- """存储多模态对话轮次"""
276
- turn_id = f"turn_{int(time.time())}"
277
-
278
- # 存储用户消息
279
- user_memory_id = self.memory.store_memory(
280
- content=user_message,
281
- vector=embed_text(user_message),
282
- session_id=session_id,
283
- memory_type="user_message",
284
- metadata={
285
- "turn_id": turn_id,
286
- "has_images": bool(images),
287
- "has_files": bool(files),
288
- "modalities": ["text"] + (["image"] if images else []) + (["file"] if files else [])
289
- }
290
- )
291
-
292
- # 存储AI回应
293
- ai_memory_id = self.memory.store_memory(
294
- content=ai_response,
295
- vector=embed_text(ai_response),
296
- session_id=session_id,
297
- memory_type="ai_response",
298
- metadata={
299
- "turn_id": turn_id,
300
- "responds_to": user_memory_id,
301
- "response_quality": "pending_evaluation"
302
- }
303
- )
304
-
305
- return turn_id, user_memory_id, ai_memory_id
306
- '''
307
- # print(advanced_patterns)
308
- # "vector": np.random.random(384).tolist(),
309
- # "memory_type": "answer",
310
- # "metadata": {"topic": "programming", "language": "python", "complexity": "basic"}
311
- # },
312
- # {
313
- # "content": "用户表示理解了,并询问更高级的主题",
314
- # "vector": np.random.random(384).tolist(),
315
- # "memory_type": "feedback",
316
- # "metadata": {"sentiment": "positive", "next_topic": "advanced"}
317
- # }
318
- # ]
319
-
320
- print(f"\n🧠 Storing memories for session {session_id}:")
321
- memory_ids = []
322
- for i, memory in enumerate(memories):
323
- # memory_id = memory_service.store_memory(
324
- # content=memory["content"],
325
- # vector=memory["vector"],
326
- # session_id=session_id,
327
- # memory_type=memory["memory_type"],
328
- # metadata=memory["metadata"],
329
- # create_knowledge_graph=True
330
- # )
331
- memory_id = f"mem_{i+1}" # 模拟返回的ID
332
- memory_ids.append(memory_id)
333
- print(f" ✅ Stored {memory['memory_type']}: {memory_id}")
334
-
335
- # 模拟记忆搜索
336
- print(f"\n🔍 Searching memories:")
337
- query_vector = np.random.random(384).tolist()
338
-
339
- # search_results = memory_service.search_memories(
340
- # query_vector=query_vector,
341
- # session_id=session_id,
342
- # limit=5,
343
- # include_graph_context=True
344
- # )
345
-
346
- # 模拟搜索结果
347
- search_results = [
348
- {
349
- "id": "mem_2",
350
- "content": "AI助手提供了Python基础语法的详细解释",
351
- "similarity_score": 0.85,
352
- "memory_type": "answer",
353
- "graph_context": {
354
- "related_nodes": ["topic:python", "user:conversation_001"],
355
- "relationships": ["ABOUT", "IN_SESSION"]
356
- }
357
- },
358
- {
359
- "id": "mem_1",
360
- "content": "用户询问了关于Python编程的问题",
361
- "similarity_score": 0.82,
362
- "memory_type": "question",
363
- "graph_context": {
364
- "related_nodes": ["topic:python", "user:conversation_001"],
365
- "relationships": ["ASKS_ABOUT", "IN_SESSION"]
366
- }
367
- }
368
- ]
369
-
370
- print(f" 📖 Found {len(search_results)} relevant memories:")
371
- for result in search_results:
372
- print(f" - {result['memory_type']}: {result['content'][:50]}...")
373
- print(f" 相似度: {result['similarity_score']:.3f}")
374
- print(f" 图上下文: {len(result['graph_context']['related_nodes'])} 相关节点")
375
-
376
- # 模拟会话记忆分析
377
- print(f"\n📊 Session Analysis:")
378
-
379
- # session_analysis = memory_service.get_session_memories(
380
- # session_id=session_id,
381
- # include_graph_analysis=True
382
- # )
383
-
384
- session_analysis = {
385
- "session_id": session_id,
386
- "memory_count": 3,
387
- "memory_types": {"question": 1, "answer": 1, "feedback": 1},
388
- "graph_analysis": {
389
- "topics_discussed": ["python", "programming"],
390
- "conversation_flow": "question -> answer -> feedback",
391
- "sentiment_trend": "neutral -> positive",
392
- "knowledge_gaps": ["advanced topics"]
393
- }
394
- }
395
-
396
- print(f" 📈 Session Statistics:")
397
- print(f" - 总记忆数: {session_analysis['memory_count']}")
398
- print(f" - 记忆类型: {session_analysis['memory_types']}")
399
- print(f" - 讨论主题: {', '.join(session_analysis['graph_analysis']['topics_discussed'])}")
400
- print(f" - 对话流程: {session_analysis['graph_analysis']['conversation_flow']}")
401
- print(f" - 情感趋势: {session_analysis['graph_analysis']['sentiment_trend']}")
402
-
403
- print("\n💡 Memory Service Features:")
404
- print(" - 统一记忆管理接口")
405
- print(" - 自动知识图谱构建")
406
- print(" - 语义搜索和过滤")
407
- print(" - 会话上下文分析")
408
- print(" - 跨服务事务一致性")
409
- print(" - 图增强的记忆检索")
410
-
411
-
412
- def test_memory_use_cases():
413
- """演示Memory服务的应用场景"""
414
- print("\n🎯 Memory Service Use Cases:")
415
-
416
- use_cases = [
417
- {
418
- "name": "智能客服",
419
- "scenario": "记住用户历史问题,提供个性化答案",
420
- "memory_types": ["question", "answer", "preference", "issue"],
421
- "features": ["上下文理解", "问题追踪", "解决方案推荐"]
422
- },
423
- {
424
- "name": "个人助手",
425
- "scenario": "学习用户习惯,提供主动建议",
426
- "memory_types": ["habit", "preference", "schedule", "goal"],
427
- "features": ["习惯分析", "日程优化", "目标跟踪"]
428
- },
429
- {
430
- "name": "教育系统",
431
- "scenario": "跟踪学习进度,个性化教学路径",
432
- "memory_types": ["knowledge", "skill", "progress", "difficulty"],
433
- "features": ["知识图谱", "学习路径", "难点识别"]
434
- },
435
- {
436
- "name": "内容推荐",
437
- "scenario": "基于用户兴趣历史推荐相关内容",
438
- "memory_types": ["interest", "interaction", "content", "feedback"],
439
- "features": ["兴趣建模", "内容关联", "反馈学习"]
440
- }
441
- ]
442
-
443
- for case in use_cases:
444
- print(f" 📚 {case['name']}: {case['scenario']}")
445
- print(f" 记忆类型: {', '.join(case['memory_types'])}")
446
- print(f" 核心功能: {', '.join(case['features'])}")
447
-
448
-
449
- def test_memory_advantages():
450
- """展示Memory服务相比单一服务的优势"""
451
- print("\n🌟 Memory Service Advantages:")
452
-
453
- advantages = [
454
- {
455
- "aspect": "统一接口",
456
- "description": "单一API调用,自动协调KV、VDB、Graph服务",
457
- "benefit": "简化应用开发,减少集成复杂度"
458
- },
459
- {
460
- "aspect": "事务一致性",
461
- "description": "确保数据在多个服务间的一致性",
462
- "benefit": "避免数据不一致,提高可靠性"
463
- },
464
- {
465
- "aspect": "图增强检索",
466
- "description": "结合向量相似性和图关系进行检索",
467
- "benefit": "更准确的上下文理解和推荐"
468
- },
469
- {
470
- "aspect": "自动索引",
471
- "description": "自动维护各服务间的关联关系",
472
- "benefit": "减少手动维护,提高数据质量"
473
- },
474
- {
475
- "aspect": "智能分析",
476
- "description": "提供跨服务的综合分析能力",
477
- "benefit": "深度洞察,支持决策"
478
- }
479
- ]
480
-
481
- for adv in advantages:
482
- print(f" ⭐ {adv['aspect']}: {adv['description']}")
483
- print(f" 价值: {adv['benefit']}")
484
-
485
-
486
- if __name__ == "__main__":
487
- test_memory_service_api()
488
- demonstrate_advanced_memory_patterns()
489
- print("\n🎯 Memory Service API demo completed!")
490
- print("\n📚 Next: Check the complete API tutorial for integration examples")