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,219 +0,0 @@
1
- """
2
- SAGE 微服务架构使用示例
3
- 展示如何在应用程序中注册和使用KV、VDB、Memory服务
4
- """
5
- import asyncio
6
- import time
7
- from typing import List
8
- import numpy as np
9
-
10
- # 导入SAGE环境和服务
11
- from sage.core.api.local_environment import LocalEnvironment
12
- from sage.middleware.services import (
13
- MemoryService,
14
- create_kv_service_factory,
15
- create_vdb_service_factory,
16
- create_memory_service_factory,
17
- )
18
-
19
-
20
- class SampleApplication:
21
- """示例应用程序,展示如何使用微服务架构"""
22
-
23
- def __init__(self):
24
- # 创建SAGE环境
25
- self.env = LocalEnvironment("microservices_demo", {})
26
-
27
- def setup_services(self):
28
- """在应用中注册微服务"""
29
- print("🔧 注册微服务到SAGE环境...")
30
-
31
- # 注册KV服务
32
- kv_factory = create_kv_service_factory(
33
- service_name="kv_service",
34
- backend_type="memory", # 使用内存后端
35
- max_size=1000,
36
- ttl_seconds=3600 # 1小时过期
37
- )
38
- self.env.register_service_factory("kv_service", kv_factory)
39
-
40
- # 注册VDB服务
41
- vdb_factory = create_vdb_service_factory(
42
- service_name="vdb_service",
43
- embedding_dimension=384,
44
- index_type="IndexFlatL2",
45
- )
46
- self.env.register_service_factory("vdb_service", vdb_factory)
47
-
48
- # 注册Memory编排服务
49
- memory_factory = create_memory_service_factory(
50
- service_name="memory_service",
51
- kv_service_name="kv_service",
52
- vdb_service_name="vdb_service"
53
- )
54
- self.env.register_service_factory("memory_service", memory_factory)
55
-
56
- print("✅ 所有服务已注册")
57
-
58
- def run_demo(self):
59
- """运行演示"""
60
- print("🚀 启动微服务演示")
61
- print("=" * 50)
62
-
63
- # 设置服务
64
- self.setup_services()
65
-
66
- # 创建一个简单的数据流来演示服务使用
67
- data_stream = self.env.from_memory_source([
68
- {"id": 1, "content": "用户询问了关于Python的问题", "session": "session_1"},
69
- {"id": 2, "content": "AI助手回答了Python基础知识", "session": "session_1"},
70
- {"id": 3, "content": "用户请求更多代码示例", "session": "session_1"},
71
- {"id": 4, "content": "讨论了机器学习算法", "session": "session_2"},
72
- {"id": 5, "content": "解释了神经网络原理", "session": "session_2"}
73
- ])
74
-
75
- # 定义处理函数
76
- def process_conversation(data):
77
- """处理对话数据的函数"""
78
- # 在这里我们可以使用服务调用
79
- # 注意:在实际的SAGE函数中,可以通过 self.call_service 访问服务
80
-
81
- print(f"处理对话: {data['content'][:30]}...")
82
-
83
- # 模拟向量化(在实际应用中,这里会调用embedding服务)
84
- content_vector = np.random.random(384).tolist()
85
-
86
- # 这里展示了服务调用的概念
87
- # 在实际的SAGE函数中,代码会是这样:
88
- #
89
- # # 存储到KV
90
- # self.call_service["kv_service"].put(f"conv:{data['id']}", {
91
- # "content": data['content'],
92
- # "session": data['session'],
93
- # "timestamp": time.time()
94
- # })
95
- #
96
- # # 存储记忆
97
- # memory_id = self.call_service["memory_service"].store_memory(
98
- # session_id=data['session'],
99
- # content=data['content'],
100
- # vector=content_vector,
101
- # memory_type="conversation"
102
- # )
103
-
104
- return {
105
- "processed": True,
106
- "memory_id": f"mock_memory_{data['id']}",
107
- "vector_dim": len(content_vector)
108
- }
109
-
110
- # 应用处理函数
111
- processed_stream = data_stream.map(process_conversation)
112
-
113
- # 执行并收集结果
114
- print("\n📊 处理结果:")
115
- results = processed_stream.collect()
116
-
117
- for i, result in enumerate(results, 1):
118
- print(f" {i}. ✅ 已处理 - Memory ID: {result['memory_id']}")
119
-
120
- print(f"\n🎯 总共处理了 {len(results)} 条对话记录")
121
-
122
- # 展示服务调用的概念
123
- self.show_service_usage_concept()
124
-
125
- def show_service_usage_concept(self):
126
- """展示服务使用概念"""
127
- print("\n" + "=" * 50)
128
- print("💡 在SAGE函数中使用服务的示例代码:")
129
- print("=" * 50)
130
-
131
- example_code = '''
132
- # 在SAGE Function中使用微服务的示例
133
-
134
- class ConversationProcessor(BaseFunction):
135
- """对话处理函数"""
136
-
137
- def process(self, conversation_data):
138
- session_id = conversation_data['session_id']
139
- content = conversation_data['content']
140
-
141
- # 1. 调用KV服务存储原始数据
142
- kv_success = self.call_service["kv_service"].put(
143
- f"raw:{session_id}",
144
- conversation_data
145
- )
146
-
147
- # 2. 生成向量表示(假设有embedding服务)
148
- vector = self.call_service["embedding_service"].encode(content)
149
-
150
- # 3. 调用Memory服务存储记忆
151
- memory_id = self.call_service["memory_service"].store_memory(
152
- session_id=session_id,
153
- content=content,
154
- vector=vector,
155
- memory_type="conversation"
156
- )
157
-
158
- # 4. 搜索相关历史记忆
159
- related_memories = self.call_service["memory_service"].search_memories(
160
- query_vector=vector,
161
- session_id=session_id,
162
- limit=5
163
- )
164
-
165
- return {
166
- "memory_id": memory_id,
167
- "related_count": len(related_memories),
168
- "kv_stored": kv_success
169
- }
170
-
171
- # 在DAG中注册和使用
172
- def create_conversation_dag():
173
- env = LocalEnvironment("conversation_app", {})
174
-
175
- # 注册微服务
176
- env.register_service("kv_service", KVService, create_kv_service_factory())
177
- env.register_service("vdb_service", VDBService, create_vdb_service_factory())
178
- env.register_service("memory_service", MemoryService, create_memory_service_factory())
179
-
180
- # 创建数据流
181
- stream = env.from_kafka_source(...)
182
-
183
- # 应用处理函数(自动访问服务)
184
- processed = stream.map(ConversationProcessor())
185
-
186
- return processed
187
- '''
188
-
189
- print(example_code)
190
- print("\n" + "=" * 50)
191
- print("🔍 关键概念:")
192
- print("1. 服务作为Service Tasks在DAG中运行")
193
- print("2. 函数通过 self.call_service[service_name] 调用服务")
194
- print("3. 服务可以是本地任务或Ray分布式任务")
195
- print("4. 应用程序控制服务的生命周期")
196
- print("5. 服务间通过SAGE的队列机制通信")
197
-
198
-
199
- def main():
200
- """主函数"""
201
- app = SampleApplication()
202
-
203
- try:
204
- app.run_demo()
205
- print("\n✅ 演示完成!")
206
- print("\n📖 查看更多信息:")
207
- print(" - 微服务代码: packages/sage-middleware/src/sage/service/")
208
- print(" - 使用指南: packages/sage-middleware/MICROSERVICES_GUIDE.md")
209
-
210
- except KeyboardInterrupt:
211
- print("\n\n👋 演示被中断")
212
- except Exception as e:
213
- print(f"\n❌ 演示出错: {e}")
214
- import traceback
215
- traceback.print_exc()
216
-
217
-
218
- if __name__ == "__main__":
219
- main()
File without changes
@@ -1,370 +0,0 @@
1
- """
2
- SAGE Middleware 微服务集成示例
3
- 展示如何在真实应用中注册和使用所有微服务,包括正确的API调用方式
4
- """
5
- import time
6
- import numpy as np
7
- from typing import Dict, List, Any
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
-
16
- # 导入API接口(用于类型提示和接口说明)
17
- from sage.middleware.api import KVServiceAPI, VDBServiceAPI, MemoryServiceAPI, GraphServiceAPI
18
-
19
-
20
- class SAGEMicroservicesDemo:
21
- """SAGE微服务集成演示类"""
22
-
23
- def __init__(self):
24
- self.env = LocalEnvironment("sage_microservices_demo")
25
- self.services = {}
26
-
27
- def setup_services(self):
28
- """设置所有微服务"""
29
- print("🚀 Setting up SAGE Microservices Architecture")
30
- print("=" * 60)
31
-
32
- # 1. KV服务 - 键值存储和文本索引
33
- print("📦 Setting up KV Service...")
34
- kv_factory = create_kv_service_factory(
35
- service_name="production_kv",
36
- backend_type="memory", # 生产环境可以用Redis
37
- max_size=100000,
38
- enable_text_index=True
39
- )
40
- self.env.register_service_factory("production_kv", kv_factory)
41
- print(" ✅ KV Service ready - Key-Value storage + BM25 text search")
42
-
43
- # 2. VDB服务 - 向量数据库和语义搜索
44
- print("🔍 Setting up VDB Service...")
45
- vdb_factory = create_vdb_service_factory(
46
- service_name="production_vdb",
47
- embedding_dimension=768,
48
- index_type="IndexFlatL2",
49
- )
50
- self.env.register_service_factory("production_vdb", vdb_factory)
51
- print(" ✅ VDB Service ready - FAISS vector search")
52
-
53
- # 3. Graph服务 - 知识图谱和关系查询
54
- print("🕸️ Setting up Graph Service...")
55
- graph_factory = create_graph_service_factory(
56
- service_name="production_graph",
57
- backend_type="memory",
58
- max_nodes=50000,
59
- )
60
- self.env.register_service_factory("production_graph", graph_factory)
61
- print(" ✅ Graph Service ready - Knowledge graph + inference")
62
-
63
- # 4. Memory服务 - 智能记忆编排
64
- print("🧠 Setting up Memory Service...")
65
- memory_factory = create_memory_service_factory(
66
- service_name="production_memory",
67
- kv_service_name="production_kv",
68
- vdb_service_name="production_vdb",
69
- graph_service_name="production_graph",
70
- enable_knowledge_graph=True,
71
- )
72
- self.env.register_service_factory("production_memory", memory_factory)
73
- print(" ✅ Memory Service ready - Intelligent memory orchestration")
74
-
75
- print("\n🎯 All microservices are now registered and ready!")
76
-
77
- def demo_knowledge_management_system(self):
78
- """演示知识管理系统场景"""
79
- print("\n📚 Demo: Enterprise Knowledge Management System")
80
- print("-" * 50)
81
-
82
- # 模拟企业知识条目
83
- knowledge_items = [
84
- {
85
- "id": "kb_001",
86
- "title": "Python开发最佳实践",
87
- "content": "Python项目应该使用虚拟环境、类型提示、文档字符串和单元测试。",
88
- "tags": ["python", "开发", "最佳实践"],
89
- "category": "编程语言",
90
- "author": "张工程师",
91
- "embedding": np.random.random(768).tolist()
92
- },
93
- {
94
- "id": "kb_002",
95
- "title": "微服务架构设计原则",
96
- "content": "微服务应该遵循单一职责、独立部署、数据隔离和容错设计原则。",
97
- "tags": ["微服务", "架构", "设计"],
98
- "category": "系统架构",
99
- "author": "李架构师",
100
- "embedding": np.random.random(768).tolist()
101
- },
102
- {
103
- "id": "kb_003",
104
- "title": "数据库性能优化指南",
105
- "content": "数据库优化包括索引设计、查询优化、连接池配置和分库分表策略。",
106
- "tags": ["数据库", "性能", "优化"],
107
- "category": "数据库",
108
- "author": "王DBA",
109
- "embedding": np.random.random(768).tolist()
110
- }
111
- ]
112
-
113
- print("📥 Storing knowledge items...")
114
- # 存储知识条目到所有相关服务
115
- for item in knowledge_items:
116
- print(f" 📄 {item['title']}")
117
-
118
- # KV存储基本信息
119
- # kv_service.store(item['id'], {
120
- # 'title': item['title'],
121
- # 'category': item['category'],
122
- # 'author': item['author'],
123
- # 'tags': item['tags']
124
- # })
125
-
126
- # VDB存储向量和内容
127
- # vdb_service.add_vector(
128
- # vector_id=item['id'],
129
- # vector=item['embedding'],
130
- # metadata={'content': item['content'], 'title': item['title']}
131
- # )
132
-
133
- # Graph存储知识关系
134
- # graph_service.add_node(item['id'], {
135
- # 'type': 'knowledge_item',
136
- # 'title': item['title'],
137
- # 'category': item['category']
138
- # })
139
-
140
- # 添加作者关系
141
- # graph_service.add_edge(item['author'], item['id'], 'AUTHORED')
142
-
143
- # 添加分类关系
144
- # graph_service.add_edge(item['id'], item['category'], 'BELONGS_TO')
145
-
146
- print("\n🔍 Knowledge Search Demo:")
147
-
148
- # 1. 关键词搜索 (KV + BM25)
149
- query = "Python 最佳实践"
150
- print(f" 📝 Keyword search: '{query}'")
151
- # results = kv_service.text_search(query, limit=5)
152
- # print(f" Found {len(results)} matches via BM25")
153
- print(f" Found 1 matches via BM25 - kb_001: Python开发最佳实践")
154
-
155
- # 2. 语义搜索 (VDB + FAISS)
156
- query_vector = np.random.random(768).tolist()
157
- print(f" 🧠 Semantic search using vector similarity")
158
- # results = vdb_service.search(query_vector, limit=5)
159
- # print(f" Found {len(results)} similar items")
160
- print(f" Found 2 similar items via FAISS")
161
-
162
- # 3. 图关系查询 (Graph)
163
- print(f" 🕸️ Graph relationship queries:")
164
- # author_items = graph_service.find_neighbors('张工程师', relation='AUTHORED')
165
- print(f" 张工程师 authored 1 knowledge items")
166
- # category_items = graph_service.find_by_category('编程语言')
167
- print(f" '编程语言' category contains 1 items")
168
-
169
- # 4. 综合智能搜索 (Memory编排)
170
- print(f"\n🎯 Intelligent integrated search:")
171
- # results = memory_service.search_knowledge(
172
- # query="微服务架构",
173
- # include_text_search=True,
174
- # include_semantic_search=True,
175
- # include_graph_context=True
176
- # )
177
- print(f" 🔥 Memory service orchestrated search across all services")
178
- print(f" 📊 Combined text similarity, semantic similarity, and graph relationships")
179
- print(f" 🎪 Result: kb_002 (微服务架构设计原则) with enriched context")
180
-
181
- def demo_conversational_ai_system(self):
182
- """演示对话AI系统场景"""
183
- print("\n💬 Demo: Conversational AI with Memory")
184
- print("-" * 50)
185
-
186
- # 模拟多轮对话
187
- conversation = [
188
- {"role": "user", "content": "我想学习Python编程", "timestamp": time.time()},
189
- {"role": "assistant", "content": "Python是一门很棒的编程语言!你想从哪里开始?", "timestamp": time.time()},
190
- {"role": "user", "content": "我是完全的初学者", "timestamp": time.time()},
191
- {"role": "assistant", "content": "建议从基础语法开始,我来为你制定学习计划", "timestamp": time.time()},
192
- {"role": "user", "content": "好的,那请先教我变量和数据类型", "timestamp": time.time()}
193
- ]
194
-
195
- user_id = "user_12345"
196
- session_id = "session_001"
197
-
198
- print(f"👤 User: {user_id}, Session: {session_id}")
199
- print("💾 Storing conversation turns...")
200
-
201
- # 存储对话历史
202
- for i, turn in enumerate(conversation):
203
- turn_id = f"{session_id}_turn_{i}"
204
- print(f" 📝 Turn {i+1}: {turn['role']} - {turn['content'][:30]}...")
205
-
206
- # Memory服务统一存储
207
- # memory_service.store_conversation_turn(
208
- # turn_id=turn_id,
209
- # user_id=user_id,
210
- # session_id=session_id,
211
- # role=turn['role'],
212
- # content=turn['content'],
213
- # timestamp=turn['timestamp'],
214
- # embedding=np.random.random(768).tolist()
215
- # )
216
-
217
- print("\n🔍 Conversation Analysis:")
218
-
219
- # 分析用户意图和上下文
220
- # user_profile = memory_service.get_user_profile(user_id)
221
- user_profile = {
222
- "skill_level": "beginner",
223
- "interests": ["python", "programming"],
224
- "learning_goals": ["basic_syntax", "data_types"],
225
- "conversation_style": "structured"
226
- }
227
- print(f" 👤 User Profile: {user_profile['skill_level']} learner")
228
- print(f" 🎯 Current Interests: {', '.join(user_profile['interests'])}")
229
-
230
- # 获取对话上下文
231
- # session_context = memory_service.get_session_context(session_id)
232
- session_context = {
233
- "topic": "python_learning",
234
- "current_subtopic": "data_types",
235
- "progress": "introduction_complete",
236
- "next_suggested": "variables_tutorial"
237
- }
238
- print(f" 💬 Session Context: {session_context['topic']} -> {session_context['current_subtopic']}")
239
-
240
- # 智能推荐下一步
241
- print(f"\n🎯 AI Recommendations:")
242
- print(f" 📚 Suggested next topic: {session_context['next_suggested']}")
243
- print(f" 🔗 Related knowledge from graph: 3 tutorials found")
244
- print(f" 📈 Learning path progression: 15% complete")
245
-
246
- def demo_personalized_recommendation(self):
247
- """演示个性化推荐场景"""
248
- print("\n🎪 Demo: Personalized Content Recommendation")
249
- print("-" * 50)
250
-
251
- # 模拟用户行为数据
252
- user_interactions = [
253
- {"item_id": "article_001", "action": "read", "duration": 120, "rating": 4.5},
254
- {"item_id": "video_002", "action": "watch", "duration": 300, "rating": 5.0},
255
- {"item_id": "tutorial_003", "action": "bookmark", "duration": 0, "rating": 4.0},
256
- {"item_id": "course_004", "action": "start", "duration": 1800, "rating": 4.2}
257
- ]
258
-
259
- user_id = "user_recommend_demo"
260
- print(f"👤 Analyzing behavior for user: {user_id}")
261
-
262
- # 存储用户行为
263
- for interaction in user_interactions:
264
- print(f" 📊 {interaction['action']}: {interaction['item_id']} (rating: {interaction['rating']})")
265
-
266
- # Memory服务存储交互数据
267
- # memory_service.store_user_interaction(
268
- # user_id=user_id,
269
- # item_id=interaction['item_id'],
270
- # action=interaction['action'],
271
- # duration=interaction['duration'],
272
- # rating=interaction['rating'],
273
- # timestamp=time.time()
274
- # )
275
-
276
- print("\n🔮 Generating Recommendations:")
277
-
278
- # 基于向量相似性的推荐
279
- print(" 🧠 Vector-based similar content:")
280
- # similar_items = vdb_service.find_similar_content(user_embedding, limit=5)
281
- print(" - article_005: 机器学习入门 (similarity: 0.89)")
282
- print(" - video_006: Python数据科学 (similarity: 0.85)")
283
-
284
- # 基于图关系的推荐
285
- print(" 🕸️ Graph-based related content:")
286
- # related_items = graph_service.find_related_content(user_id, depth=2)
287
- print(" - course_007: 高级Python编程 (同类用户喜欢)")
288
- print(" - tutorial_008: Web开发实战 (相关主题)")
289
-
290
- # 综合推荐
291
- print(" 🎯 Memory service hybrid recommendations:")
292
- # recommendations = memory_service.get_personalized_recommendations(
293
- # user_id=user_id,
294
- # include_collaborative_filtering=True,
295
- # include_content_similarity=True,
296
- # include_graph_analysis=True
297
- # )
298
- print(" 🏆 Top recommendation: course_009 (概率: 0.94)")
299
- print(" 📊 Reason: 个人偏好 + 内容相似性 + 社交推荐")
300
-
301
- def demo_performance_monitoring(self):
302
- """演示性能监控"""
303
- print("\n⚡ Performance Monitoring Demo")
304
- print("-" * 50)
305
-
306
- # 模拟性能数据
307
- performance_metrics = {
308
- "kv_service": {
309
- "operations_per_second": 15000,
310
- "average_latency_ms": 2.5,
311
- "memory_usage_mb": 128,
312
- "cache_hit_rate": 0.92
313
- },
314
- "vdb_service": {
315
- "vectors_indexed": 1000000,
316
- "search_latency_ms": 15.2,
317
- "index_size_mb": 512,
318
- "accuracy_score": 0.94
319
- },
320
- "graph_service": {
321
- "nodes_count": 50000,
322
- "edges_count": 200000,
323
- "query_latency_ms": 8.7,
324
- "graph_memory_mb": 256
325
- },
326
- "memory_service": {
327
- "orchestration_latency_ms": 25.1,
328
- "cross_service_success_rate": 0.998,
329
- "transaction_throughput": 5000,
330
- "consistency_score": 0.999
331
- }
332
- }
333
-
334
- print("📊 Service Performance Metrics:")
335
- for service, metrics in performance_metrics.items():
336
- print(f"\n 🔧 {service.upper()}:")
337
- for metric, value in metrics.items():
338
- if isinstance(value, float):
339
- print(f" {metric}: {value:.3f}")
340
- else:
341
- print(f" {metric}: {value:,}")
342
-
343
- print("\n🎯 Performance Insights:")
344
- print(" ✅ All services operating within optimal parameters")
345
- print(" 📈 Memory service maintains 99.8% cross-service success rate")
346
- print(" ⚡ Sub-30ms end-to-end latency for complex operations")
347
- print(" 🔄 Excellent cache performance and data consistency")
348
-
349
- def run_full_demo(self):
350
- """运行完整演示"""
351
- self.setup_services()
352
- self.demo_knowledge_management_system()
353
- self.demo_conversational_ai_system()
354
- self.demo_personalized_recommendation()
355
- self.demo_performance_monitoring()
356
-
357
- print("\n" + "="*60)
358
- print("🎉 SAGE Microservices Integration Demo Complete!")
359
- print("🌟 Key Benefits Demonstrated:")
360
- print(" • Unified memory orchestration across KV, VDB, and Graph")
361
- print(" • Embedded high-performance backends (FAISS, BM25)")
362
- print(" • Rich application scenarios and use cases")
363
- print(" • Excellent performance and reliability")
364
- print(" • Developer-friendly APIs and integration")
365
- print("🚀 Ready for production deployment!")
366
-
367
-
368
- if __name__ == "__main__":
369
- demo = SAGEMicroservicesDemo()
370
- demo.run_full_demo()