isage-middleware 0.1.1__py3-none-any.whl → 0.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of isage-middleware might be problematic. Click here for more details.
- isage_middleware-0.1.4.dist-info/METADATA +115 -0
- isage_middleware-0.1.4.dist-info/RECORD +288 -0
- sage/__init__.py +37 -2
- sage/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/__init__.py +31 -77
- sage/middleware/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/api/__init__.py +32 -17
- sage/middleware/api/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/api/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/api/__pycache__/graph_api.cpython-311.opt-2.pyc +0 -0
- sage/middleware/api/__pycache__/graph_api.cpython-311.pyc +0 -0
- sage/middleware/api/__pycache__/kv_api.cpython-311.opt-2.pyc +0 -0
- sage/middleware/api/__pycache__/kv_api.cpython-311.pyc +0 -0
- sage/middleware/api/__pycache__/memory_api.cpython-311.opt-2.pyc +0 -0
- sage/middleware/api/__pycache__/memory_api.cpython-311.pyc +0 -0
- sage/middleware/api/__pycache__/vdb_api.cpython-311.opt-2.pyc +0 -0
- sage/middleware/api/__pycache__/vdb_api.cpython-311.pyc +0 -0
- sage/middleware/components/enterprise/__init__.py +37 -0
- sage/middleware/components/enterprise/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/enterprise/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/__init__.py +37 -0
- sage/middleware/components/neuromem/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/__pycache__/memory_manager.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/__pycache__/memory_manager.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/__pycache__/memory_service.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/__init__.py +37 -0
- sage/middleware/components/neuromem/memory_collection/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/__pycache__/base_collection.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/__pycache__/base_collection.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/__pycache__/kv_collection.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/__pycache__/kv_collection.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/__pycache__/vdb_collection.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/__pycache__/vdb_collection.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/memory_collection/base_collection.py +167 -0
- sage/middleware/components/neuromem/memory_collection/graph_collection.py +11 -0
- sage/middleware/components/neuromem/memory_collection/kv_collection.py +709 -0
- sage/middleware/components/neuromem/memory_collection/vdb_collection.py +922 -0
- sage/middleware/components/neuromem/memory_manager.py +401 -0
- sage/middleware/components/neuromem/memory_service.py +324 -0
- sage/middleware/components/neuromem/micro_service/__init__.py +37 -0
- sage/middleware/components/neuromem/micro_service/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/micro_service/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb_service.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/micro_service/__pycache__/neuromem_vdb_service.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/micro_service/neuromem_vdb.py +198 -0
- sage/middleware/components/neuromem/micro_service/neuromem_vdb_service.py +118 -0
- sage/middleware/components/neuromem/search_engine/__init__.py +37 -0
- sage/middleware/components/neuromem/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/graph_index/__init__.py +37 -0
- sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/base_graph_index.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/graph_index/base_graph_index.py +40 -0
- sage/middleware/components/neuromem/search_engine/hybird_index/__init__.py +37 -0
- sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/kv_index/__init__.py +37 -0
- sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/base_kv_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/base_kv_index.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/bm25s_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/bm25s_index.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/kv_index/base_kv_index.py +76 -0
- sage/middleware/components/neuromem/search_engine/kv_index/bm25s_index.py +320 -0
- sage/middleware/components/neuromem/search_engine/vdb_index/__init__.py +37 -0
- sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/vdb_index/__pycache__/faiss_index.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/search_engine/vdb_index/base_vdb_index.py +53 -0
- sage/middleware/components/neuromem/search_engine/vdb_index/faiss_index.py +700 -0
- sage/middleware/components/neuromem/storage_engine/__init__.py +37 -0
- sage/middleware/components/neuromem/storage_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/__pycache__/metadata_storage.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/__pycache__/metadata_storage.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/__pycache__/text_storage.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/__pycache__/text_storage.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/__pycache__/vector_storage.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/__pycache__/vector_storage.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/kv_backend/__init__.py +37 -0
- sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/base_kv_backend.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/base_kv_backend.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/dict_kv_backend.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/kv_backend/__pycache__/dict_kv_backend.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/storage_engine/kv_backend/base_kv_backend.py +65 -0
- sage/middleware/components/neuromem/storage_engine/kv_backend/dict_kv_backend.py +54 -0
- sage/middleware/components/neuromem/storage_engine/metadata_storage.py +260 -0
- sage/middleware/components/neuromem/storage_engine/text_storage.py +106 -0
- sage/middleware/components/neuromem/storage_engine/vector_storage.py +85 -0
- sage/middleware/components/neuromem/tests/__init__.py +37 -0
- sage/middleware/components/neuromem/tests/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/tests/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/tests/__pycache__/test_memory_service.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/tests/__pycache__/test_memory_service.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/tests/core_test/__init__.py +37 -0
- sage/middleware/components/neuromem/tests/core_test/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/tests/core_test/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/tests/core_test/collection_test/__init__.py +37 -0
- sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/kv_collection_test.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/kv_collection_test.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/vdb_collection_test.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/tests/core_test/collection_test/__pycache__/vdb_collection_test.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/tests/core_test/collection_test/kv_collection_test.py +60 -0
- sage/middleware/components/neuromem/tests/core_test/collection_test/vdb_collection_test.py +88 -0
- sage/middleware/components/neuromem/tests/core_test/manager_test.py +154 -0
- sage/middleware/components/neuromem/tests/test_memory_service.py +293 -0
- sage/middleware/components/neuromem/utils/__init__.py +37 -0
- sage/middleware/components/neuromem/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/utils/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/neuromem/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
- sage/middleware/components/neuromem/utils/path_utils.py +25 -0
- sage/middleware/components/sage_db/__init__.py +37 -0
- sage/middleware/components/sage_db/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/sage_db/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/sage_db/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/sage_db/__pycache__/sage_db.cpython-311.pyc +0 -0
- sage/middleware/components/sage_db/python/__init__.py +37 -0
- sage/middleware/components/sage_db/python/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/sage_db/python/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/components/sage_db/python/__pycache__/sage_db.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/sage_db/python/__pycache__/sage_db.cpython-311.pyc +0 -0
- sage/middleware/components/sage_db/tests/__pycache__/test_python.cpython-311.opt-2.pyc +0 -0
- sage/middleware/components/sage_db/tests/__pycache__/test_python.cpython-311.pyc +0 -0
- sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.opt-2.pyc +0 -0
- sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-311.pyc +0 -0
- sage/middleware/examples/__pycache__/microservices_demo.cpython-311.opt-2.pyc +0 -0
- sage/middleware/examples/__pycache__/microservices_demo.cpython-311.pyc +0 -0
- sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.opt-2.pyc +0 -0
- sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-311.pyc +0 -0
- sage/middleware/examples/api_usage_tutorial.py +3 -3
- sage/middleware/examples/dag_microservices_demo.py +7 -8
- sage/middleware/examples/microservices_integration_demo.py +8 -11
- sage/middleware/examples/microservices_registration_demo.py +8 -12
- sage/middleware/services/__init__.py +37 -0
- sage/middleware/services/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/services/graph/__init__.py +33 -4
- sage/middleware/services/graph/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/graph/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/services/graph/__pycache__/graph_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/graph/__pycache__/graph_index.cpython-311.pyc +0 -0
- sage/middleware/services/graph/__pycache__/graph_service.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/graph/__pycache__/graph_service.cpython-311.pyc +0 -0
- sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-311.pyc +0 -0
- sage/middleware/services/graph/examples/graph_demo.py +3 -2
- sage/middleware/services/graph/graph_service.py +68 -0
- sage/middleware/services/graph/search_engine/__init__.py +37 -0
- sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-311.pyc +0 -0
- sage/middleware/services/kv/__init__.py +33 -4
- sage/middleware/services/kv/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/kv/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/services/kv/__pycache__/kv_service.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/kv/__pycache__/kv_service.cpython-311.pyc +0 -0
- sage/middleware/services/kv/examples/__pycache__/{kv_demo.cpython-313.opt-2.pyc → kv_demo.cpython-311.opt-2.pyc} +0 -0
- sage/middleware/services/kv/examples/__pycache__/{kv_demo.cpython-313.pyc → kv_demo.cpython-311.pyc} +0 -0
- sage/middleware/services/kv/examples/kv_demo.py +1 -1
- sage/middleware/services/kv/search_engine/__init__.py +37 -0
- sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-311.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-311.pyc +0 -0
- sage/middleware/services/memory/__init__.py +33 -8
- sage/middleware/services/memory/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/memory/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/services/memory/__pycache__/memory_service.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/memory/__pycache__/memory_service.cpython-311.pyc +0 -0
- sage/middleware/services/memory/examples/__pycache__/{memory_demo.cpython-313.opt-2.pyc → memory_demo.cpython-311.opt-2.pyc} +0 -0
- sage/middleware/services/memory/examples/__pycache__/{memory_demo.cpython-313.pyc → memory_demo.cpython-311.pyc} +0 -0
- sage/middleware/services/memory/examples/dag_microservices_demo.py +8 -9
- sage/middleware/services/memory/examples/memory_demo.py +4 -4
- sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-311.pyc +0 -0
- sage/middleware/services/memory/memory_service.py +14 -11
- sage/middleware/services/memory/utils/__init__.py +37 -0
- sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/memory/utils/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-311.pyc +0 -0
- sage/middleware/services/vdb/__init__.py +33 -4
- sage/middleware/services/vdb/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/vdb/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/vdb/__pycache__/vdb_service.cpython-311.pyc +0 -0
- sage/middleware/services/vdb/examples/__pycache__/{vdb_demo.cpython-313.opt-2.pyc → vdb_demo.cpython-311.opt-2.pyc} +0 -0
- sage/middleware/services/vdb/examples/__pycache__/{vdb_demo.cpython-313.pyc → vdb_demo.cpython-311.pyc} +0 -0
- sage/middleware/services/vdb/examples/vdb_demo.py +2 -2
- sage/middleware/services/vdb/search_engine/__init__.py +37 -0
- sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-311.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.opt-2.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-311.pyc +0 -0
- sage/middleware/services/vdb/vdb_service.py +44 -41
- sage/middleware/utils/__init__.py +34 -2
- sage/middleware/utils/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__init__.py +33 -31
- sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/__init__.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/_cohere.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/bedrock.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/hf.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/hf.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/instructor.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/jina.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/jina.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/lollms.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/ollama.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/openai.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/openai.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-311.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/zhipu.cpython-311.pyc +0 -0
- isage_middleware-0.1.1.dist-info/METADATA +0 -424
- isage_middleware-0.1.1.dist-info/RECORD +0 -182
- sage/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/api/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/api/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/api/__pycache__/graph_api.cpython-313.opt-2.pyc +0 -0
- sage/middleware/api/__pycache__/graph_api.cpython-313.pyc +0 -0
- sage/middleware/api/__pycache__/kv_api.cpython-313.opt-2.pyc +0 -0
- sage/middleware/api/__pycache__/kv_api.cpython-313.pyc +0 -0
- sage/middleware/api/__pycache__/memory_api.cpython-313.opt-2.pyc +0 -0
- sage/middleware/api/__pycache__/memory_api.cpython-313.pyc +0 -0
- sage/middleware/api/__pycache__/vdb_api.cpython-313.opt-2.pyc +0 -0
- sage/middleware/api/__pycache__/vdb_api.cpython-313.pyc +0 -0
- sage/middleware/enterprise/__init__.py +0 -75
- sage/middleware/enterprise/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/enterprise/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/enterprise/sage_db/__init__.py +0 -132
- sage/middleware/enterprise/sage_db/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/enterprise/sage_db/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/enterprise/sage_db/__pycache__/sage_db.cpython-313.opt-2.pyc +0 -0
- sage/middleware/enterprise/sage_db/__pycache__/sage_db.cpython-313.pyc +0 -0
- sage/middleware/enterprise/sage_db/python/__init__.py +0 -7
- sage/middleware/enterprise/sage_db/python/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/enterprise/sage_db/python/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/enterprise/sage_db/python/__pycache__/sage_db.cpython-313.opt-2.pyc +0 -0
- sage/middleware/enterprise/sage_db/python/__pycache__/sage_db.cpython-313.pyc +0 -0
- sage/middleware/enterprise/sage_db/tests/__pycache__/test_python.cpython-313.opt-2.pyc +0 -0
- sage/middleware/enterprise/sage_db/tests/__pycache__/test_python.cpython-313.pyc +0 -0
- sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-313.opt-2.pyc +0 -0
- sage/middleware/examples/__pycache__/api_usage_tutorial.cpython-313.pyc +0 -0
- sage/middleware/examples/__pycache__/dag_microservices_demo.cpython-313.opt-2.pyc +0 -0
- sage/middleware/examples/__pycache__/dag_microservices_demo.cpython-313.pyc +0 -0
- sage/middleware/examples/__pycache__/microservices_demo.cpython-313.opt-2.pyc +0 -0
- sage/middleware/examples/__pycache__/microservices_demo.cpython-313.pyc +0 -0
- sage/middleware/examples/__pycache__/microservices_integration_demo.cpython-313.opt-2.pyc +0 -0
- sage/middleware/examples/__pycache__/microservices_integration_demo.cpython-313.pyc +0 -0
- sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-313.opt-2.pyc +0 -0
- sage/middleware/examples/__pycache__/microservices_registration_demo.cpython-313.pyc +0 -0
- sage/middleware/services/graph/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/graph/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/services/graph/__pycache__/graph_index.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/graph/__pycache__/graph_index.cpython-313.pyc +0 -0
- sage/middleware/services/graph/__pycache__/graph_service.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/graph/__pycache__/graph_service.cpython-313.pyc +0 -0
- sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/graph/examples/__pycache__/graph_demo.cpython-313.pyc +0 -0
- sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/graph/search_engine/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/graph/search_engine/__pycache__/base_graph_index.cpython-313.pyc +0 -0
- sage/middleware/services/kv/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/kv/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/services/kv/__pycache__/kv_service.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/kv/__pycache__/kv_service.cpython-313.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/base_kv_index.cpython-313.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/kv/search_engine/__pycache__/bm25s_index.cpython-313.pyc +0 -0
- sage/middleware/services/memory/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/memory/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/services/memory/__pycache__/memory_service.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/memory/__pycache__/memory_service.cpython-313.pyc +0 -0
- sage/middleware/services/memory/examples/__pycache__/dag_microservices_demo.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/memory/examples/__pycache__/dag_microservices_demo.cpython-313.pyc +0 -0
- sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/memory/memory_collection/__pycache__/graph_collection.cpython-313.pyc +0 -0
- sage/middleware/services/memory/utils/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/memory/utils/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/memory/utils/__pycache__/path_utils.cpython-313.pyc +0 -0
- sage/middleware/services/vdb/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/vdb/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/services/vdb/__pycache__/vdb_service.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/vdb/__pycache__/vdb_service.cpython-313.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/base_vdb_index.cpython-313.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-313.opt-2.pyc +0 -0
- sage/middleware/services/vdb/search_engine/__pycache__/faiss_index.cpython-313.pyc +0 -0
- sage/middleware/utils/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/__init__.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/__init__.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/_cohere.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/_cohere.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/bedrock.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/bedrock.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/embedding_api.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/embedding_model.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/hf.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/hf.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/instructor.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/instructor.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/jina.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/jina.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/lollms.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/lollms.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/mockembedder.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/nvidia_openai.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/ollama.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/ollama.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/openai.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/openai.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/siliconcloud.cpython-313.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/zhipu.cpython-313.opt-2.pyc +0 -0
- sage/middleware/utils/embedding/__pycache__/zhipu.cpython-313.pyc +0 -0
- {isage_middleware-0.1.1.dist-info → isage_middleware-0.1.4.dist-info}/WHEEL +0 -0
- {isage_middleware-0.1.1.dist-info → isage_middleware-0.1.4.dist-info}/top_level.txt +0 -0
- /sage/middleware/{enterprise → components}/sage_db/python/sage_db.py +0 -0
- /sage/middleware/{enterprise → components}/sage_db/sage_db.py +0 -0
- /sage/middleware/{enterprise → components}/sage_db/tests/test_python.py +0 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from typing import Dict, List, Any, Optional, Union
|
|
3
|
+
from sage.core.api.service.base_service import BaseService
|
|
4
|
+
from sage.common.utils.logging.custom_logger import CustomLogger
|
|
5
|
+
from sage.middleware.components.neuromem.memory_manager import MemoryManager
|
|
6
|
+
from sage.middleware.components.neuromem.memory_collection.vdb_collection import VDBMemoryCollection
|
|
7
|
+
from sage.middleware.utils.embedding.embedding_api import apply_embedding_model
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class NeuroMemVDBService(BaseService):
|
|
11
|
+
def __init__(self, collection_name: Union[str, List[str]]):
|
|
12
|
+
self.manager = MemoryManager(self._get_default_data_dir())
|
|
13
|
+
self.online_register_collections: Dict[str, VDBMemoryCollection] = {}
|
|
14
|
+
|
|
15
|
+
# 处理collection_name参数,支持单个字符串或字符串列表
|
|
16
|
+
if isinstance(collection_name, str):
|
|
17
|
+
collection_names = [collection_name]
|
|
18
|
+
else:
|
|
19
|
+
collection_names = collection_name
|
|
20
|
+
|
|
21
|
+
# 连接已有的collection,不存在就会报错
|
|
22
|
+
for name in collection_names:
|
|
23
|
+
try:
|
|
24
|
+
collection = self.manager.get_collection(name)
|
|
25
|
+
if collection is None:
|
|
26
|
+
raise ValueError(f"Collection '{name}' not found")
|
|
27
|
+
if not isinstance(collection, VDBMemoryCollection):
|
|
28
|
+
raise TypeError(f"Collection '{name}' is not a VDBMemoryCollection")
|
|
29
|
+
|
|
30
|
+
self.online_register_collections[name] = collection
|
|
31
|
+
self.logger.info(f"Successfully connected to collection: {name}")
|
|
32
|
+
|
|
33
|
+
# 检查是否有global_index,没有就创建一个
|
|
34
|
+
if "global_index" not in collection.indexes:
|
|
35
|
+
self.logger.info(f"Creating global_index for collection: {name}")
|
|
36
|
+
collection.create_index("global_index", description="Global index for all data")
|
|
37
|
+
|
|
38
|
+
except Exception as e:
|
|
39
|
+
self.logger.error(f"Failed to connect to collection '{name}': {str(e)}")
|
|
40
|
+
raise
|
|
41
|
+
|
|
42
|
+
def retrieve(self, query_text: str, topk: int = 5, collection_name: Optional[str] = None,
|
|
43
|
+
with_metadata: bool = False, **kwargs) -> List[Any]:
|
|
44
|
+
"""
|
|
45
|
+
在所有online_register_collections上按照vdb_collection方式检索,默认使用global_index
|
|
46
|
+
|
|
47
|
+
Args:
|
|
48
|
+
query_text: 查询文本
|
|
49
|
+
topk: 返回结果数量
|
|
50
|
+
collection_name: 指定collection名称,如果为None则在所有collection上检索
|
|
51
|
+
with_metadata: 是否返回metadata
|
|
52
|
+
**kwargs: 其他检索参数
|
|
53
|
+
|
|
54
|
+
Returns:
|
|
55
|
+
检索结果列表
|
|
56
|
+
"""
|
|
57
|
+
if not self.online_register_collections:
|
|
58
|
+
self.logger.warning("No collections are registered")
|
|
59
|
+
return []
|
|
60
|
+
|
|
61
|
+
all_results = []
|
|
62
|
+
|
|
63
|
+
# 如果指定了collection_name,只在该collection上检索
|
|
64
|
+
if collection_name:
|
|
65
|
+
if collection_name not in self.online_register_collections:
|
|
66
|
+
raise ValueError(f"Collection '{collection_name}' is not registered")
|
|
67
|
+
collections_to_search = {collection_name: self.online_register_collections[collection_name]}
|
|
68
|
+
else:
|
|
69
|
+
# 在所有注册的collection上检索
|
|
70
|
+
collections_to_search = self.online_register_collections
|
|
71
|
+
|
|
72
|
+
for name, collection in collections_to_search.items():
|
|
73
|
+
try:
|
|
74
|
+
results = collection.retrieve(
|
|
75
|
+
query_text,
|
|
76
|
+
topk=topk,
|
|
77
|
+
index_name="global_index",
|
|
78
|
+
with_metadata=with_metadata,
|
|
79
|
+
**kwargs
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
# 为结果添加来源collection信息
|
|
83
|
+
if with_metadata:
|
|
84
|
+
for result in results:
|
|
85
|
+
if isinstance(result, dict):
|
|
86
|
+
result['source_collection'] = name
|
|
87
|
+
else:
|
|
88
|
+
# 如果结果不是dict,转换为dict格式
|
|
89
|
+
result = {'text': result, 'source_collection': name}
|
|
90
|
+
else:
|
|
91
|
+
# 如果不要metadata,也可以选择添加来源信息
|
|
92
|
+
results = [{'text': result, 'source_collection': name} for result in results]
|
|
93
|
+
|
|
94
|
+
all_results.extend(results)
|
|
95
|
+
self.logger.debug(f"Retrieved {len(results)} results from collection: {name}")
|
|
96
|
+
|
|
97
|
+
except Exception as e:
|
|
98
|
+
self.logger.error(f"Error retrieving from collection '{name}': {str(e)}")
|
|
99
|
+
|
|
100
|
+
# 如果有多个collection的结果,可以按相似度重新排序(这里简化处理)
|
|
101
|
+
return all_results[:topk] if len(all_results) > topk else all_results
|
|
102
|
+
|
|
103
|
+
def _create_index(self, collection_name: str, index_name: str, **kwargs):
|
|
104
|
+
"""为指定collection创建索引"""
|
|
105
|
+
if collection_name not in self.online_register_collections:
|
|
106
|
+
raise ValueError(f"Collection '{collection_name}' is not registered")
|
|
107
|
+
|
|
108
|
+
collection = self.online_register_collections[collection_name]
|
|
109
|
+
collection.create_index(index_name, **kwargs)
|
|
110
|
+
self.logger.info(f"Created index '{index_name}' for collection '{collection_name}'")
|
|
111
|
+
|
|
112
|
+
@classmethod
|
|
113
|
+
def _get_default_data_dir(cls):
|
|
114
|
+
"""获取默认数据目录"""
|
|
115
|
+
cur_dir = os.getcwd()
|
|
116
|
+
data_dir = os.path.join(cur_dir, "data", "neuromem_vdb")
|
|
117
|
+
os.makedirs(data_dir, exist_ok=True)
|
|
118
|
+
return data_dir
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"""
|
|
2
|
+
SAGE - Streaming-Augmented Generative Execution
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
# 动态版本加载
|
|
6
|
+
def _load_version():
|
|
7
|
+
"""从项目根目录动态加载版本信息"""
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
# 获取项目根目录
|
|
11
|
+
current_file = Path(__file__).resolve()
|
|
12
|
+
root_dir = current_file.parent.parent.parent.parent.parent.parent.parent.parent
|
|
13
|
+
version_file = root_dir / "_version.py"
|
|
14
|
+
|
|
15
|
+
# 加载版本信息
|
|
16
|
+
if version_file.exists():
|
|
17
|
+
version_globals = {}
|
|
18
|
+
with open(version_file, 'r', encoding='utf-8') as f:
|
|
19
|
+
exec(f.read(), version_globals)
|
|
20
|
+
return {
|
|
21
|
+
'version': version_globals.get('__version__', '0.1.4'),
|
|
22
|
+
'author': version_globals.get('__author__', 'SAGE Team'),
|
|
23
|
+
'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
# 默认值
|
|
27
|
+
return {
|
|
28
|
+
'version': '0.1.4',
|
|
29
|
+
'author': 'SAGE Team',
|
|
30
|
+
'email': 'shuhao_zhang@hust.edu.cn'
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
# 加载信息
|
|
34
|
+
_info = _load_version()
|
|
35
|
+
__version__ = _info['version']
|
|
36
|
+
__author__ = _info['author']
|
|
37
|
+
__email__ = _info['email']
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"""
|
|
2
|
+
SAGE - Streaming-Augmented Generative Execution
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
# 动态版本加载
|
|
6
|
+
def _load_version():
|
|
7
|
+
"""从项目根目录动态加载版本信息"""
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
# 获取项目根目录
|
|
11
|
+
current_file = Path(__file__).resolve()
|
|
12
|
+
root_dir = current_file.parent.parent.parent.parent.parent.parent.parent.parent.parent
|
|
13
|
+
version_file = root_dir / "_version.py"
|
|
14
|
+
|
|
15
|
+
# 加载版本信息
|
|
16
|
+
if version_file.exists():
|
|
17
|
+
version_globals = {}
|
|
18
|
+
with open(version_file, 'r', encoding='utf-8') as f:
|
|
19
|
+
exec(f.read(), version_globals)
|
|
20
|
+
return {
|
|
21
|
+
'version': version_globals.get('__version__', '0.1.4'),
|
|
22
|
+
'author': version_globals.get('__author__', 'SAGE Team'),
|
|
23
|
+
'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
# 默认值
|
|
27
|
+
return {
|
|
28
|
+
'version': '0.1.4',
|
|
29
|
+
'author': 'SAGE Team',
|
|
30
|
+
'email': 'shuhao_zhang@hust.edu.cn'
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
# 加载信息
|
|
34
|
+
_info = _load_version()
|
|
35
|
+
__version__ = _info['version']
|
|
36
|
+
__author__ = _info['author']
|
|
37
|
+
__email__ = _info['email']
|
|
Binary file
|
sage/middleware/components/neuromem/search_engine/graph_index/__pycache__/__init__.cpython-311.pyc
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
from typing import Any, List
|
|
3
|
+
|
|
4
|
+
class BaseGraphIndex(ABC):
|
|
5
|
+
def __init__(self, name: str):
|
|
6
|
+
"""
|
|
7
|
+
基础图索引类初始化
|
|
8
|
+
:param name: 索引名称
|
|
9
|
+
"""
|
|
10
|
+
self.name = name
|
|
11
|
+
|
|
12
|
+
@abstractmethod
|
|
13
|
+
def add_node(self, node_id: str, data: Any) -> None:
|
|
14
|
+
"""添加一个节点"""
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
@abstractmethod
|
|
18
|
+
def add_edge(self, from_node: str, to_node: str, weight: float = 1.0) -> None:
|
|
19
|
+
"""添加一条有向边"""
|
|
20
|
+
pass
|
|
21
|
+
|
|
22
|
+
@abstractmethod
|
|
23
|
+
def remove_node(self, node_id: str) -> None:
|
|
24
|
+
"""删除一个节点及其相关边"""
|
|
25
|
+
pass
|
|
26
|
+
|
|
27
|
+
@abstractmethod
|
|
28
|
+
def remove_edge(self, from_node: str, to_node: str) -> None:
|
|
29
|
+
"""删除一条边"""
|
|
30
|
+
pass
|
|
31
|
+
|
|
32
|
+
@abstractmethod
|
|
33
|
+
def get_neighbors(self, node_id: str, k: int = 10) -> List[str]:
|
|
34
|
+
"""获取指定节点的前 k 个邻居节点"""
|
|
35
|
+
pass
|
|
36
|
+
|
|
37
|
+
@abstractmethod
|
|
38
|
+
def has_node(self, node_id: str) -> bool:
|
|
39
|
+
"""判断节点是否存在"""
|
|
40
|
+
pass
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"""
|
|
2
|
+
SAGE - Streaming-Augmented Generative Execution
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
# 动态版本加载
|
|
6
|
+
def _load_version():
|
|
7
|
+
"""从项目根目录动态加载版本信息"""
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
# 获取项目根目录
|
|
11
|
+
current_file = Path(__file__).resolve()
|
|
12
|
+
root_dir = current_file.parent.parent.parent.parent.parent.parent.parent.parent.parent
|
|
13
|
+
version_file = root_dir / "_version.py"
|
|
14
|
+
|
|
15
|
+
# 加载版本信息
|
|
16
|
+
if version_file.exists():
|
|
17
|
+
version_globals = {}
|
|
18
|
+
with open(version_file, 'r', encoding='utf-8') as f:
|
|
19
|
+
exec(f.read(), version_globals)
|
|
20
|
+
return {
|
|
21
|
+
'version': version_globals.get('__version__', '0.1.4'),
|
|
22
|
+
'author': version_globals.get('__author__', 'SAGE Team'),
|
|
23
|
+
'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
# 默认值
|
|
27
|
+
return {
|
|
28
|
+
'version': '0.1.4',
|
|
29
|
+
'author': 'SAGE Team',
|
|
30
|
+
'email': 'shuhao_zhang@hust.edu.cn'
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
# 加载信息
|
|
34
|
+
_info = _load_version()
|
|
35
|
+
__version__ = _info['version']
|
|
36
|
+
__author__ = _info['author']
|
|
37
|
+
__email__ = _info['email']
|
|
Binary file
|
sage/middleware/components/neuromem/search_engine/hybird_index/__pycache__/__init__.cpython-311.pyc
ADDED
|
Binary file
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"""
|
|
2
|
+
SAGE - Streaming-Augmented Generative Execution
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
# 动态版本加载
|
|
6
|
+
def _load_version():
|
|
7
|
+
"""从项目根目录动态加载版本信息"""
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
# 获取项目根目录
|
|
11
|
+
current_file = Path(__file__).resolve()
|
|
12
|
+
root_dir = current_file.parent.parent.parent.parent.parent.parent.parent.parent.parent
|
|
13
|
+
version_file = root_dir / "_version.py"
|
|
14
|
+
|
|
15
|
+
# 加载版本信息
|
|
16
|
+
if version_file.exists():
|
|
17
|
+
version_globals = {}
|
|
18
|
+
with open(version_file, 'r', encoding='utf-8') as f:
|
|
19
|
+
exec(f.read(), version_globals)
|
|
20
|
+
return {
|
|
21
|
+
'version': version_globals.get('__version__', '0.1.4'),
|
|
22
|
+
'author': version_globals.get('__author__', 'SAGE Team'),
|
|
23
|
+
'email': version_globals.get('__email__', 'shuhao_zhang@hust.edu.cn')
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
# 默认值
|
|
27
|
+
return {
|
|
28
|
+
'version': '0.1.4',
|
|
29
|
+
'author': 'SAGE Team',
|
|
30
|
+
'email': 'shuhao_zhang@hust.edu.cn'
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
# 加载信息
|
|
34
|
+
_info = _load_version()
|
|
35
|
+
__version__ = _info['version']
|
|
36
|
+
__author__ = _info['author']
|
|
37
|
+
__email__ = _info['email']
|
|
Binary file
|
sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/__init__.cpython-311.pyc
ADDED
|
Binary file
|
|
Binary file
|
sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/base_kv_index.cpython-311.pyc
ADDED
|
Binary file
|
|
Binary file
|
sage/middleware/components/neuromem/search_engine/kv_index/__pycache__/bm25s_index.cpython-311.pyc
ADDED
|
Binary file
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# file sage/core/sage.middleware.services.neuromem./search_engine/kv_index/base_kv_index.py
|
|
2
|
+
|
|
3
|
+
from abc import ABC, abstractmethod
|
|
4
|
+
from typing import List, Any, Dict, Optional
|
|
5
|
+
|
|
6
|
+
class BaseKVIndex(ABC):
|
|
7
|
+
def __init__(
|
|
8
|
+
self,
|
|
9
|
+
config: Optional[dict] = None,
|
|
10
|
+
texts: Optional[List[str]] = None,
|
|
11
|
+
ids: Optional[List[str]] = None
|
|
12
|
+
):
|
|
13
|
+
"""
|
|
14
|
+
初始化索引基类。
|
|
15
|
+
Initialize the base class for KV Index.
|
|
16
|
+
"""
|
|
17
|
+
self.config = config or {}
|
|
18
|
+
self.name = self.config.get("name", None)
|
|
19
|
+
|
|
20
|
+
@abstractmethod
|
|
21
|
+
def insert(self, text: str, id: str) -> None:
|
|
22
|
+
"""
|
|
23
|
+
插入一条新数据。
|
|
24
|
+
Insert a new entry.
|
|
25
|
+
"""
|
|
26
|
+
pass
|
|
27
|
+
|
|
28
|
+
@abstractmethod
|
|
29
|
+
def delete(self, id: str) -> None:
|
|
30
|
+
"""
|
|
31
|
+
删除指定id的数据。
|
|
32
|
+
Delete an entry by id.
|
|
33
|
+
"""
|
|
34
|
+
pass
|
|
35
|
+
|
|
36
|
+
@abstractmethod
|
|
37
|
+
def search(self, query: str, topk: int = 10) -> List[str]:
|
|
38
|
+
"""
|
|
39
|
+
检索相关数据,返回最相关的id列表。
|
|
40
|
+
Search for relevant entries and return the most relevant ids.
|
|
41
|
+
"""
|
|
42
|
+
pass
|
|
43
|
+
|
|
44
|
+
@abstractmethod
|
|
45
|
+
def update(self, id: str, new_text: str) -> None:
|
|
46
|
+
"""
|
|
47
|
+
更新指定id的数据内容。
|
|
48
|
+
Update the entry corresponding to the given id.
|
|
49
|
+
"""
|
|
50
|
+
pass
|
|
51
|
+
|
|
52
|
+
@classmethod
|
|
53
|
+
@abstractmethod
|
|
54
|
+
def load(cls, name: str, root_path: str) -> "BaseKVIndex":
|
|
55
|
+
"""
|
|
56
|
+
加载索引实例。
|
|
57
|
+
Load the index instance.
|
|
58
|
+
"""
|
|
59
|
+
pass
|
|
60
|
+
|
|
61
|
+
@abstractmethod
|
|
62
|
+
def store(self, root_path: str) -> Dict[str, Any]:
|
|
63
|
+
"""
|
|
64
|
+
存储索引数据到指定目录。
|
|
65
|
+
Store the index data to the specified directory.
|
|
66
|
+
"""
|
|
67
|
+
pass
|
|
68
|
+
|
|
69
|
+
@staticmethod
|
|
70
|
+
@abstractmethod
|
|
71
|
+
def clear(dir_path: str) -> None:
|
|
72
|
+
"""
|
|
73
|
+
删除指定目录下的所有索引数据。
|
|
74
|
+
Remove all index data under the specified directory.
|
|
75
|
+
"""
|
|
76
|
+
pass
|