isage-middleware 0.1.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.

Potentially problematic release.


This version of isage-middleware might be problematic. Click here for more details.

Files changed (191) hide show
  1. isage_middleware-0.1.0.dist-info/METADATA +424 -0
  2. isage_middleware-0.1.0.dist-info/RECORD +191 -0
  3. isage_middleware-0.1.0.dist-info/WHEEL +5 -0
  4. isage_middleware-0.1.0.dist-info/top_level.txt +1 -0
  5. sage/__init__.py +2 -0
  6. sage/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  7. sage/__pycache__/__init__.cpython-311.pyc +0 -0
  8. sage/middleware/__init__.py +83 -0
  9. sage/middleware/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  10. sage/middleware/__pycache__/__init__.cpython-311.pyc +0 -0
  11. sage/middleware/api/__init__.py +22 -0
  12. sage/middleware/api/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  13. sage/middleware/api/__pycache__/__init__.cpython-311.pyc +0 -0
  14. sage/middleware/api/__pycache__/graph_api.cpython-311.opt-2.pyc +0 -0
  15. sage/middleware/api/__pycache__/graph_api.cpython-311.pyc +0 -0
  16. sage/middleware/api/__pycache__/kv_api.cpython-311.opt-2.pyc +0 -0
  17. sage/middleware/api/__pycache__/kv_api.cpython-311.pyc +0 -0
  18. sage/middleware/api/__pycache__/memory_api.cpython-311.opt-2.pyc +0 -0
  19. sage/middleware/api/__pycache__/memory_api.cpython-311.pyc +0 -0
  20. sage/middleware/api/__pycache__/vdb_api.cpython-311.opt-2.pyc +0 -0
  21. sage/middleware/api/__pycache__/vdb_api.cpython-311.pyc +0 -0
  22. sage/middleware/api/graph_api.py +74 -0
  23. sage/middleware/api/kv_api.py +45 -0
  24. sage/middleware/api/memory_api.py +64 -0
  25. sage/middleware/api/vdb_api.py +60 -0
  26. sage/middleware/enterprise/__init__.py +75 -0
  27. sage/middleware/enterprise/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  28. sage/middleware/enterprise/__pycache__/__init__.cpython-311.pyc +0 -0
  29. sage/middleware/enterprise/sage_db/__init__.py +132 -0
  30. sage/middleware/enterprise/sage_db/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  31. sage/middleware/enterprise/sage_db/__pycache__/__init__.cpython-311.pyc +0 -0
  32. sage/middleware/enterprise/sage_db/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
  33. sage/middleware/enterprise/sage_db/__pycache__/sage_db.cpython-311.pyc +0 -0
  34. sage/middleware/enterprise/sage_db/python/__init__.py +7 -0
  35. sage/middleware/enterprise/sage_db/python/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  36. sage/middleware/enterprise/sage_db/python/__pycache__/__init__.cpython-311.pyc +0 -0
  37. sage/middleware/enterprise/sage_db/python/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
  38. sage/middleware/enterprise/sage_db/python/__pycache__/sage_db.cpython-311.pyc +0 -0
  39. sage/middleware/enterprise/sage_db/python/sage_db.py +44 -0
  40. sage/middleware/enterprise/sage_db/sage_db.py +395 -0
  41. sage/middleware/enterprise/sage_db/tests/__pycache__/test_python.cpython-311.opt-2.pyc +0 -0
  42. sage/middleware/enterprise/sage_db/tests/__pycache__/test_python.cpython-311.pyc +0 -0
  43. sage/middleware/enterprise/sage_db/tests/test_python.py +144 -0
  44. sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.opt-2.pyc +0 -0
  45. sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.pyc +0 -0
  46. sage/middleware/examples/__pycache__/dag_microservices_demo.cpython-311.opt-2.pyc +0 -0
  47. sage/middleware/examples/__pycache__/dag_microservices_demo.cpython-311.pyc +0 -0
  48. sage/middleware/examples/__pycache__/microservices_demo.cpython-311.opt-2.pyc +0 -0
  49. sage/middleware/examples/__pycache__/microservices_demo.cpython-311.pyc +0 -0
  50. sage/middleware/examples/__pycache__/microservices_integration_demo.cpython-311.opt-2.pyc +0 -0
  51. sage/middleware/examples/__pycache__/microservices_integration_demo.cpython-311.pyc +0 -0
  52. sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.opt-2.pyc +0 -0
  53. sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.pyc +0 -0
  54. sage/middleware/examples/api_usage_tutorial.py +339 -0
  55. sage/middleware/examples/dag_microservices_demo.py +220 -0
  56. sage/middleware/examples/microservices_demo.py +0 -0
  57. sage/middleware/examples/microservices_integration_demo.py +373 -0
  58. sage/middleware/examples/microservices_registration_demo.py +144 -0
  59. sage/middleware/py.typed +2 -0
  60. sage/middleware/services/graph/__init__.py +8 -0
  61. sage/middleware/services/graph/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  62. sage/middleware/services/graph/__pycache__/__init__.cpython-311.pyc +0 -0
  63. sage/middleware/services/graph/__pycache__/graph_index.cpython-311.opt-2.pyc +0 -0
  64. sage/middleware/services/graph/__pycache__/graph_index.cpython-311.pyc +0 -0
  65. sage/middleware/services/graph/__pycache__/graph_service.cpython-311.opt-2.pyc +0 -0
  66. sage/middleware/services/graph/__pycache__/graph_service.cpython-311.pyc +0 -0
  67. sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.opt-2.pyc +0 -0
  68. sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.pyc +0 -0
  69. sage/middleware/services/graph/examples/graph_demo.py +177 -0
  70. sage/middleware/services/graph/graph_index.py +194 -0
  71. sage/middleware/services/graph/graph_service.py +541 -0
  72. sage/middleware/services/graph/search_engine/__init__.py +0 -0
  73. sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  74. sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  75. sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
  76. sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.pyc +0 -0
  77. sage/middleware/services/graph/search_engine/base_graph_index.py +0 -0
  78. sage/middleware/services/kv/__init__.py +8 -0
  79. sage/middleware/services/kv/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  80. sage/middleware/services/kv/__pycache__/__init__.cpython-311.pyc +0 -0
  81. sage/middleware/services/kv/__pycache__/kv_service.cpython-311.opt-2.pyc +0 -0
  82. sage/middleware/services/kv/__pycache__/kv_service.cpython-311.pyc +0 -0
  83. sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.opt-2.pyc +0 -0
  84. sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.pyc +0 -0
  85. sage/middleware/services/kv/examples/kv_demo.py +213 -0
  86. sage/middleware/services/kv/kv_service.py +306 -0
  87. sage/middleware/services/kv/search_engine/__init__.py +0 -0
  88. sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  89. sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  90. sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.opt-2.pyc +0 -0
  91. sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.pyc +0 -0
  92. sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.opt-2.pyc +0 -0
  93. sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.pyc +0 -0
  94. sage/middleware/services/kv/search_engine/base_kv_index.py +75 -0
  95. sage/middleware/services/kv/search_engine/bm25s_index.py +238 -0
  96. sage/middleware/services/memory/__init__.py +12 -0
  97. sage/middleware/services/memory/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  98. sage/middleware/services/memory/__pycache__/__init__.cpython-311.pyc +0 -0
  99. sage/middleware/services/memory/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
  100. sage/middleware/services/memory/__pycache__/memory_service.cpython-311.pyc +0 -0
  101. sage/middleware/services/memory/examples/__pycache__/dag_microservices_demo.cpython-311.opt-2.pyc +0 -0
  102. sage/middleware/services/memory/examples/__pycache__/dag_microservices_demo.cpython-311.pyc +0 -0
  103. sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.opt-2.pyc +0 -0
  104. sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.pyc +0 -0
  105. sage/middleware/services/memory/examples/dag_microservices_demo.py +220 -0
  106. sage/middleware/services/memory/examples/memory_demo.py +490 -0
  107. sage/middleware/services/memory/memory_collection/__pycache__/base_collection.cpython-311.opt-2.pyc +0 -0
  108. sage/middleware/services/memory/memory_collection/__pycache__/base_collection.cpython-311.pyc +0 -0
  109. sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
  110. sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
  111. sage/middleware/services/memory/memory_collection/__pycache__/kv_collection.cpython-311.opt-2.pyc +0 -0
  112. sage/middleware/services/memory/memory_collection/__pycache__/kv_collection.cpython-311.pyc +0 -0
  113. sage/middleware/services/memory/memory_collection/__pycache__/vdb_collection.cpython-311.opt-2.pyc +0 -0
  114. sage/middleware/services/memory/memory_collection/__pycache__/vdb_collection.cpython-311.pyc +0 -0
  115. sage/middleware/services/memory/memory_collection/base_collection.py +0 -0
  116. sage/middleware/services/memory/memory_collection/graph_collection.py +0 -0
  117. sage/middleware/services/memory/memory_collection/kv_collection.py +0 -0
  118. sage/middleware/services/memory/memory_collection/vdb_collection.py +0 -0
  119. sage/middleware/services/memory/memory_service.py +474 -0
  120. sage/middleware/services/memory/utils/__init__.py +0 -0
  121. sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  122. sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  123. sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
  124. sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
  125. sage/middleware/services/memory/utils/path_utils.py +0 -0
  126. sage/middleware/services/vdb/__init__.py +8 -0
  127. sage/middleware/services/vdb/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  128. sage/middleware/services/vdb/__pycache__/__init__.cpython-311.pyc +0 -0
  129. sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.opt-2.pyc +0 -0
  130. sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.pyc +0 -0
  131. sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.opt-2.pyc +0 -0
  132. sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.pyc +0 -0
  133. sage/middleware/services/vdb/examples/vdb_demo.py +447 -0
  134. sage/middleware/services/vdb/search_engine/__init__.py +0 -0
  135. sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  136. sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
  137. sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
  138. sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
  139. sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
  140. sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.pyc +0 -0
  141. sage/middleware/services/vdb/search_engine/base_vdb_index.py +58 -0
  142. sage/middleware/services/vdb/search_engine/faiss_index.py +461 -0
  143. sage/middleware/services/vdb/vdb_service.py +433 -0
  144. sage/middleware/utils/__init__.py +5 -0
  145. sage/middleware/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  146. sage/middleware/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  147. sage/middleware/utils/embedding/__init__.py +35 -0
  148. sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
  149. sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.pyc +0 -0
  150. sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.opt-2.pyc +0 -0
  151. sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.pyc +0 -0
  152. sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.opt-2.pyc +0 -0
  153. sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.pyc +0 -0
  154. sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.opt-2.pyc +0 -0
  155. sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.pyc +0 -0
  156. sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.opt-2.pyc +0 -0
  157. sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.pyc +0 -0
  158. sage/middleware/utils/embedding/__pycache__/hf.cpython-311.opt-2.pyc +0 -0
  159. sage/middleware/utils/embedding/__pycache__/hf.cpython-311.pyc +0 -0
  160. sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.opt-2.pyc +0 -0
  161. sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.pyc +0 -0
  162. sage/middleware/utils/embedding/__pycache__/jina.cpython-311.opt-2.pyc +0 -0
  163. sage/middleware/utils/embedding/__pycache__/jina.cpython-311.pyc +0 -0
  164. sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.opt-2.pyc +0 -0
  165. sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.pyc +0 -0
  166. sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.opt-2.pyc +0 -0
  167. sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.pyc +0 -0
  168. sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.opt-2.pyc +0 -0
  169. sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.pyc +0 -0
  170. sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.opt-2.pyc +0 -0
  171. sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.pyc +0 -0
  172. sage/middleware/utils/embedding/__pycache__/openai.cpython-311.opt-2.pyc +0 -0
  173. sage/middleware/utils/embedding/__pycache__/openai.cpython-311.pyc +0 -0
  174. sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.opt-2.pyc +0 -0
  175. sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.pyc +0 -0
  176. sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.opt-2.pyc +0 -0
  177. sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.pyc +0 -0
  178. sage/middleware/utils/embedding/_cohere.py +68 -0
  179. sage/middleware/utils/embedding/bedrock.py +174 -0
  180. sage/middleware/utils/embedding/embedding_api.py +12 -0
  181. sage/middleware/utils/embedding/embedding_model.py +150 -0
  182. sage/middleware/utils/embedding/hf.py +90 -0
  183. sage/middleware/utils/embedding/instructor.py +10 -0
  184. sage/middleware/utils/embedding/jina.py +115 -0
  185. sage/middleware/utils/embedding/lollms.py +100 -0
  186. sage/middleware/utils/embedding/mockembedder.py +46 -0
  187. sage/middleware/utils/embedding/nvidia_openai.py +97 -0
  188. sage/middleware/utils/embedding/ollama.py +97 -0
  189. sage/middleware/utils/embedding/openai.py +112 -0
  190. sage/middleware/utils/embedding/siliconcloud.py +133 -0
  191. sage/middleware/utils/embedding/zhipu.py +85 -0
@@ -0,0 +1,424 @@
1
+ Metadata-Version: 2.4
2
+ Name: isage-middleware
3
+ Version: 0.1.0
4
+ Summary: SAGE Middleware Module
5
+ Author-email: IntelliStream Team <intellistream@outlook.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/intellistream/SAGE
8
+ Project-URL: Repository, https://github.com/intellistream/SAGE.git
9
+ Project-URL: Documentation, https://intellistream.github.io/SAGE-Pub/
10
+ Project-URL: Issues, https://github.com/intellistream/SAGE/issues
11
+ Keywords: data,api,reasoning,dataflow,llm,ml,middleware,framework,rag,intellistream,ai,sage
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Classifier: Topic :: System :: Distributed Computing
23
+ Requires-Python: >=3.10
24
+ Description-Content-Type: text/markdown
25
+ Requires-Dist: isage-kernel>=0.1.0
26
+ Requires-Dist: python-jose==3.5.0
27
+ Requires-Dist: passlib==1.7.4
28
+ Requires-Dist: ascii_colors>=0.11.4
29
+ Requires-Dist: pipmaster>=0.9.2
30
+ Requires-Dist: tenacity==9.1.2
31
+ Requires-Dist: celery==5.5.3
32
+ Requires-Dist: flower==2.0.1
33
+ Requires-Dist: openai<=1.90.0,>=1.52.0
34
+ Requires-Dist: ollama==0.5.1
35
+ Requires-Dist: zhipuai==2.1.5.20250801
36
+ Requires-Dist: cohere==5.16.1
37
+ Requires-Dist: transformers>=4.54.1
38
+ Requires-Dist: tokenizers==0.21.4
39
+ Requires-Dist: faiss-cpu==1.9.0
40
+ Requires-Dist: bm25s==0.2.13
41
+ Requires-Dist: rank-bm25==0.2.2
42
+ Requires-Dist: PyStemmer==3.0.0
43
+ Requires-Dist: aiohttp==3.12.15
44
+ Requires-Dist: frozenlist==1.7.0
45
+ Requires-Dist: httpx==0.28.1
46
+ Requires-Dist: certifi==2025.8.3
47
+ Requires-Dist: feedparser==6.0.11
48
+ Requires-Dist: accelerate==1.9.0
49
+ Requires-Dist: sentence-transformers==3.1.1
50
+ Requires-Dist: InstructorEmbedding==1.0.1
51
+ Requires-Dist: huggingface-hub==0.34.3
52
+ Requires-Dist: peft==0.17.0
53
+ Requires-Dist: numpy<3.0.0,>=1.25.0
54
+ Requires-Dist: scipy==1.15.3
55
+ Requires-Dist: fastapi==0.115.12
56
+ Requires-Dist: uvicorn==0.34.3
57
+ Requires-Dist: pydantic
58
+ Requires-Dist: pyyaml==6.0.2
59
+ Provides-Extra: sage
60
+ Requires-Dist: isage-common>=0.1.0; extra == "sage"
61
+ Provides-Extra: enterprise
62
+ Requires-Dist: isage-middleware[sage]; extra == "enterprise"
63
+ Requires-Dist: sqlalchemy>=2.0.0; extra == "enterprise"
64
+ Requires-Dist: alembic>=1.13.0; extra == "enterprise"
65
+ Requires-Dist: asyncpg>=0.30.0; extra == "enterprise"
66
+ Requires-Dist: pymongo[srv]>=4.8.0; extra == "enterprise"
67
+ Requires-Dist: redis>=5.2.0; extra == "enterprise"
68
+ Requires-Dist: psycopg2-binary>=2.9.0; extra == "enterprise"
69
+ Requires-Dist: cx-Oracle>=8.3.0; extra == "enterprise"
70
+ Requires-Dist: pyodbc>=4.0.0; extra == "enterprise"
71
+ Requires-Dist: pymysql>=1.1.0; extra == "enterprise"
72
+ Requires-Dist: celery>=5.5.0; extra == "enterprise"
73
+ Requires-Dist: kafka-python>=2.0.0; extra == "enterprise"
74
+ Requires-Dist: apache-airflow>=2.8.0; extra == "enterprise"
75
+ Requires-Dist: orjson>=3.8.0; extra == "enterprise"
76
+ Requires-Dist: msgpack>=1.0.0; extra == "enterprise"
77
+ Requires-Dist: pyarrow>=15.0.0; extra == "enterprise"
78
+ Requires-Dist: python-memcached>=1.6.0; extra == "enterprise"
79
+ Requires-Dist: elasticsearch>=8.0.0; extra == "enterprise"
80
+ Requires-Dist: prometheus-client>=0.19.0; extra == "enterprise"
81
+ Requires-Dist: jaeger-client>=4.8.0; extra == "enterprise"
82
+ Provides-Extra: enterprise-dev
83
+ Requires-Dist: isage-middleware[enterprise]; extra == "enterprise-dev"
84
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == "enterprise-dev"
85
+ Requires-Dist: pytest-docker>=2.0.0; extra == "enterprise-dev"
86
+ Requires-Dist: testcontainers>=3.7.0; extra == "enterprise-dev"
87
+ Provides-Extra: vllm
88
+ Requires-Dist: vllm<0.7.0,>=0.6.0; extra == "vllm"
89
+ Provides-Extra: database
90
+ Requires-Dist: sqlalchemy==2.0.32; extra == "database"
91
+ Requires-Dist: alembic==1.13.2; extra == "database"
92
+ Requires-Dist: asyncpg==0.30.0; extra == "database"
93
+ Requires-Dist: pymongo[srv]==4.8.0; extra == "database"
94
+ Provides-Extra: messagequeue
95
+ Requires-Dist: celery==5.5.3; extra == "messagequeue"
96
+ Requires-Dist: redis==5.2.1; extra == "messagequeue"
97
+ Requires-Dist: kafka-python==2.0.3; extra == "messagequeue"
98
+ Requires-Dist: pika==1.3.2; extra == "messagequeue"
99
+ Provides-Extra: monitoring
100
+ Requires-Dist: prometheus-client==0.21.1; extra == "monitoring"
101
+ Requires-Dist: structlog==24.4.0; extra == "monitoring"
102
+ Requires-Dist: sentry-sdk[fastapi]==2.18.0; extra == "monitoring"
103
+ Provides-Extra: llm
104
+ Requires-Dist: anthropic==0.34.2; extra == "llm"
105
+ Requires-Dist: google-generativeai==0.8.3; extra == "llm"
106
+ Requires-Dist: cohere==5.16.2; extra == "llm"
107
+ Requires-Dist: langchain==0.3.18; extra == "llm"
108
+ Requires-Dist: llama-index==0.11.33; extra == "llm"
109
+ Provides-Extra: full
110
+ Requires-Dist: sage-middleware[database,llm,messagequeue,monitoring,websocket]; extra == "full"
111
+ Provides-Extra: testing
112
+ Requires-Dist: isage-middleware[sage]; extra == "testing"
113
+ Requires-Dist: pytest==8.3.4; extra == "testing"
114
+ Requires-Dist: pytest-asyncio==0.25.0; extra == "testing"
115
+ Requires-Dist: pytest-cov==6.0.0; extra == "testing"
116
+ Requires-Dist: pytest-benchmark==4.0.0; extra == "testing"
117
+ Requires-Dist: testcontainers==4.8.2; extra == "testing"
118
+ Requires-Dist: pytest-mock==3.14.0; extra == "testing"
119
+
120
+
121
+ # SAGE 微服务架构改造
122
+
123
+ ## 📋 改造概述
124
+
125
+ 本次改造将SAGE的集成式memory service重构为真正的服务化架构,符合您提出的要求:
126
+
127
+ 1. ✅ **使用sage-kernel的BaseServiceTask** - 所有服务继承自`sage.kernels.runtime.service.base_service_task.BaseServiceTask`
128
+ 2. ✅ **服务作为Task运行** - 服务本质上是特殊的Task,可以在DAG中作为节点运行
129
+ 3. ✅ **移除服务启动脚本** - 不再有独立的服务启动器,服务由应用程序在构建DAG时初始化
130
+ 4. ✅ **支持Ray分布式** - 服务可以作为Ray Actor运行,支持集群部署
131
+
132
+ ## 🏗️ 新架构
133
+
134
+ ```
135
+ 用户应用
136
+ ↓ 注册服务
137
+ SAGE Environment
138
+ ↓ 创建DAG
139
+ Service Tasks (BaseServiceTask)
140
+ ├── KVService (键值存储)
141
+ ├── VDBService (向量数据库)
142
+ └── MemoryOrchestratorService (记忆编排)
143
+ ↓ 队列通信
144
+ 其他Function Tasks
145
+ ```
146
+
147
+ ## 🔧 核心组件
148
+
149
+ ### 1. KVService
150
+ - **文件**: `src/sage/service/kv/kv_service.py`
151
+ - **基类**: `BaseServiceTask`
152
+ - **后端**: 内存 或 Redis
153
+ - **方法**: `get()`, `put()`, `delete()`, `list_keys()`, `clear()`
154
+
155
+ ### 2. VDBService
156
+ - **文件**: `src/sage/service/vdb/vdb_service.py`
157
+ - **基类**: `BaseServiceTask`
158
+ - **后端**: ChromaDB
159
+ - **方法**: `add()`, `search()`, `get()`, `delete()`, `update()`
160
+
161
+ ### 3. MemoryOrchestratorService
162
+ - **文件**: `src/sage/service/memory_orchestrator/memory_service.py`
163
+ - **基类**: `BaseServiceTask`
164
+ - **功能**: 协调KV和VDB服务,提供统一记忆管理
165
+ - **方法**: `store_memory()`, `search_memories()`, `get_memory()`
166
+
167
+ ## 🚀 使用方式
168
+
169
+ ### 第一步:注册服务
170
+
171
+ ```python
172
+ from sage.api.local_environment import LocalEnvironment
173
+ from sage.middleware.services import (
174
+ create_kv_service_factory,
175
+ create_vdb_service_factory,
176
+ create_memory_service_factory
177
+ )
178
+
179
+ # 创建环境
180
+ env = LocalEnvironment("my_app", {})
181
+
182
+ # 注册服务
183
+ env.register_service("kv_service", KVService, create_kv_service_factory())
184
+ env.register_service("vdb_service", VDBService, create_vdb_service_factory())
185
+ env.register_service("memory_service", MemoryOrchestratorService, create_memory_service_factory())
186
+ ```
187
+
188
+ ### 第二步:在Function中使用
189
+
190
+ ```python
191
+ from sage.api.function.base_function import BaseFunction
192
+
193
+ class MyProcessor(BaseFunction):
194
+ def process(self, data):
195
+ # 直接调用服务
196
+ self.call_service["kv_service"].put("key1", data)
197
+ result = self.call_service["memory_service"].store_memory(
198
+ session_id="session_1",
199
+ content=data['content'],
200
+ vector=data['vector']
201
+ )
202
+ return result
203
+ ```
204
+
205
+ ### 第三步:构建DAG并运行
206
+
207
+ ```python
208
+ # 创建数据流
209
+ stream = env.from_kafka_source(...)
210
+
211
+ # 应用处理函数
212
+ processed = stream.map(MyProcessor())
213
+
214
+ # 运行(服务自动启动)
215
+ env.execute()
216
+ ```
217
+
218
+ ## 📁 项目结构
219
+
220
+ ```
221
+ packages/sage-middleware/
222
+ ├── src/sage/service/
223
+ │ ├── __init__.py # 统一接口
224
+ │ ├── kv/kv_service.py # KV服务任务
225
+ │ ├── vdb/vdb_service.py # VDB服务任务
226
+ │ ├── memory_orchestrator/memory_service.py # Memory编排服务
227
+ │ └── memory/ # 旧版服务(兼容)
228
+ ├── examples/
229
+ │ ├── dag_microservices_demo.py # 完整使用演示
230
+ │ └── run_demo.sh # 快速启动脚本
231
+ ├── MICROSERVICES_GUIDE.md # 详细使用指南
232
+ └── README.md # 本文件
233
+ ```
234
+
235
+ ## 🎯 关键特性
236
+
237
+ ### 1. 真正的服务化
238
+ - 每个服务都是独立的BaseServiceTask
239
+ - 服务可以单独运行、测试和扩展
240
+ - 支持不同的技术栈和存储后端
241
+
242
+ ### 2. DAG集成
243
+ - 服务作为Task节点在DAG中运行
244
+ - 与其他数据处理Task无缝集成
245
+ - 统一的生命周期管理
246
+
247
+ ### 3. 队列通信
248
+ - 使用SAGE的高性能队列机制
249
+ - 支持同步和异步调用
250
+ - 自动请求/响应匹配
251
+
252
+ ### 4. 分布式支持
253
+ - 服务可以作为Ray Actor运行
254
+ - 支持跨节点服务调用
255
+ - 自动负载均衡和故障恢复
256
+
257
+ ### 5. 应用控制
258
+ - 应用程序控制服务的启动和配置
259
+ - 不需要外部服务管理器
260
+ - 灵活的服务组合和依赖关系
261
+
262
+ ## 📊 性能优势
263
+
264
+ 1. **高效通信**: 队列机制比HTTP调用更高效
265
+ 2. **内存优化**: 服务和数据处理共享内存空间
266
+ 3. **批处理**: 支持批量服务调用
267
+ 4. **并发处理**: 服务可以并发处理多个请求
268
+
269
+ ## 🔄 迁移路径
270
+
271
+ ### 从HTTP微服务迁移
272
+ - 移除HTTP客户端代码
273
+ - 使用`self.call_service[service_name].method()`替代HTTP调用
274
+ - 服务注册到SAGE环境而不是独立启动
275
+
276
+ ### 从集成式服务迁移
277
+ - 将大型服务拆分为独立的Service Task
278
+ - 使用服务调用替代直接方法调用
279
+ - 保持相同的业务逻辑和API
280
+
281
+ ## 🧪 运行演示
282
+
283
+ ```bash
284
+ # 快速启动
285
+ cd packages/sage-middleware
286
+ ./examples/run_demo.sh
287
+
288
+ # 或直接运行Python
289
+ python examples/dag_microservices_demo.py
290
+ ```
291
+
292
+ ## 📚 参考文档
293
+
294
+ - **微服务指南**: [MICROSERVICES_GUIDE.md](MICROSERVICES_GUIDE.md)
295
+ - **SAGE文档**: [packages/sage-kernel/src/sage/runtime/service/README.md](../sage-kernel/src/sage/runtime/service/README.md)
296
+ - **BaseServiceTask**: [packages/sage-kernel/src/sage/runtime/service/base_service_task.py](../sage-kernel/src/sage/runtime/service/base_service_task.py)
297
+
298
+ ---
299
+
300
+ ## ✅ 改造成果
301
+
302
+ 这次改造成功实现了您要求的所有目标:
303
+
304
+ 1. ✅ **继承sage-kernel的BaseServiceTask** - 所有服务都继承正确的基类
305
+ 2. ✅ **服务即Task** - 服务本质上是在DAG中运行的特殊Task
306
+ 3. ✅ **应用控制** - 用户在构建DAG时初始化服务,而非独立启动脚本
307
+ 4. ✅ **支持Ray** - 服务可以作为Ray Actor分布式运行
308
+ 5. ✅ **队列通信** - 使用SAGE统一的高性能队列机制
309
+ 6. ✅ **向后兼容** - 保留原有API兼容性
310
+
311
+ 现在SAGE拥有了真正的服务化架构,每个服务都是独立的Task,可以灵活组合、分布式部署,完全符合现代微服务架构的设计理念!
312
+ =======
313
+ # SAGE Middleware - 中间件组件
314
+
315
+ SAGE Middleware提供中间件服务,包含LLM中间件、API服务、任务队列等企业级功能。
316
+
317
+ ## 主要功能
318
+
319
+ ### LLM中间件服务
320
+ - **多模型支持**: OpenAI、Ollama、智谱AI、Cohere等
321
+ - **统一API**: 标准化的LLM调用接口
322
+ - **高性能推理**: 基于vLLM的优化推理服务
323
+ - **模型管理**: 动态模型加载和卸载
324
+
325
+ ### API服务
326
+ - **RESTful API**: 基于FastAPI的高性能API服务
327
+ - **认证授权**: JWT令牌和密码加密支持
328
+ - **服务发现**: 自动服务注册和发现
329
+
330
+ ### 任务队列
331
+ - **异步处理**: 基于Celery的分布式任务队列
332
+ - **监控界面**: Flower监控和管理界面
333
+ - **容错机制**: 任务重试和错误处理
334
+
335
+ ### 向量检索
336
+ - **FAISS集成**: 高性能向量相似度搜索
337
+ - **BM25搜索**: 传统文本检索算法
338
+ - **混合检索**: 向量和关键词混合检索
339
+
340
+ ## 安装
341
+
342
+ ```bash
343
+ pip install intellistream-sage-middleware
344
+ ```
345
+
346
+ ## 基本使用
347
+
348
+ ### 启动LLM服务
349
+
350
+ ```python
351
+ from sage.middleware.llm import LLMService
352
+
353
+ # 创建LLM服务
354
+ service = LLMService()
355
+
356
+ # 注册模型
357
+ service.register_model("gpt-3.5-turbo", provider="openai")
358
+ service.register_model("llama2", provider="ollama")
359
+
360
+ # 启动服务
361
+ service.start()
362
+ ```
363
+
364
+ ### API调用
365
+
366
+ ```python
367
+ import requests
368
+
369
+ # 文本生成
370
+ response = requests.post("http://localhost:8000/generate", json={
371
+ "model": "gpt-3.5-turbo",
372
+ "prompt": "Hello, how are you?",
373
+ "max_tokens": 100
374
+ })
375
+
376
+ result = response.json()
377
+ print(result["text"])
378
+ ```
379
+
380
+ ### 向量检索
381
+
382
+ ```python
383
+ from sage.middleware.retrieval import VectorStore
384
+
385
+ # 创建向量存储
386
+ store = VectorStore()
387
+
388
+ # 添加文档
389
+ store.add_documents([
390
+ "This is document 1",
391
+ "This is document 2"
392
+ ])
393
+
394
+ # 搜索
395
+ results = store.search("document", top_k=5)
396
+ for result in results:
397
+ print(f"Score: {result.score}, Text: {result.text}")
398
+ ```
399
+
400
+ ## 配置
401
+
402
+ 中间件服务可以通过环境变量或配置文件进行配置:
403
+
404
+ ```yaml
405
+ # config.yaml
406
+ llm:
407
+ providers:
408
+ openai:
409
+ api_key: "your-api-key"
410
+ ollama:
411
+ base_url: "http://localhost:11434"
412
+
413
+ api:
414
+ host: "0.0.0.0"
415
+ port: 8000
416
+
417
+ queue:
418
+ broker: "redis://localhost:6379"
419
+ backend: "redis://localhost:6379"
420
+ ```
421
+
422
+ ## 许可证
423
+
424
+ MIT License
@@ -0,0 +1,191 @@
1
+ sage/__init__.py,sha256=hnYdYMah-WlsTQgbV6tgWrg4AhoIq64ofK16IY-bYas,95
2
+ sage/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=JPU6FQoaLNqJ4nbF2wh_rKvER85xPGH8CQmNXWPDgQM,263
3
+ sage/__pycache__/__init__.cpython-311.pyc,sha256=JPU6FQoaLNqJ4nbF2wh_rKvER85xPGH8CQmNXWPDgQM,263
4
+ sage/middleware/__init__.py,sha256=GmNqyEyOuaDD_iNPzxkZw47zfamvVNHpkcqPKsE2Lek,2029
5
+ sage/middleware/py.typed,sha256=42WLrVlzpn7jMsIIEdXWWE5YOGnCHXrlnm5sbY6TFmQ,96
6
+ sage/middleware/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=8GP3uD03mz8RWT6ESctIJl8kEhB2PH6bPkbjCcLFCDE,2194
7
+ sage/middleware/__pycache__/__init__.cpython-311.pyc,sha256=8GP3uD03mz8RWT6ESctIJl8kEhB2PH6bPkbjCcLFCDE,2194
8
+ sage/middleware/api/__init__.py,sha256=xgNtgymRBfs45HCcAomqSMPqqIiMoZVOmPlRBrqIdfA,486
9
+ sage/middleware/api/graph_api.py,sha256=uRUwW_hI3QenETHGN3USlmKi7xaqxRpflDI7mA3xuI4,1696
10
+ sage/middleware/api/kv_api.py,sha256=7HVOn4naHDFxexZToteik99a2Bh_Kbeq4ZKeqxvxP3M,1008
11
+ sage/middleware/api/memory_api.py,sha256=JsZ5Z3wZGZqvr5EqBpK_pF7F9Cg-nHEykKJppPDzK_A,1647
12
+ sage/middleware/api/vdb_api.py,sha256=D_0HwYYGFzqnvG7rFs2INL4xadVwAypOkD_WrzQuJ70,1464
13
+ sage/middleware/api/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=CvizYFmDc36L5FMOxnUB01utf19ts85ZfnCktbCsl8U,765
14
+ sage/middleware/api/__pycache__/__init__.cpython-311.pyc,sha256=CvizYFmDc36L5FMOxnUB01utf19ts85ZfnCktbCsl8U,765
15
+ sage/middleware/api/__pycache__/graph_api.cpython-311.opt-2.pyc,sha256=ZgCcvI0NAYmXe4mkRjXOOYMRMD5uCctT5hRJw2NqoSk,3319
16
+ sage/middleware/api/__pycache__/graph_api.cpython-311.pyc,sha256=ZgCcvI0NAYmXe4mkRjXOOYMRMD5uCctT5hRJw2NqoSk,3319
17
+ sage/middleware/api/__pycache__/kv_api.cpython-311.opt-2.pyc,sha256=APLxLrJsWHUz8jJ_4rp5e7ioL-nTn1xsELPGW7QV2Os,2281
18
+ sage/middleware/api/__pycache__/kv_api.cpython-311.pyc,sha256=APLxLrJsWHUz8jJ_4rp5e7ioL-nTn1xsELPGW7QV2Os,2281
19
+ sage/middleware/api/__pycache__/memory_api.cpython-311.opt-2.pyc,sha256=QsxAiGpJyOfEizuXrjIuBjx2tvW78dhKsbRoLWJcoHY,3183
20
+ sage/middleware/api/__pycache__/memory_api.cpython-311.pyc,sha256=QsxAiGpJyOfEizuXrjIuBjx2tvW78dhKsbRoLWJcoHY,3183
21
+ sage/middleware/api/__pycache__/vdb_api.cpython-311.opt-2.pyc,sha256=EfvgwS9p3CFAFf2ECQ1JRVGBh7955NeefmizniqpR2c,3144
22
+ sage/middleware/api/__pycache__/vdb_api.cpython-311.pyc,sha256=EfvgwS9p3CFAFf2ECQ1JRVGBh7955NeefmizniqpR2c,3144
23
+ sage/middleware/enterprise/__init__.py,sha256=wN_G2dnOULLDK8afr0aUMntr4uRwRS5G_OsZNno4Wgs,2277
24
+ sage/middleware/enterprise/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=sx4hPxdF-nF-wHrADv2gSs9PyA60INyUpEAQTZ6zV3Y,3121
25
+ sage/middleware/enterprise/__pycache__/__init__.cpython-311.pyc,sha256=sx4hPxdF-nF-wHrADv2gSs9PyA60INyUpEAQTZ6zV3Y,3121
26
+ sage/middleware/enterprise/sage_db/__init__.py,sha256=ZqDsVY-kCtKj5EZBc36_89EmhdL6JILVtABXcAWRcU0,3606
27
+ sage/middleware/enterprise/sage_db/sage_db.py,sha256=XxVtoHRWQ4Cvy4EE9UViaGdmM0zTzq8btTlQjT7fsFY,14321
28
+ sage/middleware/enterprise/sage_db/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=VZoNwnIcx_WjGY8ipION4lNjdcyrH78GBj6DDkMmqpg,5501
29
+ sage/middleware/enterprise/sage_db/__pycache__/__init__.cpython-311.pyc,sha256=VZoNwnIcx_WjGY8ipION4lNjdcyrH78GBj6DDkMmqpg,5501
30
+ sage/middleware/enterprise/sage_db/__pycache__/sage_db.cpython-311.opt-2.pyc,sha256=Xe40GlszO2iNI9azgpMJ0e4Mqnznh5Y_3nIMbwWHxhs,21221
31
+ sage/middleware/enterprise/sage_db/__pycache__/sage_db.cpython-311.pyc,sha256=Xe40GlszO2iNI9azgpMJ0e4Mqnznh5Y_3nIMbwWHxhs,21221
32
+ sage/middleware/enterprise/sage_db/python/__init__.py,sha256=efanji1rMGDc1wPrqtWulnyAoDXxLNw_zX56KDwW174,99
33
+ sage/middleware/enterprise/sage_db/python/sage_db.py,sha256=PgjFEOA4DSZ7LKez7UI6IVkS_WHuiCbCNDSNDNPXp5o,1527
34
+ sage/middleware/enterprise/sage_db/python/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=JH4V3w7rPY_bbuha-Tqe5frgbiE9QTQlntvLh5RpX8Q,307
35
+ sage/middleware/enterprise/sage_db/python/__pycache__/__init__.cpython-311.pyc,sha256=JH4V3w7rPY_bbuha-Tqe5frgbiE9QTQlntvLh5RpX8Q,307
36
+ sage/middleware/enterprise/sage_db/python/__pycache__/sage_db.cpython-311.opt-2.pyc,sha256=vb9fdwr02SOYGNUS1kXjw6HnE82ZR1XgI9TxqRlQcRY,2182
37
+ sage/middleware/enterprise/sage_db/python/__pycache__/sage_db.cpython-311.pyc,sha256=vb9fdwr02SOYGNUS1kXjw6HnE82ZR1XgI9TxqRlQcRY,2182
38
+ sage/middleware/enterprise/sage_db/tests/test_python.py,sha256=IhH1-wlqfKcQ8UPmc8IHQR3ZESWM54RBKX9u6SB_tt0,4514
39
+ sage/middleware/enterprise/sage_db/tests/__pycache__/test_python.cpython-311.opt-2.pyc,sha256=RcZ1x4a4QgmPPWBVzPW1PRzcA7yajZ17jQrwbwjCW9Q,8519
40
+ sage/middleware/enterprise/sage_db/tests/__pycache__/test_python.cpython-311.pyc,sha256=RcZ1x4a4QgmPPWBVzPW1PRzcA7yajZ17jQrwbwjCW9Q,8519
41
+ sage/middleware/examples/api_usage_tutorial.py,sha256=elT636R7MJxDxeNqVLbD5fJq33tisaqxf32LrEp30F0,11422
42
+ sage/middleware/examples/dag_microservices_demo.py,sha256=8RECs5HdIze1qn_S7n-4uJau86jVIKZ9rhHHVL7D_1g,7685
43
+ sage/middleware/examples/microservices_demo.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
+ sage/middleware/examples/microservices_integration_demo.py,sha256=EDEWBXTWh8nEoTSpzo-KFrq7a_-R__YNxHJYRFDRzuc,16073
45
+ sage/middleware/examples/microservices_registration_demo.py,sha256=YRhgY7KSp-jBn1Qafe9YSkXWQjH5yA4bew8EFSUrzKg,5462
46
+ sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.opt-2.pyc,sha256=9vDIYJoRk4T4GnkIb-9sD4RygDlIM_H9V1Hn0BRThjU,15116
47
+ sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.pyc,sha256=9vDIYJoRk4T4GnkIb-9sD4RygDlIM_H9V1Hn0BRThjU,15116
48
+ sage/middleware/examples/__pycache__/dag_microservices_demo.cpython-311.opt-2.pyc,sha256=yZWtnhzBUrA-B4CbtZuslx2b8WDKFFTWSCAuod0VXwg,8911
49
+ sage/middleware/examples/__pycache__/dag_microservices_demo.cpython-311.pyc,sha256=yZWtnhzBUrA-B4CbtZuslx2b8WDKFFTWSCAuod0VXwg,8911
50
+ sage/middleware/examples/__pycache__/microservices_demo.cpython-311.opt-2.pyc,sha256=i_q-F1aj0kBdZ9FlXJwqxRZYBIp4kSLktMH-l9vIfgQ,155
51
+ sage/middleware/examples/__pycache__/microservices_demo.cpython-311.pyc,sha256=i_q-F1aj0kBdZ9FlXJwqxRZYBIp4kSLktMH-l9vIfgQ,155
52
+ sage/middleware/examples/__pycache__/microservices_integration_demo.cpython-311.opt-2.pyc,sha256=iXW4Ph_9PV68J5ahpjV4lthojI6HzJ6Dp77I0Sgrii0,15981
53
+ sage/middleware/examples/__pycache__/microservices_integration_demo.cpython-311.pyc,sha256=iXW4Ph_9PV68J5ahpjV4lthojI6HzJ6Dp77I0Sgrii0,15981
54
+ sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.opt-2.pyc,sha256=snG-m9RNeePBN4q1DyNm7uIaA8vB6FGNO-MHIDUskfw,5874
55
+ sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.pyc,sha256=snG-m9RNeePBN4q1DyNm7uIaA8vB6FGNO-MHIDUskfw,5874
56
+ sage/middleware/services/graph/__init__.py,sha256=G6ogM0i9pznlByQnKcQ9Ie2oUiHWPqLRBWsyjNu71Ew,185
57
+ sage/middleware/services/graph/graph_index.py,sha256=9RTc9R9RUcAze7ZfoFKWep5y93SdtBhqh9HnkeA3Uc8,7250
58
+ sage/middleware/services/graph/graph_service.py,sha256=Crm379943PEKDbdRNVBfSFwANJ2oVZK4IlG9CVdXiHI,18959
59
+ sage/middleware/services/graph/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=hfRLVY01TQJYDtoBPvvquoIK0K2duttt2_1q78BQjwE,374
60
+ sage/middleware/services/graph/__pycache__/__init__.cpython-311.pyc,sha256=hfRLVY01TQJYDtoBPvvquoIK0K2duttt2_1q78BQjwE,374
61
+ sage/middleware/services/graph/__pycache__/graph_index.cpython-311.opt-2.pyc,sha256=Zoc_5bIRC-6wJpYkHYxikid-zJoHU22BBCTZWKZ-GwA,9622
62
+ sage/middleware/services/graph/__pycache__/graph_index.cpython-311.pyc,sha256=Zoc_5bIRC-6wJpYkHYxikid-zJoHU22BBCTZWKZ-GwA,9622
63
+ sage/middleware/services/graph/__pycache__/graph_service.cpython-311.opt-2.pyc,sha256=PSxVVdhd8XTv2WHlhQ0CeYTM2u7PxvIg0rykUL5Ir_0,29289
64
+ sage/middleware/services/graph/__pycache__/graph_service.cpython-311.pyc,sha256=PSxVVdhd8XTv2WHlhQ0CeYTM2u7PxvIg0rykUL5Ir_0,29289
65
+ sage/middleware/services/graph/examples/graph_demo.py,sha256=jmkkYaHhBV0w-x4MsOoqnQZEDFLDLKIAfUTGYmE_zG0,7064
66
+ sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.opt-2.pyc,sha256=kPDim04pZBfsyT3lRoWByMB98KeXggR6w6AQE9Ub7EE,7812
67
+ sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.pyc,sha256=kPDim04pZBfsyT3lRoWByMB98KeXggR6w6AQE9Ub7EE,7812
68
+ sage/middleware/services/graph/search_engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
+ sage/middleware/services/graph/search_engine/base_graph_index.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=LadZ9gnr1FU4NBwoizfxmBYYIALkYHeyIJZQgeV90oY,165
71
+ sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.pyc,sha256=LadZ9gnr1FU4NBwoizfxmBYYIALkYHeyIJZQgeV90oY,165
72
+ sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.opt-2.pyc,sha256=sFhJulvbayz__eXwOQ-GuTN1gL0aLMpjG6-__aCqXSc,173
73
+ sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.pyc,sha256=sFhJulvbayz__eXwOQ-GuTN1gL0aLMpjG6-__aCqXSc,173
74
+ sage/middleware/services/kv/__init__.py,sha256=iVu2oUdmyTyPJSJKAtWfrTQrf6HWoUM7RJiMtDrl1QA,167
75
+ sage/middleware/services/kv/kv_service.py,sha256=wNhWfDwvFthtv7OynyVoztiRZks5QdeikTx5TUsC1Gk,10194
76
+ sage/middleware/services/kv/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=J54IvKs_wy-0VwomHACXv5z4HtCqgHVrqmQLwPZInxY,358
77
+ sage/middleware/services/kv/__pycache__/__init__.cpython-311.pyc,sha256=J54IvKs_wy-0VwomHACXv5z4HtCqgHVrqmQLwPZInxY,358
78
+ sage/middleware/services/kv/__pycache__/kv_service.cpython-311.opt-2.pyc,sha256=o1jWcxww9PKAyRqx5e3t_D5hk6s09BRq7LFeJlKDTLM,19019
79
+ sage/middleware/services/kv/__pycache__/kv_service.cpython-311.pyc,sha256=o1jWcxww9PKAyRqx5e3t_D5hk6s09BRq7LFeJlKDTLM,19019
80
+ sage/middleware/services/kv/examples/kv_demo.py,sha256=5Zh_-xhiIpxxsDfJ5ervbaO_3TnQ5nrSvytkzPCA7Xk,6308
81
+ sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.opt-2.pyc,sha256=IJEk_nkH760zFifZmCgqHYsIaQSun_AFw6b34ONpJkA,7721
82
+ sage/middleware/services/kv/examples/__pycache__/kv_demo.cpython-311.pyc,sha256=IJEk_nkH760zFifZmCgqHYsIaQSun_AFw6b34ONpJkA,7721
83
+ sage/middleware/services/kv/search_engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
+ sage/middleware/services/kv/search_engine/base_kv_index.py,sha256=LVoQmBxWZp7CfoUTqYDp2Z7ZRCAGwMxSo3zI-2jr-94,1855
85
+ sage/middleware/services/kv/search_engine/bm25s_index.py,sha256=PymXsPe1grfFFgJwCC1AAPQtaY7zMfX0CpbDUPSCszo,9392
86
+ sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=tVHsKB0Xs0QpV1QlEAYVjlFRjFdItNz-2uIEbre90gE,162
87
+ sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.pyc,sha256=tVHsKB0Xs0QpV1QlEAYVjlFRjFdItNz-2uIEbre90gE,162
88
+ sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.opt-2.pyc,sha256=-46-DUxr0kIjGrMMguA90KbOB6iexZkB8NemK62HnyY,3314
89
+ sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.pyc,sha256=-46-DUxr0kIjGrMMguA90KbOB6iexZkB8NemK62HnyY,3314
90
+ sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.opt-2.pyc,sha256=GWv6jLy7Y-YDFBISBOr94G2PPE89Fl5NZtxBHW9qztw,17187
91
+ sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.pyc,sha256=GWv6jLy7Y-YDFBISBOr94G2PPE89Fl5NZtxBHW9qztw,17187
92
+ sage/middleware/services/memory/__init__.py,sha256=n8kvfMSvB0JrlxI0FjuaeJr_baov_1PnFPB5UZ7Nmeo,264
93
+ sage/middleware/services/memory/memory_service.py,sha256=p_3TJX6OfSbt3bEXlbNfhfBNjiEus0iFUb-RW6AdcNA,18630
94
+ sage/middleware/services/memory/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=nyCOBMP-spn2sya5684Ri0KF8qjw_ehmZhxvB9vHfR0,422
95
+ sage/middleware/services/memory/__pycache__/__init__.cpython-311.pyc,sha256=nyCOBMP-spn2sya5684Ri0KF8qjw_ehmZhxvB9vHfR0,422
96
+ sage/middleware/services/memory/__pycache__/memory_service.cpython-311.opt-2.pyc,sha256=3RRlkM77TIYYQqE8yeuKORN7GNPNsIYVR33y8jW1_rY,21146
97
+ sage/middleware/services/memory/__pycache__/memory_service.cpython-311.pyc,sha256=3RRlkM77TIYYQqE8yeuKORN7GNPNsIYVR33y8jW1_rY,21146
98
+ sage/middleware/services/memory/examples/dag_microservices_demo.py,sha256=8RECs5HdIze1qn_S7n-4uJau86jVIKZ9rhHHVL7D_1g,7685
99
+ sage/middleware/services/memory/examples/memory_demo.py,sha256=NtJXIGTuk707s2Vbk845nNQgfC_KgDPU1PK2IzA6Vgs,17647
100
+ sage/middleware/services/memory/examples/__pycache__/dag_microservices_demo.cpython-311.opt-2.pyc,sha256=rSNsv5_Ht_6noIlCWJoEBf7tD8fbBtdaowNEKNx_kJg,8927
101
+ sage/middleware/services/memory/examples/__pycache__/dag_microservices_demo.cpython-311.pyc,sha256=rSNsv5_Ht_6noIlCWJoEBf7tD8fbBtdaowNEKNx_kJg,8927
102
+ sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.opt-2.pyc,sha256=udUCh3Y5y_2dt_CtWKILA0F5WjDurxxp0TyGJm8ANAU,18611
103
+ sage/middleware/services/memory/examples/__pycache__/memory_demo.cpython-311.pyc,sha256=udUCh3Y5y_2dt_CtWKILA0F5WjDurxxp0TyGJm8ANAU,18611
104
+ sage/middleware/services/memory/memory_collection/base_collection.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
+ sage/middleware/services/memory/memory_collection/graph_collection.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
+ sage/middleware/services/memory/memory_collection/kv_collection.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
+ sage/middleware/services/memory/memory_collection/vdb_collection.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
+ sage/middleware/services/memory/memory_collection/__pycache__/base_collection.cpython-311.opt-2.pyc,sha256=DRHvSFJ9awVaR8nuULBO5oc7Tg-AaMldqCxT0gdNnhA,177
109
+ sage/middleware/services/memory/memory_collection/__pycache__/base_collection.cpython-311.pyc,sha256=DRHvSFJ9awVaR8nuULBO5oc7Tg-AaMldqCxT0gdNnhA,177
110
+ sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc,sha256=31gqy-68rpFaCTfYMvcGF3Jku7yxUm48KBimoK-Cen0,178
111
+ sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.pyc,sha256=31gqy-68rpFaCTfYMvcGF3Jku7yxUm48KBimoK-Cen0,178
112
+ sage/middleware/services/memory/memory_collection/__pycache__/kv_collection.cpython-311.opt-2.pyc,sha256=-80PnHq9yImxg--v0mB_CZItyM7DKhZsOL7lLcmcD68,175
113
+ sage/middleware/services/memory/memory_collection/__pycache__/kv_collection.cpython-311.pyc,sha256=-80PnHq9yImxg--v0mB_CZItyM7DKhZsOL7lLcmcD68,175
114
+ sage/middleware/services/memory/memory_collection/__pycache__/vdb_collection.cpython-311.opt-2.pyc,sha256=4PbvMD4MLjzNvTXxn6iherp7YeyfOVBjkB6uwi5_Nyc,176
115
+ sage/middleware/services/memory/memory_collection/__pycache__/vdb_collection.cpython-311.pyc,sha256=4PbvMD4MLjzNvTXxn6iherp7YeyfOVBjkB6uwi5_Nyc,176
116
+ sage/middleware/services/memory/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
+ sage/middleware/services/memory/utils/path_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
+ sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=ACdqFMUySqFGRzu-5s03pQ2jlPZJ2OWTHSuZ5e-5oXU,158
119
+ sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.pyc,sha256=ACdqFMUySqFGRzu-5s03pQ2jlPZJ2OWTHSuZ5e-5oXU,158
120
+ sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.opt-2.pyc,sha256=lN5CEXKcPeKpoTMPbg8kbdLJVY7gW2UQhfotQo9ubkU,160
121
+ sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.pyc,sha256=lN5CEXKcPeKpoTMPbg8kbdLJVY7gW2UQhfotQo9ubkU,160
122
+ sage/middleware/services/vdb/__init__.py,sha256=echS5yvbRAihgMAoYBQoAQA-e-DbHGboM8NBrVy5KXA,176
123
+ sage/middleware/services/vdb/vdb_service.py,sha256=9D-FY2Qyr92VNBChGHY6sGKf58IkdZLeVXmjImiQtGM,15484
124
+ sage/middleware/services/vdb/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=wUSxHT-xOrmkgBRx1rAagv7JoSnNahrlXM8-k--wUp0,367
125
+ sage/middleware/services/vdb/__pycache__/__init__.cpython-311.pyc,sha256=wUSxHT-xOrmkgBRx1rAagv7JoSnNahrlXM8-k--wUp0,367
126
+ sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.opt-2.pyc,sha256=CiiiQZ5IBKkYRgr9YTJE0KVhBssmiEq2p_fUBxkvwKY,22842
127
+ sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.pyc,sha256=CiiiQZ5IBKkYRgr9YTJE0KVhBssmiEq2p_fUBxkvwKY,22842
128
+ sage/middleware/services/vdb/examples/vdb_demo.py,sha256=wH1qxTuLwAcOQDCHY7tB3Ix8fzJ5jcFNcwU8lBuIRaM,14335
129
+ sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.opt-2.pyc,sha256=O0ZYvxBGmuACXpj0mvzgby_DbloEp-jTEJANvfWxEXA,16124
130
+ sage/middleware/services/vdb/examples/__pycache__/vdb_demo.cpython-311.pyc,sha256=O0ZYvxBGmuACXpj0mvzgby_DbloEp-jTEJANvfWxEXA,16124
131
+ sage/middleware/services/vdb/search_engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
+ sage/middleware/services/vdb/search_engine/base_vdb_index.py,sha256=F9JOY4EiOE5_G1i97Du8CpJdwCB1Dghu4DhkIIRU12Y,1594
133
+ sage/middleware/services/vdb/search_engine/faiss_index.py,sha256=0Sy1QsbzfDxnsIlvPyNSs_nHHJw_GYfiHC1iFXONZkw,19146
134
+ sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=RJCIjVSzO0WvfijZe86lr5P-TuRp4tHvNHtS8rfzW48,163
135
+ sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.pyc,sha256=RJCIjVSzO0WvfijZe86lr5P-TuRp4tHvNHtS8rfzW48,163
136
+ sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.opt-2.pyc,sha256=o1SOkmqMalQpeW6dCGPLjUHGWPquTC8RcSS5BsZbG1A,3164
137
+ sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.pyc,sha256=o1SOkmqMalQpeW6dCGPLjUHGWPquTC8RcSS5BsZbG1A,3164
138
+ sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.opt-2.pyc,sha256=u2ol_9cnBLfdS6pB4S5Qrs3RWDDxNu-Yz17nQsAwxLo,28450
139
+ sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.pyc,sha256=u2ol_9cnBLfdS6pB4S5Qrs3RWDDxNu-Yz17nQsAwxLo,28450
140
+ sage/middleware/utils/__init__.py,sha256=XUWrIIGmdzBmxk1r7CbQpHCEHd3xbOhscpGpDSAhzLY,60
141
+ sage/middleware/utils/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=kj3JVv5lnZM-dH_R_oMnEwRNr2u3_MosyFBqEE31gHU,220
142
+ sage/middleware/utils/__pycache__/__init__.cpython-311.pyc,sha256=kj3JVv5lnZM-dH_R_oMnEwRNr2u3_MosyFBqEE31gHU,220
143
+ sage/middleware/utils/embedding/__init__.py,sha256=qlFticMUQJyL9h3T4CWkH7AzZCUmQ-EhON_Qli1C5Rg,676
144
+ sage/middleware/utils/embedding/_cohere.py,sha256=6O6g5zvcQaSzaHfwaen6xZqVq6GMNj9_b1VK0bSQiEI,1620
145
+ sage/middleware/utils/embedding/bedrock.py,sha256=WZJu43V5693vmxYGdH7cZXhpfhlx65JSF9fdP6vyFuY,5109
146
+ sage/middleware/utils/embedding/embedding_api.py,sha256=_YHTD0SKgSYyzmR3BCAJ2YUjQnL2ted7HqlEh0TDlkw,578
147
+ sage/middleware/utils/embedding/embedding_model.py,sha256=FMws3uLQwfXbcdJXLsG8kpasCMDz0M_pjii-zo9VPAM,5532
148
+ sage/middleware/utils/embedding/hf.py,sha256=72JRokHqD0khpIKsrC1a1SFxf3txT8oUgBmyumfh1u4,2580
149
+ sage/middleware/utils/embedding/instructor.py,sha256=DsLtV-RxPnfrFYRoc7pzJ9Bo5bgaY4bBk0fIyB3glrc,296
150
+ sage/middleware/utils/embedding/jina.py,sha256=ZSAI9LKmn9Xf-O4mIDdggAgB1Q9WdfOrAJ7lY7veRIg,3059
151
+ sage/middleware/utils/embedding/lollms.py,sha256=O5A3ZVz5IC4k1qWlZTGhLeGDVwtT_ck0RyrZ8vSuyUM,2692
152
+ sage/middleware/utils/embedding/mockembedder.py,sha256=ppSzikYG1npLxs2ps6YAkjKWDz8xnAQobdrHl19iIfs,2138
153
+ sage/middleware/utils/embedding/nvidia_openai.py,sha256=tT6tXql8fv_BjlXhjyYfSCUbqUdQOLmGKYJHHWuPOy4,2690
154
+ sage/middleware/utils/embedding/ollama.py,sha256=tZ5LFFReQYOsnC6aQzRlpWRspjzS8Pa4Fd5hWjHtv_c,2286
155
+ sage/middleware/utils/embedding/openai.py,sha256=If_ZGbn6wQbyjlN9tlkqjPNOk8QDX_ljTLm_RbKp7v4,2850
156
+ sage/middleware/utils/embedding/siliconcloud.py,sha256=pYsGq9n3HqH3jWhei32154Wqw1FHIk_4Vw--1Y1xtrk,3460
157
+ sage/middleware/utils/embedding/zhipu.py,sha256=S5pvKjd-jl5T8SrX-zNWpBwRx828A386UovRJQzD_88,2181
158
+ sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.opt-2.pyc,sha256=J_8wh0iW8EbQA_SGghq1ycv9_naTtFytDsA9fb7swYA,985
159
+ sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.pyc,sha256=J_8wh0iW8EbQA_SGghq1ycv9_naTtFytDsA9fb7swYA,985
160
+ sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.opt-2.pyc,sha256=BwW0f9SkXofHkHxMF3_cOuPkL_M-5KxdFas9A0e43TM,2263
161
+ sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.pyc,sha256=BwW0f9SkXofHkHxMF3_cOuPkL_M-5KxdFas9A0e43TM,2263
162
+ sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.opt-2.pyc,sha256=R9PnJ_QV-k-VO0wc_BoLjrHJ-ex3fwDTxfSfFT7pCME,6405
163
+ sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.pyc,sha256=R9PnJ_QV-k-VO0wc_BoLjrHJ-ex3fwDTxfSfFT7pCME,6405
164
+ sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.opt-2.pyc,sha256=msuTgmk0Q3UvWSxPg-RuC720u9aKZdKUrb9ah5jnydY,902
165
+ sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.pyc,sha256=msuTgmk0Q3UvWSxPg-RuC720u9aKZdKUrb9ah5jnydY,902
166
+ sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.opt-2.pyc,sha256=-Em36JLLRoIGisQz_8w8a-ffs44FmJlUXXkSSM23HFE,7638
167
+ sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.pyc,sha256=-Em36JLLRoIGisQz_8w8a-ffs44FmJlUXXkSSM23HFE,7638
168
+ sage/middleware/utils/embedding/__pycache__/hf.cpython-311.opt-2.pyc,sha256=sZkub_gLfC5VSJmaOp89CQ87cqtEVFEG-GaWFr9tfEg,3915
169
+ sage/middleware/utils/embedding/__pycache__/hf.cpython-311.pyc,sha256=sZkub_gLfC5VSJmaOp89CQ87cqtEVFEG-GaWFr9tfEg,3915
170
+ sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.opt-2.pyc,sha256=8CDzhVq05pPUWm9-aHJlp0zBFJbw_8Fy43aqya7mnPA,738
171
+ sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.pyc,sha256=8CDzhVq05pPUWm9-aHJlp0zBFJbw_8Fy43aqya7mnPA,738
172
+ sage/middleware/utils/embedding/__pycache__/jina.cpython-311.opt-2.pyc,sha256=VN8E7uUbIQek_5MoTUTdWumf8qfI4PrNA-S1xOgdzPk,4579
173
+ sage/middleware/utils/embedding/__pycache__/jina.cpython-311.pyc,sha256=VN8E7uUbIQek_5MoTUTdWumf8qfI4PrNA-S1xOgdzPk,4579
174
+ sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.opt-2.pyc,sha256=G3BW1ScI95tXdT00QbKQHUAmNRUDqZyCvSevoX_la_E,4125
175
+ sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.pyc,sha256=G3BW1ScI95tXdT00QbKQHUAmNRUDqZyCvSevoX_la_E,4125
176
+ sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.opt-2.pyc,sha256=SMuOJz5FwRb2BwOt-8hWgpeUgy94QuW1lH74NbdK0S8,4146
177
+ sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.pyc,sha256=SMuOJz5FwRb2BwOt-8hWgpeUgy94QuW1lH74NbdK0S8,4146
178
+ sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.opt-2.pyc,sha256=cgxXGBr35OTD1l5nT3hzLdJ-6MFp1iNop4NZ_lfLjVw,3049
179
+ sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.pyc,sha256=cgxXGBr35OTD1l5nT3hzLdJ-6MFp1iNop4NZ_lfLjVw,3049
180
+ sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.opt-2.pyc,sha256=tF6jPfjlaTNo5C2vh7OTSzt1CRjmtAa-NhRCKZfNoQE,2774
181
+ sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.pyc,sha256=tF6jPfjlaTNo5C2vh7OTSzt1CRjmtAa-NhRCKZfNoQE,2774
182
+ sage/middleware/utils/embedding/__pycache__/openai.cpython-311.opt-2.pyc,sha256=8R-E8KbSio_FL_CQwZ2DIL4sLjCOwLEzun7d72OrA0U,3226
183
+ sage/middleware/utils/embedding/__pycache__/openai.cpython-311.pyc,sha256=8R-E8KbSio_FL_CQwZ2DIL4sLjCOwLEzun7d72OrA0U,3226
184
+ sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.opt-2.pyc,sha256=ThwaWALQGb9WHRgQSyvvzebLjt0YWR7kyyMT42TUpcU,5207
185
+ sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.pyc,sha256=ThwaWALQGb9WHRgQSyvvzebLjt0YWR7kyyMT42TUpcU,5207
186
+ sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.opt-2.pyc,sha256=nywMcRevHDtOBk3m281wwW9ERCTnSyQvWwf--G9Uuj8,3077
187
+ sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.pyc,sha256=nywMcRevHDtOBk3m281wwW9ERCTnSyQvWwf--G9Uuj8,3077
188
+ isage_middleware-0.1.0.dist-info/METADATA,sha256=V7qH45fqwKKFZFmbbLaQhZVtH1KfS9NqF0t758f0UJM,13734
189
+ isage_middleware-0.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
190
+ isage_middleware-0.1.0.dist-info/top_level.txt,sha256=hibFyzQHiLOMK68qL1OWsNKaXOmSXqZjeLTBem6Yy7I,5
191
+ isage_middleware-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ sage
sage/__init__.py ADDED
@@ -0,0 +1,2 @@
1
+ # This is a namespace package
2
+ __path__ = __import__('pkgutil').extend_path(__path__, __name__)