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,68 +0,0 @@
1
- import os
2
- import cohere
3
- import asyncio
4
-
5
- import numpy as np
6
-
7
-
8
- async def cohere_embed(
9
- texts: list[str], api_key: str, model: str = "embed-multilingual-v3.0", input_type: str = "classification",
10
- embedding_types: list[str] = ["float"]
11
- ) -> list[float]:
12
- if api_key is None:
13
- api_key = os.environ.get("COHERE_API_KEY")
14
- # print(api_key)
15
- co = cohere.AsyncClient(api_key=api_key)
16
-
17
- response = await co.embed(
18
- texts=texts,
19
- model=model,
20
- input_type=input_type,
21
- # embedding_types=embedding_types
22
- )
23
- return response.embeddings
24
-
25
- import os
26
- import cohere
27
-
28
- def cohere_embed_sync(
29
- texts: list[str],
30
- api_key: str = None,
31
- model: str = "embed-multilingual-v3.0",
32
- input_type: str = "classification",
33
- embedding_types: list[str] = ["float"]
34
- ) -> list[list[float]]:
35
- """
36
- 同步版本:使用 Cohere 同步客户端生成文本 embeddings。
37
-
38
- Args:
39
- texts: 文本列表
40
- api_key: Cohere API Key
41
- model: 模型名称
42
- input_type: 输入类型,如 classification、search_document 等
43
- embedding_types: 嵌入格式(默认 float)
44
-
45
- Returns:
46
- list[list[float]]: 每个文本对应的嵌入向量
47
- """
48
- if api_key is None:
49
- api_key = os.environ.get("COHERE_API_KEY")
50
- if api_key is None:
51
- raise ValueError("Cohere API key must be provided.")
52
-
53
- co = cohere.Client(api_key=api_key)
54
-
55
- response = co.embed(
56
- texts=texts,
57
- model=model,
58
- input_type=input_type,
59
- embedding_types=embedding_types,
60
- )
61
- return response.embeddings
62
-
63
-
64
-
65
-
66
-
67
-
68
-
@@ -1,174 +0,0 @@
1
- import copy
2
- import os
3
- import json
4
-
5
- import pipmaster as pm # Pipmaster for dynamic library install
6
-
7
- # Dependencies should be installed via requirements.txt
8
- # aioboto3 and tenacity are required for this module
9
-
10
- try:
11
- import aioboto3
12
- except ImportError:
13
- raise ImportError(
14
- "aioboto3 package is required for AWS Bedrock embedding functionality. "
15
- "Please install it via: pip install aioboto3"
16
- )
17
-
18
- try:
19
- from tenacity import (
20
- retry,
21
- stop_after_attempt,
22
- wait_exponential,
23
- retry_if_exception_type,
24
- )
25
- except ImportError:
26
- raise ImportError(
27
- "tenacity package is required for AWS Bedrock embedding functionality. "
28
- "Please install it via: pip install tenacity"
29
- )
30
-
31
- import numpy as np
32
-
33
-
34
-
35
- class BedrockError(Exception):
36
- """Generic error for issues related to Amazon Bedrock"""
37
-
38
-
39
-
40
- async def bedrock_embed(
41
- text: str,
42
- model: str = "amazon.titan-embed-text-v2:0",
43
- aws_access_key_id=None,
44
- aws_secret_access_key=None,
45
- aws_session_token=None,
46
- ) -> list:
47
- os.environ["AWS_ACCESS_KEY_ID"] = os.environ.get(
48
- "AWS_ACCESS_KEY_ID", aws_access_key_id
49
- )
50
- os.environ["AWS_SECRET_ACCESS_KEY"] = os.environ.get(
51
- "AWS_SECRET_ACCESS_KEY", aws_secret_access_key
52
- )
53
- os.environ["AWS_SESSION_TOKEN"] = os.environ.get(
54
- "AWS_SESSION_TOKEN", aws_session_token
55
- )
56
-
57
- session = aioboto3.Session()
58
- async with session.client("bedrock-sage.kernels.runtime") as bedrock_async_client:
59
- model_provider = model.split(".")[0]
60
-
61
- if model_provider == "amazon":
62
- if "v2" in model:
63
- body = json.dumps({
64
- "inputText": text,
65
- "embeddingTypes": ["float"],
66
- })
67
- elif "v1" in model:
68
- body = json.dumps({"inputText": text})
69
- else:
70
- raise ValueError(f"Model {model} is not supported!")
71
-
72
- response = await bedrock_async_client.invoke_model(
73
- modelId=model,
74
- body=body,
75
- accept="application/json",
76
- contentType="application/json",
77
- )
78
-
79
- response_body = await response.get("body").json()
80
- return response_body["embedding"]
81
-
82
- elif model_provider == "cohere":
83
- body = json.dumps({
84
- "texts": [text],
85
- "input_type": "search_document",
86
- "truncate": "NONE",
87
- })
88
-
89
- response = await bedrock_async_client.invoke_model(
90
- model=model,
91
- body=body,
92
- accept="application/json",
93
- contentType="application/json",
94
- )
95
-
96
- response_body = json.loads(response.get("body").read())
97
- return response_body["embeddings"][0]
98
-
99
- else:
100
- raise ValueError(f"Model provider '{model_provider}' is not supported!")
101
-
102
-
103
- import os
104
- import json
105
- import boto3
106
-
107
- def bedrock_embed_sync(
108
- text: str,
109
- model: str = "amazon.titan-embed-text-v2:0",
110
- aws_access_key_id=None,
111
- aws_secret_access_key=None,
112
- aws_session_token=None,
113
- ) -> list[float]:
114
- """
115
- 同步版本:使用 AWS Bedrock 生成 embedding。
116
-
117
- Args:
118
- text: 输入文本
119
- model: 模型 ID,例如 "amazon.titan-embed-text-v2:0"
120
- aws_access_key_id / secret / session_token: 可选 AWS 认证信息
121
-
122
- Returns:
123
- list[float]: embedding 向量
124
- """
125
- # 设置 AWS 环境变量(优先从参数取)
126
- if aws_access_key_id:
127
- os.environ["AWS_ACCESS_KEY_ID"] = aws_access_key_id
128
- if aws_secret_access_key:
129
- os.environ["AWS_SECRET_ACCESS_KEY"] = aws_secret_access_key
130
- if aws_session_token:
131
- os.environ["AWS_SESSION_TOKEN"] = aws_session_token
132
-
133
- bedrock_client = boto3.client("bedrock-sage.kernels.runtime")
134
-
135
- model_provider = model.split(".")[0]
136
-
137
- if model_provider == "amazon":
138
- if "v2" in model:
139
- body = json.dumps({
140
- "inputText": text,
141
- "embeddingTypes": ["float"],
142
- })
143
- elif "v1" in model:
144
- body = json.dumps({"inputText": text})
145
- else:
146
- raise ValueError(f"Model {model} is not supported!")
147
-
148
- response = bedrock_client.invoke_model(
149
- modelId=model,
150
- body=body,
151
- accept="application/json",
152
- contentType="application/json",
153
- )
154
- response_body = json.loads(response["body"].read())
155
- return response_body["embedding"]
156
-
157
- elif model_provider == "cohere":
158
- body = json.dumps({
159
- "texts": [text],
160
- "input_type": "search_document",
161
- "truncate": "NONE",
162
- })
163
-
164
- response = bedrock_client.invoke_model(
165
- modelId=model,
166
- body=body,
167
- accept="application/json",
168
- contentType="application/json",
169
- )
170
- response_body = json.loads(response["body"].read())
171
- return response_body["embeddings"][0]
172
-
173
- else:
174
- raise ValueError(f"Model provider '{model_provider}' is not supported!")
@@ -1,12 +0,0 @@
1
- from sage.middleware.utils.embedding.embedding_model import EmbeddingModel
2
-
3
-
4
- def apply_embedding_model(name: str = "default",**kwargs) -> EmbeddingModel:
5
- """
6
- usage 参见sage/api/model/operator_test.py
7
- while name(method) = "hf", please set the param:model;
8
- while name(method) = "openai",if you need call other APIs which are compatible with openai,set the params:base_url,api_key,model;
9
- while name(method) = "jina/siliconcloud/cohere",please set the params:api_key,model;
10
- Example:operator_test.py
11
- """
12
- return EmbeddingModel(method=name,**kwargs)
@@ -1,150 +0,0 @@
1
- import os
2
- import sys
3
- os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
4
-
5
- # 添加项目根目录到Python路径
6
- sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../../..")))
7
-
8
- import time
9
-
10
- from dotenv import load_dotenv
11
-
12
- load_dotenv()
13
-
14
- from sage.middleware.utils.embedding import hf, ollama, siliconcloud, openai, bedrock, zhipu, mockembedder # , instructor
15
- from sage.middleware.utils.embedding import _cohere, nvidia_openai, lollms, jina
16
- from transformers import AutoModel, AutoTokenizer
17
-
18
-
19
- class EmbeddingModel:
20
- # def __init__(self, method: str = "openai", model: str = "mistral-embed",
21
- # base_url: str = None, api_key: str = None):
22
- def __init__(self, method: str = "openai", **kwargs):
23
- """
24
- 初始化 embedding table
25
- :param method: 指定使用的 embedding 方法名称,例如 "openai" 或 "cohere" 或“hf"等
26
- """
27
- self.init_method = method
28
- self.dim = None
29
- if method == "default":
30
- method = "hf"
31
- kwargs["model"] = "sentence-transformers/all-MiniLM-L6-v2"
32
-
33
- if method == "mockembedder":
34
- kwargs["model"] = "mockembedder" # 确保 model 参数存在
35
- if "fixed_dim" not in kwargs:
36
- kwargs["fixed_dim"] = 128 # 默认维度
37
-
38
- self.set_dim(kwargs["model"] )
39
- self.method = method
40
-
41
- # self.kwargs = {}
42
- self.kwargs = kwargs
43
- if method == "hf":
44
- if "model" not in kwargs:
45
- raise ValueError("hf method need model")
46
- model_name = kwargs["model"]
47
- self.kwargs["tokenizer"] = AutoTokenizer.from_pretrained(model_name)
48
- self.kwargs["embed_model"] = AutoModel.from_pretrained(model_name, trust_remote_code=True)
49
- self.kwargs.pop("model")
50
- elif method == "mockembedder":
51
- # 初始化 mockembedder
52
- self.kwargs["embed_model"] = mockembedder.MockTextEmbedder(
53
- model_name="mock-model",
54
- fixed_dim=kwargs.get("fixed_dim", 128)
55
- )
56
- self.embed_fn = self._get_embed_function(method)
57
-
58
- def set_dim(self, model_name):
59
- """
60
- :param model_name:
61
- :return:
62
- """
63
- dimension_mapping = {
64
- "mistral_embed": 1024,
65
- "embed-multilingual-v3.0":1024,
66
- "embed-english-v3.0": 1024,
67
- "embed-english-light-v3.0": 384,
68
- "embed-multilingual-light-v3.0": 384,
69
- "embed-english-v2.0": 4096,
70
- "embed-english-light-v2.0": 1024,
71
- "embed-multilingual-v2.0": 768,
72
- "jina-embeddings-v3":1024,
73
- "BAAI/bge-m3":1024,
74
- "sentence-transformers/all-MiniLM-L6-v2":384,
75
- "mockembedder": 128
76
- }
77
- if model_name in dimension_mapping:
78
- self.dim = dimension_mapping[model_name]
79
- else:
80
- raise ValueError(f"<UNK> embedding <UNK>{model_name}")
81
-
82
- def get_dim(self):
83
- return self.dim
84
-
85
- def _get_embed_function(self, method: str):
86
- """根据方法名返回对应的 embedding 函数"""
87
- mapping = {
88
- "openai": openai.openai_embed_sync,
89
- "zhipu": zhipu.zhipu_embedding_sync,
90
- "bedrock": bedrock.bedrock_embed_sync,
91
- "hf": hf.hf_embed_sync,
92
- "jina": jina.jina_embed_sync,
93
- # "llama_index_impl": llama_index_impl.llama_index_embed,
94
- "lollms": lollms.lollms_embed_sync,
95
- "nvidia_openai": nvidia_openai.nvidia_openai_embed_sync,
96
- "ollama": ollama.ollama_embed_sync,
97
- "siliconcloud": siliconcloud.siliconcloud_embedding_sync,
98
- "cohere": _cohere.cohere_embed_sync,
99
- "mockembedder": lambda text, **kwargs: kwargs["embed_model"].encode(text).tolist(),
100
- # "instructor": instructor.instructor_embed
101
- }
102
- if method not in mapping:
103
- raise ValueError(f"不支持的 embedding 方法:{method}")
104
-
105
- embed_fn = mapping[method]
106
-
107
- return embed_fn
108
-
109
- def _embed(self, text: str) -> list[float]:
110
- """
111
- 异步执行 embedding 操作
112
- :param text: 要 embedding 的文本
113
- :param kwargs: embedding 方法可能需要的额外参数
114
- :return: embedding 后的结果
115
- """
116
- return self.embed_fn(text, **self.kwargs)
117
-
118
- def embed(self, text: str) -> list[float]:
119
- return self._embed(text)
120
-
121
- def encode(self, text: str) -> list[float]:
122
- return self._embed(text)
123
-
124
- @property
125
- def method_name(self) -> str:
126
- """当前embedding方法名"""
127
- return self.init_method
128
-
129
-
130
- def apply_embedding_model(name: str = "default",**kwargs) -> EmbeddingModel:
131
- """
132
- usage 参见sage/api/model/operator_test.py
133
- while name(method) = "hf", please set the param:model;
134
- while name(method) = "openai",if you need call other APIs which are compatible with openai,set the params:base_url,api_key,model;
135
- while name(method) = "jina/siliconcloud/cohere",please set the params:api_key,model;
136
- Example:operator_test.py
137
- """
138
- return EmbeddingModel(method=name,**kwargs)
139
-
140
- def main():
141
- embedding_model = EmbeddingModel(method="hf",model = "sentence-transformers/all-MiniLM-L6-v2")
142
- for i in range(10):
143
- start = time.time()
144
- v = embedding_model.embed(f"{i} times ")
145
- print(v)
146
- end = time.time()
147
- print(f"embedding time :{end-start}")
148
-
149
- if __name__ =="__main__":
150
- main()
@@ -1,90 +0,0 @@
1
- import asyncio
2
- import copy
3
- import os
4
- from functools import lru_cache
5
- import asyncio
6
- import pipmaster as pm # Pipmaster for dynamic library install
7
-
8
- # Dependencies should be installed via requirements.txt
9
- # transformers, torch, tenacity, and numpy are required for this module
10
-
11
- try:
12
- from transformers import AutoTokenizer, AutoModelForCausalLM, AutoModel
13
- except ImportError:
14
- raise ImportError(
15
- "transformers package is required for HuggingFace embedding functionality. "
16
- "Please install it via: pip install transformers"
17
- )
18
-
19
- try:
20
- import torch
21
- except ImportError:
22
- raise ImportError(
23
- "torch package is required for HuggingFace embedding functionality. "
24
- "Please install it via: pip install torch"
25
- )
26
-
27
- try:
28
- import tenacity
29
- except ImportError:
30
- raise ImportError(
31
- "tenacity package is required for HuggingFace embedding functionality. "
32
- "Please install it via: pip install tenacity"
33
- )
34
-
35
- try:
36
- import numpy
37
- except ImportError:
38
- raise ImportError(
39
- "numpy package is required for HuggingFace embedding functionality. "
40
- "Please install it via: pip install numpy"
41
- )
42
-
43
- os.environ["TOKENIZERS_PARALLELISM"] = "false"
44
-
45
- @lru_cache(maxsize=1)
46
- def initialize_hf_model(model_name):
47
- hf_tokenizer = AutoTokenizer.from_pretrained(
48
- model_name, device_map="auto", trust_remote_code=True
49
- )
50
- hf_model = AutoModelForCausalLM.from_pretrained(
51
- model_name, device_map="auto", trust_remote_code=True
52
- )
53
- if hf_tokenizer.pad_token is None:
54
- hf_tokenizer.pad_token = hf_tokenizer.eos_token
55
-
56
- return hf_model, hf_tokenizer
57
-
58
-
59
- import torch
60
-
61
- def hf_embed_sync(text: str, tokenizer, embed_model) -> list[float]:
62
- """
63
- 使用 HuggingFace 模型同步生成文本 embedding。
64
-
65
- Args:
66
- text (str): 输入文本
67
- tokenizer: 已加载的 tokenizer
68
- embed_model: 已加载的 PyTorch embedding 模型
69
-
70
- Returns:
71
- list[float]: embedding 向量
72
- """
73
- device = next(embed_model.parameters()).device
74
- encoded_texts = tokenizer(
75
- text, return_tensors="pt", padding=True, truncation=True
76
- ).to(device)
77
-
78
- with torch.no_grad():
79
- outputs = embed_model(
80
- input_ids=encoded_texts["input_ids"],
81
- attention_mask=encoded_texts["attention_mask"],
82
- )
83
- embeddings = outputs.last_hidden_state.mean(dim=1)
84
-
85
- if embeddings.dtype == torch.bfloat16:
86
- return embeddings.detach().to(torch.float32).cpu()[0].tolist()
87
- else:
88
- return embeddings.detach().cpu()[0].tolist()
89
-
90
-
@@ -1,10 +0,0 @@
1
- import numpy as np
2
- from InstructorEmbedding import INSTRUCTOR
3
- from sentence_transformers import SentenceTransformer
4
-
5
-
6
- async def instructor_embed(
7
- texts: [str], model: str = "hkunlp/instructor-large"
8
- ) -> [np.array]:
9
- _model = SentenceTransformer(model)
10
- return _model.encode(texts)
@@ -1,115 +0,0 @@
1
- import asyncio
2
- import os
3
- import pipmaster as pm # Pipmaster for dynamic library install
4
-
5
- # Dependencies should be installed via requirements.txt
6
- # tenacity is required for this module
7
-
8
- try:
9
- import tenacity
10
- except ImportError:
11
- raise ImportError(
12
- "tenacity package is required for Jina embedding functionality. "
13
- "Please install it via: pip install tenacity"
14
- )
15
-
16
- try:
17
- import aiohttp
18
- except ImportError:
19
- raise ImportError(
20
- "aiohttp package is required for Jina embedding functionality. "
21
- "Please install it via: pip install aiohttp"
22
- )
23
-
24
- import numpy as np
25
-
26
-
27
- async def fetch_data(url, headers, data):
28
- async with aiohttp.ClientSession() as session:
29
- async with session.post(url, headers=headers, json=data) as response:
30
- response_json = await response.json()
31
- data_list = response_json.get("data", [])
32
- return data_list
33
-
34
-
35
- async def jina_embed(
36
- text: str,
37
- dimensions: int = 1024,
38
- late_chunking: bool = False,
39
- base_url: str = None,
40
- api_key: str = None,
41
- model:str="jina-embeddings-v3"
42
- ) -> list[float]:
43
- if api_key:
44
- os.environ["JINA_API_KEY"] = api_key
45
- url = "https://api.jina.ai/v1/embeddings" if not base_url else base_url
46
- headers = {
47
- "Content-Type": "application/json",
48
- "Authorization": f"Bearer {os.environ['JINA_API_KEY']}",
49
- }
50
- data = {
51
- "model": f"{model}",
52
- "normalized": True,
53
- "embedding_type": "float",
54
- "dimensions": f"{dimensions}",
55
- "late_chunking": late_chunking,
56
- "input": text,
57
- }
58
- data_list = await fetch_data(url, headers, data)
59
- print(data_list)
60
- return data_list[0]['embedding']
61
-
62
- import os
63
- import requests
64
-
65
- def jina_embed_sync(
66
- text: str,
67
- dimensions: int = 1024,
68
- late_chunking: bool = False,
69
- base_url: str = None,
70
- api_key: str = None,
71
- model: str = "jina-embeddings-v3"
72
- ) -> list[float]:
73
- """
74
- 同步版本:调用 Jina AI embedding API 获取嵌入向量
75
-
76
- Args:
77
- text: 待嵌入的文本
78
- dimensions: 嵌入维度
79
- late_chunking: 是否开启 late chunking
80
- base_url: 自定义 API 地址(可选)
81
- api_key: Jina API 密钥
82
- model: 使用的模型名
83
-
84
- Returns:
85
- list[float]: 嵌入向量
86
- """
87
- if api_key:
88
- os.environ["JINA_API_KEY"] = api_key
89
-
90
- url = base_url or "https://api.jina.ai/v1/embeddings"
91
- headers = {
92
- "Content-Type": "application/json",
93
- "Authorization": f"Bearer {os.environ['JINA_API_KEY']}",
94
- }
95
- payload = {
96
- "model": model,
97
- "normalized": True,
98
- "embedding_type": "float",
99
- "dimensions": dimensions,
100
- "late_chunking": late_chunking,
101
- "input": text,
102
- }
103
-
104
- try:
105
- response = requests.post(url, headers=headers, json=payload)
106
- response.raise_for_status()
107
- data = response.json()
108
- return data["data"][0]["embedding"]
109
- except Exception as e:
110
- raise RuntimeError(f"Jina API call failed: {str(e)}")
111
-
112
-
113
-
114
-
115
-