From b539ae71cf71b4fa2d806d1a9c6c149b0b0fb5bd Mon Sep 17 00:00:00 2001 From: mabredin Date: Thu, 21 Nov 2024 14:12:13 +0300 Subject: [PATCH 01/25] Create tests for client_lib_generator module --- snet/sdk/client_lib_generator.py | 87 +++++++++++---------- tests/unit_tests/test_lib_generator.py | 101 +++++++++++++++++++++++++ 2 files changed, 150 insertions(+), 38 deletions(-) create mode 100644 tests/unit_tests/test_lib_generator.py diff --git a/snet/sdk/client_lib_generator.py b/snet/sdk/client_lib_generator.py index 3933ba1..30b57f0 100644 --- a/snet/sdk/client_lib_generator.py +++ b/snet/sdk/client_lib_generator.py @@ -1,50 +1,61 @@ -import os -from pathlib import Path, PurePath +from pathlib import Path -from snet.sdk import StorageProvider -from snet.sdk.utils import ipfs_utils -from snet.sdk.utils.utils import compile_proto, type_converter +from snet.sdk.storage_provider.storage_provider import StorageProvider +from snet.sdk.utils.utils import compile_proto class ClientLibGenerator: - - def __init__(self, metadata_provider, org_id, service_id): - self._metadata_provider = metadata_provider - self.org_id = org_id - self.service_id = service_id - self.language = "python" - self.protodir = Path("~").expanduser().joinpath(".snet") - - def generate_client_library(self): - - if os.path.isabs(self.protodir): - client_libraries_base_dir_path = PurePath(self.protodir) + def __init__(self, metadata_provider: StorageProvider, org_id: str, + service_id: str, protodir: Path | None = None): + self._metadata_provider: StorageProvider = metadata_provider + self.org_id: str = org_id + self.service_id: str = service_id + self.language: str = "python" + self.protodir: Path = (protodir if protodir else + Path.home().joinpath(".snet")) + self.library_dir_path: Path | None = None + + def generate_directory_by_params(self) -> None: + if self.protodir.is_absolute(): + base_dir_path = Path(self.protodir) else: - cur_dir_path = PurePath(os.getcwd()) - client_libraries_base_dir_path = cur_dir_path.joinpath(self.protodir) + base_dir_path = Path.cwd().joinpath(self.protodir) - os.makedirs(client_libraries_base_dir_path, exist_ok=True) + base_dir_path.mkdir(exist_ok=True) # Create service client libraries path - library_language = self.language - library_org_id = self.org_id - library_service_id = self.service_id - - library_dir_path = client_libraries_base_dir_path.joinpath(library_org_id, - library_service_id, - library_language) + self.library_dir_path = base_dir_path.joinpath(self.org_id, + self.service_id, + self.language) + self.library_dir_path.mkdir(parents=True, exist_ok=True) + + def receive_proto_files(self) -> None: + metadata = self._metadata_provider.fetch_service_metadata( + self.org_id, + self.service_id + ) + service_api_source = (metadata.get("service_api_source") or + metadata.get("model_ipfs_hash")) + + # Receive proto files + if self.library_dir_path.exists(): + self._metadata_provider.fetch_and_extract_proto( + service_api_source, + self.library_dir_path + ) + else: + raise Exception("Directory for storing proto files not found") + def generate_client_library(self) -> None: try: - metadata = self._metadata_provider.fetch_service_metadata(self.org_id, self.service_id) - service_api_source = metadata.get("service_api_source") or metadata.get("model_ipfs_hash") - - # Receive proto files - self._metadata_provider.fetch_and_extract_proto(service_api_source, library_dir_path) - - # Compile proto files - compile_proto(Path(library_dir_path), library_dir_path, target_language=self.language) - - print(f'client libraries for service with id "{library_service_id}" in org with id "{library_org_id}" ' - f'generated at {library_dir_path}') + self.generate_directory_by_params() + self.receive_proto_files() + compile_proto(self.library_dir_path, + self.library_dir_path, + target_language=self.language) + + print(f'client libraries for service with id "{self.service_id}" ' + f'in org with id "{self.org_id}" ' + f'generated at {self.library_dir_path}') except Exception as e: print(e) diff --git a/tests/unit_tests/test_lib_generator.py b/tests/unit_tests/test_lib_generator.py new file mode 100644 index 0000000..cea64f8 --- /dev/null +++ b/tests/unit_tests/test_lib_generator.py @@ -0,0 +1,101 @@ +import os +from pathlib import Path +import unittest + +from dotenv import load_dotenv + +from snet import sdk +from snet.sdk.client_lib_generator import ClientLibGenerator +from snet.sdk.utils.utils import compile_proto + +load_dotenv() + +config = sdk.config.Config(private_key=os.getenv("PRIVATE_KEY"), + eth_rpc_endpoint=os.getenv("INFURA_LINK"), + concurrency=False, + force_update=False) + +snet_sdk = sdk.SnetSDK(config) +protodir = Path.home().joinpath(".snet_test") +org_id = "26072b8b6a0e448180f8c0e702ab6d2f" +service_id = "Exampleservice" +proto_filename = "example_service.proto" +pb2_filename = "example_service_pb2.py" +pb2_grpc_filename = "example_service_pb2_grpc.py" +lib_generator = ClientLibGenerator( + metadata_provider=snet_sdk._metadata_provider, + org_id=org_id, + service_id=service_id, + protodir=protodir +) + + +def delete_directory_and_clean_lib_generator( + lib_generator: ClientLibGenerator +) -> None: + directory = lib_generator.protodir + delete_directory_recursive(directory) + lib_generator.library_dir_path = None + + +def delete_directory_recursive(directory: Path) -> None: + if directory.exists() and directory.is_dir(): + for item in directory.iterdir(): + if item.is_dir(): + delete_directory_recursive(item) + else: + item.unlink() + directory.rmdir() + else: + print(f"The directory {directory} doesn't exist or isn't a folder.") + + +def find_file_in_directory(directory: Path, file_name: str) -> bool: + if directory.exists() and directory.is_dir(): + for item in directory.iterdir(): + if item.is_file() and item.name == file_name: + return True + return False + + +class TestClientLibGenerator(unittest.TestCase): + def test_generate_directories_by_params(self): + global lib_generator + lib_generator.generate_directory_by_params() + self.assertTrue(lib_generator.protodir.exists()) + self.assertTrue(lib_generator.protodir.is_dir()) + delete_directory_and_clean_lib_generator(lib_generator) + + def test_receive_proto_files(self): + global lib_generator, proto_filename + lib_generator.generate_directory_by_params() + lib_generator.receive_proto_files() + proto_file = lib_generator.library_dir_path.joinpath(proto_filename) + self.assertTrue(proto_file.exists()) + self.assertTrue(proto_file.is_file()) + delete_directory_and_clean_lib_generator(lib_generator) + + def test_compile_proto(self): + global lib_generator, pb2_filename, pb2_grpc_filename + lib_generator.generate_directory_by_params() + lib_generator.receive_proto_files() + compile_proto(entry_path=lib_generator.library_dir_path, + codegen_dir=lib_generator.library_dir_path, + target_language=lib_generator.language) + self.assertTrue(find_file_in_directory(lib_generator.library_dir_path, + pb2_filename)) + self.assertTrue(find_file_in_directory(lib_generator.library_dir_path, + pb2_grpc_filename)) + delete_directory_and_clean_lib_generator(lib_generator) + + def test_zzz(self): + global lib_generator + with self.assertRaises(Exception): + lib_generator.receive_proto_files() + delete_directory_and_clean_lib_generator(lib_generator) + # I stopped here + # Need to change name of library_dir_path param + + +if __name__ == '__main__': + unittest.main() From a7cf70ddad527657e86de774b2461f3e564d1a3f Mon Sep 17 00:00:00 2001 From: mabredin Date: Sun, 24 Nov 2024 19:59:25 +0300 Subject: [PATCH 02/25] Add some new tests Update/add typing in several modules Clean up some code parts --- docs/main/account.md | 2 +- docs/main/init.md | 4 +- snet/sdk/__init__.py | 189 +++++++++------- snet/sdk/account.py | 54 +++-- snet/sdk/client_lib_generator.py | 55 +++-- snet/sdk/config.py | 4 +- .../payment_strategies/payment_strategy.py | 4 +- snet/sdk/service_client.py | 85 ++++--- snet/sdk/storage_provider/service_metadata.py | 4 +- snet/sdk/storage_provider/storage_provider.py | 28 ++- snet/sdk/utils/utils.py | 15 +- tests/unit_tests/test_account.py | 153 +++++++++++++ tests/unit_tests/test_config.py | 92 ++++++++ tests/unit_tests/test_lib_generator.py | 208 ++++++++++-------- 14 files changed, 630 insertions(+), 267 deletions(-) create mode 100644 tests/unit_tests/test_account.py create mode 100644 tests/unit_tests/test_config.py diff --git a/docs/main/account.md b/docs/main/account.md index c951c99..d9202fd 100644 --- a/docs/main/account.md +++ b/docs/main/account.md @@ -26,7 +26,7 @@ is extended by: - #### description -`TransactionError` is a custom exception class that is raised when an Ethereum transaction receipt has a status of 0. +`TransactionError` is a custom exception class that is raised when an Ethereum transaction receipt has a status of 0. This indicates that the transaction failed. Can provide a custom message. Optionally includes receipt #### attributes diff --git a/docs/main/init.md b/docs/main/init.md index d2c9f0a..f21b1a2 100644 --- a/docs/main/init.md +++ b/docs/main/init.md @@ -62,7 +62,7 @@ contract. Instantiates the Account object with the specified Web3 client, SDK co If `force_update` is True or if there are no gRPC stubs for the given service, the proto files are loaded and compiled using the `generate_client_library()` method of the `ClientLibGenerator` class instance. -It then initializes `payment_channel_management_strategy` to `DefaultPaymentStrategy` if it is not specified. +It then initializes `payment_strategy` to `DefaultPaymentStrategy` if it is not specified. It also sets the `options` dictionary with some default values. If `self._metadata_provider` is not specified it is initialized by `IPFSMetadataProvider`. It also gets the service stub using the `self.get_service_stub` method and the pb2 module using the `self.get_module_by_keyword` method. Finally, it creates a new instance @@ -73,7 +73,7 @@ of the `ServiceClient` class with all the required parameters, which is then ret - `org_id` (str): The ID of the organization. - `service_id` (str): The ID of the service. - `group_name` (str): The name of the payment group. Defaults to _None_. -- `payment_channel_management_strategy` (PaymentStrategy): The payment channel management strategy. Defaults to _None_. +- `payment_strategy` (PaymentStrategy): The payment channel management strategy. Defaults to _None_. - `free_call_auth_token_bin` (str): The free call authentication token in binary format. Defaults to _None_. - `free_call_token_expiry_block` (int): The block number when the free call token expires. Defaults to _None_. - `options` (dict): Additional options for the service client. Defaults to _None_. diff --git a/snet/sdk/__init__.py b/snet/sdk/__init__.py index 850e1bc..1a9173f 100644 --- a/snet/sdk/__init__.py +++ b/snet/sdk/__init__.py @@ -1,47 +1,41 @@ import importlib import os -from pathlib import Path import sys -from typing import Any, NewType import warnings import google.protobuf.internal.api_implementation -from snet.sdk.mpe.payment_channel_provider import PaymentChannelProvider +from google.protobuf import symbol_database as _symbol_database + +from snet.sdk.storage_provider.service_metadata import MPEServiceMetadata with warnings.catch_warnings(): # Suppress the eth-typing package`s warnings related to some new networks - warnings.filterwarnings("ignore", "Network .* does not have a valid ChainId. eth-typing should be " - "updated with the latest networks.", UserWarning) - from snet.sdk.storage_provider.storage_provider import StorageProvider + warnings.filterwarnings( + "ignore", + "Network .* does not have a valid ChainId. eth-typing should be " + "updated with the latest networks.", + UserWarning + ) -from snet.sdk.payment_strategies.default_payment_strategy import DefaultPaymentStrategy -from snet.sdk.client_lib_generator import ClientLibGenerator + import web3 + +from snet.contracts import get_contract_object +from snet.sdk.account import Account from snet.sdk.config import Config -from snet.sdk.utils.utils import bytes32_to_str, type_converter +from snet.sdk.client_lib_generator import ClientLibGenerator +from snet.sdk.mpe.mpe_contract import MPEContract +from snet.sdk.mpe.payment_channel_provider import PaymentChannelProvider +from snet.sdk.payment_strategies import default_payment_strategy as strategy +from snet.sdk.service_client import ServiceClient +from snet.sdk.storage_provider.storage_provider import StorageProvider +from snet.sdk.utils.utils import (ModuleName, ServiceStub, bytes32_to_str, + find_file_by_keyword, type_converter) google.protobuf.internal.api_implementation.Type = lambda: 'python' - -from google.protobuf import symbol_database as _symbol_database - _sym_db = _symbol_database.Default() _sym_db.RegisterMessage = lambda x: None -import web3 - -from snet.sdk.service_client import ServiceClient -from snet.sdk.account import Account -from snet.sdk.mpe.mpe_contract import MPEContract - -from snet.contracts import get_contract_object - -from snet.sdk.storage_provider.service_metadata import mpe_service_metadata_from_json -from snet.sdk.utils.ipfs_utils import get_from_ipfs_and_checkhash -from snet.sdk.utils.utils import find_file_by_keyword - -ModuleName = NewType('ModuleName', str) -ServiceStub = NewType('ServiceStub', Any) - class SnetSDK: """Base Snet SDK""" @@ -54,116 +48,147 @@ def __init__(self, sdk_config: Config, metadata_provider=None): eth_rpc_endpoint = self._sdk_config["eth_rpc_endpoint"] eth_rpc_request_kwargs = self._sdk_config.get("eth_rpc_request_kwargs") - provider = web3.HTTPProvider(endpoint_uri=eth_rpc_endpoint, request_kwargs=eth_rpc_request_kwargs) + provider = web3.HTTPProvider(endpoint_uri=eth_rpc_endpoint, + request_kwargs=eth_rpc_request_kwargs) self.web3 = web3.Web3(provider) - # Get MPE contract address from config if specified; mostly for local testing - _mpe_contract_address = self._sdk_config.get("mpe_contract_address", None) + # Get MPE contract address from config if specified; + # mostly for local testing + _mpe_contract_address = self._sdk_config.get("mpe_contract_address", + None) if _mpe_contract_address is None: self.mpe_contract = MPEContract(self.web3) else: self.mpe_contract = MPEContract(self.web3, _mpe_contract_address) - # Get Registry contract address from config if specified; mostly for local testing - _registry_contract_address = self._sdk_config.get("registry_contract_address", None) + # Get Registry contract address from config if specified; + # mostly for local testing + _registry_contract_address = self._sdk_config.get( + "registry_contract_address", + None + ) if _registry_contract_address is None: self.registry_contract = get_contract_object(self.web3, "Registry") else: - self.registry_contract = get_contract_object(self.web3, "Registry", _registry_contract_address) + self.registry_contract = get_contract_object( + self.web3, + "Registry", + _registry_contract_address + ) if self._metadata_provider is None: - self._metadata_provider = StorageProvider(self._sdk_config, self.registry_contract) + self._metadata_provider = StorageProvider(self._sdk_config, + self.registry_contract) self.account = Account(self.web3, sdk_config, self.mpe_contract) - self.payment_channel_provider = PaymentChannelProvider(self.web3, self.mpe_contract) - - def create_service_client(self, org_id: str, service_id: str, group_name=None, - payment_channel_management_strategy=None, + self.payment_channel_provider = PaymentChannelProvider( + self.web3, + self.mpe_contract + ) + + def create_service_client(self, + org_id: str, + service_id: str, + group_name=None, + payment_strategy=None, free_call_auth_token_bin=None, free_call_token_expiry_block=None, email=None, options=None, concurrent_calls=1): - # Create and instance of the Config object, so we can create an instance of ClientLibGenerator - lib_generator = ClientLibGenerator(self._metadata_provider, org_id, service_id) + # Create and instance of the Config object, + # so we can create an instance of ClientLibGenerator + self.lib_generator = ClientLibGenerator(self._metadata_provider, + org_id, service_id) # Download the proto file and generate stubs if needed force_update = self._sdk_config.get('force_update', False) if force_update: - lib_generator.generate_client_library() + self.lib_generator.generate_client_library() else: - path_to_pb_files = self.get_path_to_pb_files(org_id, service_id) - pb_2_file_name = find_file_by_keyword(path_to_pb_files, keyword="pb2.py") - pb_2_grpc_file_name = find_file_by_keyword(path_to_pb_files, keyword="pb2_grpc.py") + path_to_pb_files = self.lib_generator.protodir + pb_2_file_name = find_file_by_keyword(path_to_pb_files, + keyword="pb2.py") + pb_2_grpc_file_name = find_file_by_keyword(path_to_pb_files, + keyword="pb2_grpc.py") if not pb_2_file_name or not pb_2_grpc_file_name: - lib_generator.generate_client_library() - - if payment_channel_management_strategy is None: - payment_channel_management_strategy = DefaultPaymentStrategy(concurrent_calls) + self.lib_generator.generate_client_library() + + if payment_strategy is None: + payment_strategy = strategy.DefaultPaymentStrategy( + concurrent_calls=concurrent_calls + ) if options is None: options = dict() - options['free_call_auth_token-bin'] = bytes.fromhex(free_call_auth_token_bin) if\ + options['free_call_auth_token-bin'] = ( + bytes.fromhex(free_call_auth_token_bin) if free_call_token_expiry_block else "" - options['free-call-token-expiry-block'] = free_call_token_expiry_block if\ - free_call_token_expiry_block else 0 + ) + options['free-call-token-expiry-block'] = ( + free_call_token_expiry_block if free_call_token_expiry_block else 0 + ) options['email'] = email if email else "" options['concurrency'] = self._sdk_config.get("concurrency", True) - service_metadata = self._metadata_provider.enhance_service_metadata(org_id, service_id) + service_metadata = self._metadata_provider.enhance_service_metadata( + org_id, service_id + ) group = self._get_service_group_details(service_metadata, group_name) - strategy = payment_channel_management_strategy - - service_stub = self.get_service_stub(org_id, service_id) - - pb2_module = self.get_module_by_keyword(org_id, service_id, keyword="pb2.py") - - _service_client = ServiceClient(org_id, service_id, service_metadata, group, service_stub, strategy, - options, self.mpe_contract, self.account, self.web3, pb2_module, self.payment_channel_provider) + + service_stub = self.get_service_stub() + + pb2_module = self.get_module_by_keyword(keyword="pb2.py") + _service_client = ServiceClient(org_id, service_id, service_metadata, + group, service_stub, payment_strategy, + options, self.mpe_contract, + self.account, self.web3, pb2_module, + self.payment_channel_provider) return _service_client - def get_service_stub(self, org_id: str, service_id: str) -> ServiceStub: - path_to_pb_files = self.get_path_to_pb_files(org_id, service_id) - module_name = self.get_module_by_keyword(org_id, service_id, keyword="pb2_grpc.py") - package_path = os.path.dirname(path_to_pb_files) - sys.path.append(package_path) + def get_service_stub(self) -> ServiceStub: + path_to_pb_files = str(self.lib_generator.protodir) + module_name = self.get_module_by_keyword(keyword="pb2_grpc.py") + sys.path.append(path_to_pb_files) try: grpc_file = importlib.import_module(module_name) properties_and_methods_of_grpc_file = dir(grpc_file) - class_stub = [elem for elem in properties_and_methods_of_grpc_file if 'Stub' in elem][0] + class_stub = [elem for elem in properties_and_methods_of_grpc_file + if 'Stub' in elem][0] service_stub = getattr(grpc_file, class_stub) return ServiceStub(service_stub) except Exception as e: raise Exception(f"Error importing module: {e}") - def get_path_to_pb_files(self, org_id: str, service_id: str) -> str: - client_libraries_base_dir_path = Path("~").expanduser().joinpath(".snet") - path_to_pb_files = f"{client_libraries_base_dir_path}/{org_id}/{service_id}/python/" - return path_to_pb_files - - def get_module_by_keyword(self, org_id: str, service_id: str, keyword: str) -> ModuleName: - path_to_pb_files = self.get_path_to_pb_files(org_id, service_id) + def get_module_by_keyword(self, keyword: str) -> ModuleName: + path_to_pb_files = self.lib_generator.protodir file_name = find_file_by_keyword(path_to_pb_files, keyword) module_name = os.path.splitext(file_name)[0] return ModuleName(module_name) def get_service_metadata(self, org_id, service_id): - return self._metadata_provider.fetch_service_metadata(org_id, service_id) + return self._metadata_provider.fetch_service_metadata(org_id, + service_id) - def _get_first_group(self, service_metadata): + def _get_first_group(self, service_metadata: MPEServiceMetadata) -> dict: return service_metadata['groups'][0] - def _get_group_by_group_name(self, service_metadata, group_name): + def _get_group_by_group_name(self, + service_metadata: MPEServiceMetadata, + group_name: str) -> dict: for group in service_metadata['groups']: if group['group_name'] == group_name: return group return {} - def _get_service_group_details(self, service_metadata, group_name): + def _get_service_group_details(self, + service_metadata: MPEServiceMetadata, + group_name: str) -> dict: if len(service_metadata['groups']) == 0: - raise Exception("No Groups found for given service, Please add group to the service") + raise Exception("No Groups found for given service, " + "Please add group to the service") if group_name is None: return self._get_first_group(service_metadata) @@ -178,11 +203,11 @@ def get_organization_list(self) -> list: return organization_list def get_services_list(self, org_id: str) -> list: - found, org_service_list = self.registry_contract.functions.listServicesForOrganization( - type_converter("bytes32")(org_id) - ).call() + found, org_service_list = ( + self.registry_contract.functions + .listServicesForOrganization(type_converter("bytes32")(org_id)) + .call()) if not found: raise Exception(f"Organization with id={org_id} doesn't exist!") org_service_list = list(map(bytes32_to_str, org_service_list)) return org_service_list - diff --git a/snet/sdk/account.py b/snet/sdk/account.py index df71493..745bf3b 100644 --- a/snet/sdk/account.py +++ b/snet/sdk/account.py @@ -1,14 +1,22 @@ import json -from snet.sdk.utils.utils import get_address_from_private, normalize_private_key +import web3 + from snet.contracts import get_contract_object +from snet.sdk.config import Config +from snet.sdk.mpe.mpe_contract import MPEContract +from snet.sdk.utils.utils import (get_address_from_private, + normalize_private_key) DEFAULT_GAS = 300000 TRANSACTION_TIMEOUT = 500 class TransactionError(Exception): - """Raised when an Ethereum transaction receipt has a status of 0. Can provide a custom message. Optionally includes receipt""" + """ + Raised when an Ethereum transaction receipt has a status of 0. + Can provide a custom message. Optionally includes receipt + """ def __init__(self, message, receipt=None): super().__init__(message) @@ -20,11 +28,14 @@ def __str__(self): class Account: - def __init__(self, w3, config, mpe_contract): - self.config = config - self.web3 = w3 - self.mpe_contract = mpe_contract - _token_contract_address = self.config.get("token_contract_address", None) + def __init__(self, w3: web3.Web3, config: Config, + mpe_contract: MPEContract): + self.config: Config = config + self.web3: web3.Web3 = w3 + self.mpe_contract: MPEContract = mpe_contract + _token_contract_address: str | None = self.config.get( + "token_contract_address", None + ) if _token_contract_address is None: self.token_contract = get_contract_object( self.web3, "SingularityNetToken") @@ -32,13 +43,12 @@ def __init__(self, w3, config, mpe_contract): self.token_contract = get_contract_object( self.web3, "SingularityNetToken", _token_contract_address) - private_key = config.get("private_key", None) - signer_private_key = config.get("signer_private_key", None) - if private_key is not None: - self.private_key = normalize_private_key(config["private_key"]) - if signer_private_key is not None: + if config.get("private_key") is not None: + self.private_key = normalize_private_key(config.get("private_key")) + if config.get("signer_private_key") is not None: self.signer_private_key = normalize_private_key( - config["signer_private_key"]) + config.get("signer_private_key") + ) else: self.signer_private_key = self.private_key self.address = get_address_from_private(self.private_key) @@ -73,17 +83,21 @@ def _send_signed_transaction(self, contract_fn, *args): }) signed_txn = self.web3.eth.account.sign_transaction( transaction, private_key=self.private_key) - return self.web3.to_hex(self.web3.eth.send_raw_transaction(signed_txn.rawTransaction)) + return self.web3.to_hex( + self.web3.eth.send_raw_transaction(signed_txn.rawTransaction) + ) def send_transaction(self, contract_fn, *args): txn_hash = self._send_signed_transaction(contract_fn, *args) - return self.web3.eth.wait_for_transaction_receipt(txn_hash, TRANSACTION_TIMEOUT) + return self.web3.eth.wait_for_transaction_receipt(txn_hash, + TRANSACTION_TIMEOUT) def _parse_receipt(self, receipt, event, encoder=json.JSONEncoder): if receipt.status == 0: raise TransactionError("Transaction failed", receipt) else: - return json.dumps(dict(event().processReceipt(receipt)[0]["args"]), cls=encoder) + return json.dumps(dict(event().processReceipt(receipt)[0]["args"]), + cls=encoder) def escrow_balance(self): return self.mpe_contract.balance(self.address) @@ -95,8 +109,12 @@ def deposit_to_escrow_account(self, amount_in_cogs): return self.mpe_contract.deposit(self, amount_in_cogs) def approve_transfer(self, amount_in_cogs): - return self.send_transaction(self.token_contract.functions.approve, self.mpe_contract.contract.address, + return self.send_transaction(self.token_contract.functions.approve, + self.mpe_contract.contract.address, amount_in_cogs) def allowance(self): - return self.token_contract.functions.allowance(self.address, self.mpe_contract.contract.address).call() + return self.token_contract.functions.allowance( + self.address, + self.mpe_contract.contract.address + ).call() diff --git a/snet/sdk/client_lib_generator.py b/snet/sdk/client_lib_generator.py index 30b57f0..538bb60 100644 --- a/snet/sdk/client_lib_generator.py +++ b/snet/sdk/client_lib_generator.py @@ -13,49 +13,44 @@ def __init__(self, metadata_provider: StorageProvider, org_id: str, self.language: str = "python" self.protodir: Path = (protodir if protodir else Path.home().joinpath(".snet")) - self.library_dir_path: Path | None = None - def generate_directory_by_params(self) -> None: - if self.protodir.is_absolute(): - base_dir_path = Path(self.protodir) - else: - base_dir_path = Path.cwd().joinpath(self.protodir) + def generate_client_library(self) -> None: + try: + self.generate_directories_by_params() + self.receive_proto_files() + compile_proto(entry_path=self.protodir, + codegen_dir=self.protodir, + target_language=self.language) + + print(f'client libraries for service with id "{self.service_id}" ' + f'in org with id "{self.org_id}" ' + f'generated at {self.protodir}') + except Exception as e: + print(str(e)) - base_dir_path.mkdir(exist_ok=True) + def generate_directories_by_params(self) -> None: + if not self.protodir.is_absolute(): + self.protodir = Path.cwd().joinpath(self.protodir) # Create service client libraries path - self.library_dir_path = base_dir_path.joinpath(self.org_id, - self.service_id, - self.language) - self.library_dir_path.mkdir(parents=True, exist_ok=True) + self.protodir = self.protodir.joinpath(self.org_id, + self.service_id, + self.language) + self.protodir.mkdir(parents=True, exist_ok=True) def receive_proto_files(self) -> None: metadata = self._metadata_provider.fetch_service_metadata( - self.org_id, - self.service_id + org_id=self.org_id, + service_id=self.service_id ) service_api_source = (metadata.get("service_api_source") or metadata.get("model_ipfs_hash")) # Receive proto files - if self.library_dir_path.exists(): + if self.protodir.exists(): self._metadata_provider.fetch_and_extract_proto( service_api_source, - self.library_dir_path + self.protodir ) else: - raise Exception("Directory for storing proto files not found") - - def generate_client_library(self) -> None: - try: - self.generate_directory_by_params() - self.receive_proto_files() - compile_proto(self.library_dir_path, - self.library_dir_path, - target_language=self.language) - - print(f'client libraries for service with id "{self.service_id}" ' - f'in org with id "{self.org_id}" ' - f'generated at {self.library_dir_path}') - except Exception as e: - print(e) + raise Exception("Directory for storing proto files not found") \ No newline at end of file diff --git a/snet/sdk/config.py b/snet/sdk/config.py index e8f8b04..938b01d 100644 --- a/snet/sdk/config.py +++ b/snet/sdk/config.py @@ -16,7 +16,8 @@ def __init__(self, "private_key": private_key, "eth_rpc_endpoint": eth_rpc_endpoint, "wallet_index": wallet_index, - "ipfs_endpoint": ipfs_endpoint if ipfs_endpoint else "/dns/ipfs.singularitynet.io/tcp/80/", + "ipfs_endpoint": (ipfs_endpoint if ipfs_endpoint + else "/dns/ipfs.singularitynet.io/tcp/80/"), "concurrency": concurrency, "force_update": force_update, "mpe_contract_address": mpe_contract_address, @@ -34,4 +35,3 @@ def get(self, key, default=None): def get_ipfs_endpoint(self): return self["ipfs_endpoint"] - diff --git a/snet/sdk/payment_strategies/payment_strategy.py b/snet/sdk/payment_strategies/payment_strategy.py index d840eb9..2646ba1 100644 --- a/snet/sdk/payment_strategies/payment_strategy.py +++ b/snet/sdk/payment_strategies/payment_strategy.py @@ -1,7 +1,7 @@ class PaymentStrategy(object): - def get_payment_metadata(self,service_client): + def get_payment_metadata(self, service_client): pass - def get_price(self,service_client): + def get_price(self, service_client): pass diff --git a/snet/sdk/service_client.py b/snet/sdk/service_client.py index 1423266..9b518aa 100644 --- a/snet/sdk/service_client.py +++ b/snet/sdk/service_client.py @@ -4,15 +4,22 @@ import re import os from pathlib import Path +from typing import Any import grpc import web3 from eth_account.messages import defunct_hash_message from rfc3986 import urlparse -from snet.sdk.resources.root_certificate import certificate -from snet.sdk.utils.utils import RESOURCES_PATH, add_to_path, find_file_by_keyword -import snet.sdk.generic_client_interceptor as generic_client_interceptor +from snet.sdk import generic_client_interceptor +from snet.sdk.account import Account +from snet.sdk.mpe.mpe_contract import MPEContract +from snet.sdk.mpe.payment_channel_provider import PaymentChannelProvider +from snet.sdk.payment_strategies.payment_strategy import PaymentStrategy +from snet.sdk.resources.root_certificate import certificate +from snet.sdk.storage_provider.service_metadata import MPEServiceMetadata +from snet.sdk.utils.utils import (RESOURCES_PATH, ModuleName, ServiceStub, + add_to_path, find_file_by_keyword) class _ClientCallDetails( @@ -24,30 +31,47 @@ class _ClientCallDetails( class ServiceClient: - def __init__(self, org_id, service_id, service_metadata, group, service_stub, payment_strategy, - options, mpe_contract, account, sdk_web3, pb2_module, payment_channel_provider): - self.org_id = org_id - self.service_id = service_id - self.options = options - self.group = group - self.service_metadata = service_metadata - - self.payment_strategy = payment_strategy - self.expiry_threshold = self.group["payment"]["payment_expiration_threshold"] - self.__base_grpc_channel = self._get_grpc_channel() - self.grpc_channel = grpc.intercept_channel(self.__base_grpc_channel, - generic_client_interceptor.create(self._intercept_call)) - self.payment_channel_provider = payment_channel_provider - self.payment_channel_state_service_client = self._generate_payment_channel_state_service_client() - self.service = self._generate_grpc_stub(service_stub) - self.pb2_module = importlib.import_module(pb2_module) if isinstance(pb2_module, str) else pb2_module - self.payment_channels = [] - self.last_read_block = 0 - self.account = account - self.sdk_web3 = sdk_web3 + def __init__( + self, + org_id: str, + service_id: str, + service_metadata: MPEServiceMetadata, + group: dict, + service_stub: ServiceStub, + payment_strategy: PaymentStrategy, + options: dict, + mpe_contract: MPEContract, + account: Account, + sdk_web3: web3.Web3, + pb2_module: ModuleName, + payment_channel_provider: PaymentChannelProvider + ): + self.org_id: str = org_id + self.service_id: str = service_id + self.service_metadata: MPEServiceMetadata = service_metadata + self.group: dict = group + self.payment_strategy: PaymentStrategy = payment_strategy + self.options: dict = options self.mpe_address = mpe_contract.contract.address + self.account: Account = account + self.sdk_web3: web3.Web3 = sdk_web3 + self.pb2_module: str = (importlib.import_module(pb2_module) + if isinstance(pb2_module, str) + else pb2_module) + self.payment_channel_provider: PaymentChannelProvider = payment_channel_provider + + self.expiry_threshold: int = self.group["payment"]["payment_expiration_threshold"] + self.__base_grpc_channel: grpc.Channel = self._get_grpc_channel() + self.grpc_channel: grpc.Channel = grpc.intercept_channel( + self.__base_grpc_channel, + generic_client_interceptor.create(self._intercept_call) + ) + self.service = self._generate_grpc_stub(service_stub) + self.payment_channel_state_service_client = self._generate_payment_channel_state_service_client() + self.payment_channels: list = [] + self.last_read_block: int = 0 - def call_rpc(self, rpc_name: str, message_class: str, **kwargs): + def call_rpc(self, rpc_name: str, message_class: str, **kwargs) -> Any: rpc_method = getattr(self.service, rpc_name) request = getattr(self.pb2_module, message_class)(**kwargs) return rpc_method(request) @@ -55,18 +79,21 @@ def call_rpc(self, rpc_name: str, message_class: str, **kwargs): def _get_payment_expiration_threshold_for_group(self): pass - def _generate_grpc_stub(self, service_stub): + def _generate_grpc_stub(self, service_stub: ServiceStub) -> Any: grpc_channel = self.__base_grpc_channel - disable_blockchain_operations = self.options.get("disable_blockchain_operations", False) + disable_blockchain_operations: bool = self.options.get( + "disable_blockchain_operations", + False + ) if disable_blockchain_operations is False: grpc_channel = self.grpc_channel stub_instance = service_stub(grpc_channel) return stub_instance - def get_grpc_base_channel(self): + def get_grpc_base_channel(self) -> grpc.Channel: return self.__base_grpc_channel - def _get_grpc_channel(self): + def _get_grpc_channel(self) -> grpc.Channel: endpoint = self.options.get("endpoint", None) if endpoint is None: endpoint = self.service_metadata.get_all_endpoints_for_group(self.group["group_name"])[0] diff --git a/snet/sdk/storage_provider/service_metadata.py b/snet/sdk/storage_provider/service_metadata.py index e39ca46..a49c573 100644 --- a/snet/sdk/storage_provider/service_metadata.py +++ b/snet/sdk/storage_provider/service_metadata.py @@ -536,13 +536,13 @@ def add_description(self): } -def load_mpe_service_metadata(f): +def load_mpe_service_metadata(f) -> MPEServiceMetadata: metadata = MPEServiceMetadata() metadata.load(f) return metadata -def mpe_service_metadata_from_json(j): +def mpe_service_metadata_from_json(j) -> MPEServiceMetadata: metadata = MPEServiceMetadata() metadata.set_from_json(j) return metadata diff --git a/snet/sdk/storage_provider/storage_provider.py b/snet/sdk/storage_provider/storage_provider.py index 852fbc3..cf698af 100644 --- a/snet/sdk/storage_provider/storage_provider.py +++ b/snet/sdk/storage_provider/storage_provider.py @@ -4,7 +4,7 @@ from snet.sdk.utils.ipfs_utils import get_ipfs_client, get_from_ipfs_and_checkhash from snet.sdk.utils.utils import bytesuri_to_hash, safe_extract_proto -from snet.sdk.storage_provider.service_metadata import mpe_service_metadata_from_json +from snet.sdk.storage_provider.service_metadata import MPEServiceMetadata, mpe_service_metadata_from_json class StorageProvider(object): def __init__(self, config, registry_contract): @@ -29,20 +29,34 @@ def fetch_org_metadata(self,org_id): return org_metadata - def fetch_service_metadata(self,org_id,service_id): + def fetch_service_metadata(self, org_id: str, + service_id: str) -> MPEServiceMetadata: org = web3.Web3.to_bytes(text=org_id).ljust(32, b"\0") service = web3.Web3.to_bytes(text=service_id).ljust(32, b"\0") - found, _, service_metadata_uri = self._registry_contract.functions.getServiceRegistrationById(org, service).call() + found, _, service_metadata_uri = ( + self._registry_contract.functions.getServiceRegistrationById( + org, + service + ).call() + ) if found is not True: - raise Exception('No service "{}" found in organization "{}"'.format(service_id, org_id)) + raise Exception(f"No service '{service_id}' " + f"found in organization '{org_id}'") - service_provider_type, service_metadata_hash = bytesuri_to_hash(service_metadata_uri) + service_provider_type, service_metadata_hash = bytesuri_to_hash( + s=service_metadata_uri + ) if service_provider_type == "ipfs": - service_metadata_json = get_from_ipfs_and_checkhash(self._ipfs_client, service_metadata_hash) + service_metadata_json = get_from_ipfs_and_checkhash( + self._ipfs_client, + service_metadata_hash + ) else: - service_metadata_json, _ = self.lighthouse_client.download(service_metadata_hash) + service_metadata_json, _ = self.lighthouse_client.download( + cid=service_metadata_hash + ) service_metadata = mpe_service_metadata_from_json(service_metadata_json) return service_metadata diff --git a/snet/sdk/utils/utils.py b/snet/sdk/utils/utils.py index 21c4369..05b1dbe 100644 --- a/snet/sdk/utils/utils.py +++ b/snet/sdk/utils/utils.py @@ -2,6 +2,7 @@ import subprocess import sys import importlib.resources +from typing import Any, NewType from urllib.parse import urlparse from pathlib import Path, PurePath import os @@ -15,6 +16,9 @@ RESOURCES_PATH = PurePath(os.path.dirname(sdk.__file__)).joinpath("resources") +ModuleName = NewType('ModuleName', str) +ServiceStub = NewType('ServiceStub', Any) + def safe_address_converter(a): if not web3.Web3.is_checksum_address(a): @@ -43,7 +47,12 @@ def bytes32_to_str(b): return b.rstrip(b"\0").decode("utf-8") -def compile_proto(entry_path, codegen_dir, proto_file=None, target_language="python"): +def compile_proto( + entry_path: Path, + codegen_dir: Path, + proto_file: str | None = None, + target_language: str = "python" +) -> bool: try: if not os.path.exists(codegen_dir): os.makedirs(codegen_dir) @@ -177,6 +186,6 @@ def safe_extract_proto(spec_tar, protodir): fullname = os.path.join(protodir, m.name) if os.path.exists(fullname): os.remove(fullname) - print("%s removed." % fullname) + print(f"{fullname} removed.") # now it is safe to call extractall - f.extractall(protodir) + f.extractall(path=protodir) diff --git a/tests/unit_tests/test_account.py b/tests/unit_tests/test_account.py new file mode 100644 index 0000000..4889609 --- /dev/null +++ b/tests/unit_tests/test_account.py @@ -0,0 +1,153 @@ +import os +import unittest +from unittest.mock import MagicMock, patch + +from dotenv import load_dotenv +from web3 import Web3 + +from snet.sdk.account import Account, TransactionError +from snet.sdk.config import Config +from snet.sdk.mpe.mpe_contract import MPEContract + +load_dotenv() + + +class TestAccount(unittest.TestCase): + @patch("snet.sdk.account.get_contract_object") + def setUp(self, mock_get_contract_object): + # Mock main fields + self.mock_web3 = MagicMock(spec=Web3) + self.mock_config = MagicMock(spec=Config) + self.mock_mpe_contract = MagicMock(spec=MPEContract) + + # Mock additional fields + self.mock_web3.eth = MagicMock() + self.mock_web3.net = MagicMock() + self.mock_mpe_contract.contract = MagicMock() + + # Config mock return values + self.mock_config.get.side_effect = lambda key, default=None: { + "private_key": os.getenv("PRIVATE_KEY"), + "signer_private_key": None, + "token_contract_address": None, + }.get(key, default) + + # Mock token contract + self.mock_token_contract = MagicMock() + self.mock_get_contract_object = mock_get_contract_object + self.mock_get_contract_object.return_value = self.mock_token_contract + + self.account = Account(self.mock_web3, self.mock_config, + self.mock_mpe_contract) + + def test_get_nonce(self): + for i in [4, 5]: + self.mock_web3.eth.get_transaction_count.return_value = i + self.account.nonce = 4 + nonce = self.account._get_nonce() + self.assertEqual(nonce, 5) + self.assertEqual(self.account.nonce, 5) + + def test_get_gas_price(self): + # Test different gas price levels + gas_price = 10000000000 + self.mock_web3.eth.gas_price = gas_price + gas_price = self.account._get_gas_price() + self.assertEqual(gas_price, int(gas_price + (gas_price * 1 / 3))) + + gas_price = 16000000000 + self.mock_web3.eth.gas_price = gas_price + gas_price = self.account._get_gas_price() + self.assertEqual(gas_price, int(gas_price + (gas_price * 1 / 5))) + + gas_price = 51200000000 + self.mock_web3.eth.gas_price = 51200000000 + gas_price = self.account._get_gas_price() + self.assertEqual(gas_price, int(gas_price + 7000000000)) + + gas_price = 150000000001 + self.mock_web3.eth.gas_price = 150000000001 + gas_price = self.account._get_gas_price() + self.assertEqual(gas_price, int(gas_price + (gas_price * 1 / 10))) + + # @patch("snet.sdk.web3.Web3.to_hex", side_effect=lambda x: "mock_txn_hash") + # def test_send_signed_transaction(self, mock_to_hex): + # # Mock contract function + # mock_contract_fn = MagicMock() + # mock_contract_fn.return_value.build_transaction.return_value = {"mock": "txn"} + + # # Test transaction sending + # txn_hash = self.account._send_signed_transaction(mock_contract_fn) + # self.assertEqual(txn_hash, "mock_txn_hash") + # self.mock_web3.eth.account.sign_transaction.assert_called_once() + # self.mock_web3.eth.send_raw_transaction.assert_called_once() + + def test_parse_receipt_success(self): + # Mock receipt and event + mock_receipt = MagicMock() + mock_receipt.status = 1 + mock_event = MagicMock() + mock_event.return_value.processReceipt.return_value = [ + {"args": {"key": "value"}} + ] + + result = self.account._parse_receipt(mock_receipt, mock_event) + self.assertEqual(result, '{"key": "value"}') + + def test_parse_receipt_failure(self): + # Mock a failing receipt + mock_receipt = MagicMock() + mock_receipt.status = 0 + + with self.assertRaises(TransactionError) as context: + self.account._parse_receipt(mock_receipt, None) + + self.assertEqual(str(context.exception), "Transaction failed") + self.assertEqual(context.exception.receipt, mock_receipt) + + def test_escrow_balance(self): + self.mock_mpe_contract.balance.return_value = 120000000 + balance = self.account.escrow_balance() + self.assertIsInstance(balance, int) + self.assertEqual(balance, 120000000) + self.mock_mpe_contract.balance.assert_called_once_with( + self.account.address + ) + + def test_deposit_to_escrow_account(self): + self.account.allowance = MagicMock(return_value=0) + self.account.approve_transfer = MagicMock() + self.mock_mpe_contract.deposit.return_value = "0x51ec7c89064d95416be4" + + result = self.account.deposit_to_escrow_account(100) + self.account.approve_transfer.assert_called_once_with(100) + self.mock_mpe_contract.deposit.assert_called_once_with(self.account, + 100) + self.assertEqual(result, "0x51ec7c89064d95416be4") + + def test_approve_transfer(self): + self.mock_web3.eth.gas_price = 10000000000 + self.mock_web3.eth.get_transaction_count.return_value = 1 + result = self.account.approve_transfer(500) + self.assertIsNotNone(result) + self.mock_token_contract.functions.approve.assert_called_once_with( + self.mock_mpe_contract.contract.address, 500 + ) + # def test_approve_transfer(self): + # self.account.send_transaction = MagicMock() + # self.account.send_transaction.return_value = "TxReceipt" + # result = self.account.approve_transfer(500) + # self.assertEqual(result, "TxReceipt") + + def test_allowance(self): + self.mock_token_contract.functions.allowance.return_value.call \ + .return_value = 100 + allowance = self.account.allowance() + self.assertEqual(allowance, 100) + self.mock_token_contract.functions.allowance.assert_called_once_with( + self.account.address, self.mock_mpe_contract.contract.address + ) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit_tests/test_config.py b/tests/unit_tests/test_config.py new file mode 100644 index 0000000..95f4e9e --- /dev/null +++ b/tests/unit_tests/test_config.py @@ -0,0 +1,92 @@ +import unittest + +from snet.sdk.config import Config + + +class TestConfig(unittest.TestCase): + def setUp(self): + self.private_key = "test_private_key" + self.eth_rpc_endpoint = "http://localhost:8545" + self.wallet_index = 1 + self.ipfs_endpoint = "http://custom-ipfs-endpoint.io" + self.mpe_contract_address = "0xMPEAddress" + self.token_contract_address = "0xTokenAddress" + self.registry_contract_address = "0xRegistryAddress" + self.signer_private_key = "signer_key" + + def test_initialization(self): + config = Config( + private_key=self.private_key, + eth_rpc_endpoint=self.eth_rpc_endpoint, + wallet_index=self.wallet_index, + ipfs_endpoint=self.ipfs_endpoint, + concurrency=False, + force_update=True, + mpe_contract_address=self.mpe_contract_address, + token_contract_address=self.token_contract_address, + registry_contract_address=self.registry_contract_address, + signer_private_key=self.signer_private_key + ) + + self.assertEqual(config["private_key"], + self.private_key) + self.assertEqual(config["eth_rpc_endpoint"], + self.eth_rpc_endpoint) + self.assertEqual(config["wallet_index"], + self.wallet_index) + self.assertEqual(config["ipfs_endpoint"], + self.ipfs_endpoint) + self.assertEqual(config["mpe_contract_address"], + self.mpe_contract_address) + self.assertEqual(config["token_contract_address"], + self.token_contract_address) + self.assertEqual(config["registry_contract_address"], + self.registry_contract_address) + self.assertEqual(config["signer_private_key"], + self.signer_private_key) + self.assertEqual(config["lighthouse_token"], " ") + self.assertFalse(config["concurrency"]) + self.assertTrue(config["force_update"]) + + def test_default_values(self): + config = Config( + private_key=self.private_key, + eth_rpc_endpoint=self.eth_rpc_endpoint + ) + + self.assertEqual(config["wallet_index"], 0) + self.assertEqual(config["ipfs_endpoint"], + "/dns/ipfs.singularitynet.io/tcp/80/") + self.assertTrue(config["concurrency"]) + self.assertFalse(config["force_update"]) + self.assertIsNone(config["mpe_contract_address"]) + self.assertIsNone(config["token_contract_address"]) + self.assertIsNone(config["registry_contract_address"]) + self.assertIsNone(config["signer_private_key"]) + + def test_get_method(self): + config = Config(private_key=self.private_key, + eth_rpc_endpoint=self.eth_rpc_endpoint) + + self.assertEqual(config.get("private_key"), self.private_key) + self.assertEqual(config.get("non_existent_key", + "default_value"), "default_value") + self.assertIsNone(config.get("non_existent_key")) + + def test_get_ipfs_endpoint(self): + config = Config(private_key=self.private_key, + eth_rpc_endpoint=self.eth_rpc_endpoint) + self.assertEqual(config.get_ipfs_endpoint(), + "/dns/ipfs.singularitynet.io/tcp/80/") + + config_with_custom_ipfs = Config( + private_key=self.private_key, + eth_rpc_endpoint=self.eth_rpc_endpoint, + ipfs_endpoint=self.ipfs_endpoint + ) + self.assertEqual(config_with_custom_ipfs.get_ipfs_endpoint(), + self.ipfs_endpoint) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit_tests/test_lib_generator.py b/tests/unit_tests/test_lib_generator.py index cea64f8..58dc2f3 100644 --- a/tests/unit_tests/test_lib_generator.py +++ b/tests/unit_tests/test_lib_generator.py @@ -1,100 +1,130 @@ import os from pathlib import Path import unittest +from unittest.mock import MagicMock, Mock, patch -from dotenv import load_dotenv - -from snet import sdk from snet.sdk.client_lib_generator import ClientLibGenerator -from snet.sdk.utils.utils import compile_proto - -load_dotenv() - -config = sdk.config.Config(private_key=os.getenv("PRIVATE_KEY"), - eth_rpc_endpoint=os.getenv("INFURA_LINK"), - concurrency=False, - force_update=False) - -snet_sdk = sdk.SnetSDK(config) -protodir = Path.home().joinpath(".snet_test") -org_id = "26072b8b6a0e448180f8c0e702ab6d2f" -service_id = "Exampleservice" -proto_filename = "example_service.proto" -pb2_filename = "example_service_pb2.py" -pb2_grpc_filename = "example_service_pb2_grpc.py" -lib_generator = ClientLibGenerator( - metadata_provider=snet_sdk._metadata_provider, - org_id=org_id, - service_id=service_id, - protodir=protodir -) - - -def delete_directory_and_clean_lib_generator( - lib_generator: ClientLibGenerator -) -> None: - directory = lib_generator.protodir - delete_directory_recursive(directory) - lib_generator.library_dir_path = None - - -def delete_directory_recursive(directory: Path) -> None: - if directory.exists() and directory.is_dir(): - for item in directory.iterdir(): - if item.is_dir(): - delete_directory_recursive(item) - else: - item.unlink() - directory.rmdir() - else: - print(f"The directory {directory} doesn't exist or isn't a folder.") - - -def find_file_in_directory(directory: Path, file_name: str) -> bool: - if directory.exists() and directory.is_dir(): - for item in directory.iterdir(): - if item.is_file() and item.name == file_name: - return True - return False +from snet.sdk.storage_provider.storage_provider import StorageProvider class TestClientLibGenerator(unittest.TestCase): - def test_generate_directories_by_params(self): - global lib_generator - lib_generator.generate_directory_by_params() - self.assertTrue(lib_generator.protodir.exists()) - self.assertTrue(lib_generator.protodir.is_dir()) - delete_directory_and_clean_lib_generator(lib_generator) - - def test_receive_proto_files(self): - global lib_generator, proto_filename - lib_generator.generate_directory_by_params() - lib_generator.receive_proto_files() - proto_file = lib_generator.library_dir_path.joinpath(proto_filename) - self.assertTrue(proto_file.exists()) - self.assertTrue(proto_file.is_file()) - delete_directory_and_clean_lib_generator(lib_generator) - - def test_compile_proto(self): - global lib_generator, pb2_filename, pb2_grpc_filename - lib_generator.generate_directory_by_params() - lib_generator.receive_proto_files() - compile_proto(entry_path=lib_generator.library_dir_path, - codegen_dir=lib_generator.library_dir_path, - target_language=lib_generator.language) - self.assertTrue(find_file_in_directory(lib_generator.library_dir_path, - pb2_filename)) - self.assertTrue(find_file_in_directory(lib_generator.library_dir_path, - pb2_grpc_filename)) - delete_directory_and_clean_lib_generator(lib_generator) - - def test_zzz(self): - global lib_generator - with self.assertRaises(Exception): - lib_generator.receive_proto_files() - delete_directory_and_clean_lib_generator(lib_generator) - # I stopped here - # Need to change name of library_dir_path param + def setUp(self): + self.mock_metadata_provider = Mock(spec=StorageProvider) + self.org_id = "26072b8b6a0e448180f8c0e702ab6d2f" + self.service_id = "Exampleservice" + self.language = "python" + self.protodir = Path.home().joinpath(".snet1") + self.generator = ClientLibGenerator( + metadata_provider=self.mock_metadata_provider, + org_id=self.org_id, + service_id=self.service_id, + protodir=self.protodir + ) + + @patch("pathlib.Path.mkdir") + def test_generate_directories_by_params(self, mock_mkdir): + expected_library_dir = self.protodir.joinpath( + self.org_id, self.service_id, self.language + ) + self.generator.generate_directories_by_params() + self.assertEqual(self.generator.protodir, expected_library_dir) + mock_mkdir.assert_called_once_with(parents=True, exist_ok=True) + + def test_receive_proto_files_success(self): + # Set up mocks + mock_metadata = {"service_api_source": None, + "model_ipfs_hash": os.getenv("MODEL_IPFS_HASH")} + self.mock_metadata_provider.fetch_service_metadata \ + .return_value = mock_metadata + self.generator.protodir = Mock() + self.generator.protodir.exists.return_value = True + + # Call the method + self.generator.receive_proto_files() + + # Check method calls + service_api_source = (mock_metadata.get("service_api_source") or + mock_metadata.get("model_ipfs_hash")) + self.mock_metadata_provider.fetch_service_metadata \ + .assert_called_once_with( + org_id=self.org_id, + service_id=self.service_id + ) + self.mock_metadata_provider.fetch_and_extract_proto \ + .assert_called_once_with( + service_api_source, + self.generator.protodir + ) + + def test_receive_proto_files_failed(self): + self.generator.protodir = Mock() + self.generator.protodir.exists.return_value = False + + with self.assertRaises(Exception) as context: + self.generator.receive_proto_files() + + self.assertEqual(str(context.exception), + "Directory for storing proto files not found") + + # @patch("snet.sdk.utils.utils.compile_proto") + # @patch("snet.sdk.client_lib_generator.ClientLibGenerator.generate_directories_by_params") + # @patch("snet.sdk.client_lib_generator.ClientLibGenerator.receive_proto_files") + # @patch("pathlib.Path.exists") + # @patch("pathlib.Path.mkdir") + # @patch("snet.sdk.client_lib_generator.StorageProvider.fetch_and_extract_proto") + # def test_generate_client_library_success(self, + # mock_fetch_and_extract_proto, + # mock_mkdir, + # mock_exists, + # mock_receive_proto_files, + # mock_generate_directories_by_params, + # mock_compile_proto): + # # Мокаем директорию и путь + # # self.generator.protodir = Mock() + # # self.generator.protodir.exists.return_value = True + # mock_base_dir = MagicMock(spec=Path) + # mock_service_dir = MagicMock(spec=Path) + # example_proto_file = mock_service_dir.joinpath("example_service.proto") + + # # Убедимся, что директория существует + # mock_exists.return_value = True + + # # Подменяем возвращаемое значение при вызове joinpath + # mock_base_dir.joinpath.return_value = mock_service_dir + # mock_service_dir.joinpath.return_value = example_proto_file + # mock_service_dir.exists.return_value = True # Прототипный файл существует + + # # Настроим mock для метода fetch_and_extract_proto + # mock_fetch_and_extract_proto.return_value = None # Симулируем успешный экстракт + + # # Настроим генератор + # self.generator.protodir = mock_base_dir + # self.generator.protodir.joinpath.return_value = mock_service_dir # Возвращаем mock для директории сервиса + + # # Настроим моки для вызова методов + # mock_generate_directories_by_params.return_value = None + # mock_receive_proto_files.return_value = None + + # # Запускаем метод + # self.generator.generate_client_library() + + # # Проверяем, что директории и файл созданы + # mock_generate_directories_by_params.assert_called_once() + # mock_receive_proto_files.assert_called_once() + + # # Убедимся, что compile_proto получил правильный путь + # mock_compile_proto.assert_called_once_with( + # entry_path=str(mock_service_dir), + # codegen_dir=str(mock_service_dir), + # target_language="python" + # ) + + @patch("builtins.print") + def test_generate_client_library_handles_exception(self, mock_print): + with patch("snet.sdk.client_lib_generator.ClientLibGenerator.generate_directories_by_params", # noqa E501 + side_effect=Exception("Test exception")): + self.generator.generate_client_library() + mock_print.assert_called_once_with("Test exception") if __name__ == '__main__': From 18116fae7ef9dd4c04c38483848f40fff9fff4d7 Mon Sep 17 00:00:00 2001 From: mabredin Date: Fri, 29 Nov 2024 15:13:51 +0300 Subject: [PATCH 03/25] Add typing in some modules Add new tests Fix errors --- snet/sdk/__init__.py | 11 +- snet/sdk/client_lib_generator.py | 5 +- snet/sdk/concurrency_manager.py | 19 +- .../default_payment_strategy.py | 2 +- .../prepaid_payment_strategy.py | 4 +- snet/sdk/service_client.py | 174 ++++++++++-------- snet/sdk/typing.py | 5 + snet/sdk/utils/utils.py | 4 - tests/unit_tests/test_lib_generator.py | 34 +++- tests/unit_tests/test_service_client.py | 165 +++++++++++++++++ 10 files changed, 325 insertions(+), 98 deletions(-) create mode 100644 snet/sdk/typing.py create mode 100644 tests/unit_tests/test_service_client.py diff --git a/snet/sdk/__init__.py b/snet/sdk/__init__.py index 1a9173f..1d82ed3 100644 --- a/snet/sdk/__init__.py +++ b/snet/sdk/__init__.py @@ -29,8 +29,9 @@ from snet.sdk.payment_strategies import default_payment_strategy as strategy from snet.sdk.service_client import ServiceClient from snet.sdk.storage_provider.storage_provider import StorageProvider -from snet.sdk.utils.utils import (ModuleName, ServiceStub, bytes32_to_str, - find_file_by_keyword, type_converter) +from snet.sdk.typing import ModuleName, ServiceStub +from snet.sdk.utils.utils import (bytes32_to_str, find_file_by_keyword, + type_converter) google.protobuf.internal.api_implementation.Type = lambda: 'python' _sym_db = _symbol_database.Default() @@ -96,7 +97,7 @@ def create_service_client(self, free_call_token_expiry_block=None, email=None, options=None, - concurrent_calls=1): + concurrent_calls: int = 1): # Create and instance of the Config object, # so we can create an instance of ClientLibGenerator @@ -108,6 +109,7 @@ def create_service_client(self, if force_update: self.lib_generator.generate_client_library() else: + self.lib_generator.create_service_client_libraries_path() path_to_pb_files = self.lib_generator.protodir pb_2_file_name = find_file_by_keyword(path_to_pb_files, keyword="pb2.py") @@ -145,7 +147,8 @@ def create_service_client(self, group, service_stub, payment_strategy, options, self.mpe_contract, self.account, self.web3, pb2_module, - self.payment_channel_provider) + self.payment_channel_provider, + self.lib_generator.protodir) return _service_client def get_service_stub(self) -> ServiceStub: diff --git a/snet/sdk/client_lib_generator.py b/snet/sdk/client_lib_generator.py index 538bb60..318fb51 100644 --- a/snet/sdk/client_lib_generator.py +++ b/snet/sdk/client_lib_generator.py @@ -31,8 +31,9 @@ def generate_client_library(self) -> None: def generate_directories_by_params(self) -> None: if not self.protodir.is_absolute(): self.protodir = Path.cwd().joinpath(self.protodir) + self.create_service_client_libraries_path() - # Create service client libraries path + def create_service_client_libraries_path(self) -> None: self.protodir = self.protodir.joinpath(self.org_id, self.service_id, self.language) @@ -53,4 +54,4 @@ def receive_proto_files(self) -> None: self.protodir ) else: - raise Exception("Directory for storing proto files not found") \ No newline at end of file + raise Exception("Directory for storing proto files not found") diff --git a/snet/sdk/concurrency_manager.py b/snet/sdk/concurrency_manager.py index 6c2a29a..5d86495 100644 --- a/snet/sdk/concurrency_manager.py +++ b/snet/sdk/concurrency_manager.py @@ -3,18 +3,19 @@ import grpc import web3 +from snet.sdk.service_client import ServiceClient from snet.sdk.utils.utils import RESOURCES_PATH, add_to_path class ConcurrencyManager: - def __init__(self, concurrent_calls): - self.__concurrent_calls = concurrent_calls - self.__token = '' - self.__planned_amount = 0 - self.__used_amount = 0 + def __init__(self, concurrent_calls: int): + self.__concurrent_calls: int = concurrent_calls + self.__token: str = '' + self.__planned_amount: int = 0 + self.__used_amount: int = 0 @property - def concurrent_calls(self): + def concurrent_calls(self) -> int: return self.__concurrent_calls def get_token(self, service_client, channel, service_call_price): @@ -24,7 +25,7 @@ def get_token(self, service_client, channel, service_call_price): self.__token = self.__get_token(service_client, channel, service_call_price, new_token=True) return self.__token - def __get_token(self, service_client, channel, service_call_price, new_token=False): + def __get_token(self, service_client: ServiceClient, channel, service_call_price, new_token=False): if not new_token: amount = channel.state["last_signed_amount"] if amount != 0: @@ -46,13 +47,13 @@ def __get_token(self, service_client, channel, service_call_price, new_token=Fal self.__planned_amount = token_reply.planned_amount return token_reply.token - def __get_stub_for_get_token(self, service_client): + def __get_stub_for_get_token(self, service_client: ServiceClient): grpc_channel = service_client.get_grpc_base_channel() with add_to_path(str(RESOURCES_PATH.joinpath("proto"))): token_service_pb2_grpc = importlib.import_module("token_service_pb2_grpc") return token_service_pb2_grpc.TokenServiceStub(grpc_channel) - def __get_token_for_amount(self, service_client, channel, amount): + def __get_token_for_amount(self, service_client: ServiceClient, channel, amount): nonce = channel.state["nonce"] stub = self.__get_stub_for_get_token(service_client) with add_to_path(str(RESOURCES_PATH.joinpath("proto"))): diff --git a/snet/sdk/payment_strategies/default_payment_strategy.py b/snet/sdk/payment_strategies/default_payment_strategy.py index d8582d7..c66f711 100644 --- a/snet/sdk/payment_strategies/default_payment_strategy.py +++ b/snet/sdk/payment_strategies/default_payment_strategy.py @@ -7,7 +7,7 @@ class DefaultPaymentStrategy(PaymentStrategy): - def __init__(self, concurrent_calls=1): + def __init__(self, concurrent_calls: int = 1): self.concurrent_calls = concurrent_calls self.concurrencyManager = ConcurrencyManager(concurrent_calls) self.channel = None diff --git a/snet/sdk/payment_strategies/prepaid_payment_strategy.py b/snet/sdk/payment_strategies/prepaid_payment_strategy.py index aaaf3b3..3c6f016 100644 --- a/snet/sdk/payment_strategies/prepaid_payment_strategy.py +++ b/snet/sdk/payment_strategies/prepaid_payment_strategy.py @@ -1,9 +1,11 @@ +from snet.sdk.concurrency_manager import ConcurrencyManager from snet.sdk.payment_strategies.payment_strategy import PaymentStrategy class PrePaidPaymentStrategy(PaymentStrategy): - def __init__(self, concurrency_manager, block_offset=240, call_allowance=1): + def __init__(self, concurrency_manager: ConcurrencyManager, + block_offset: int = 240, call_allowance: int = 1): self.concurrency_manager = concurrency_manager self.block_offset = block_offset self.call_allowance = call_allowance diff --git a/snet/sdk/service_client.py b/snet/sdk/service_client.py index 9b518aa..be497fc 100644 --- a/snet/sdk/service_client.py +++ b/snet/sdk/service_client.py @@ -6,7 +6,9 @@ from pathlib import Path from typing import Any +from eth_typing import BlockNumber, ChecksumAddress import grpc +from hexbytes import HexBytes import web3 from eth_account.messages import defunct_hash_message from rfc3986 import urlparse @@ -14,12 +16,14 @@ from snet.sdk import generic_client_interceptor from snet.sdk.account import Account from snet.sdk.mpe.mpe_contract import MPEContract +from snet.sdk.mpe.payment_channel import PaymentChannel from snet.sdk.mpe.payment_channel_provider import PaymentChannelProvider -from snet.sdk.payment_strategies.payment_strategy import PaymentStrategy +# from snet.sdk.payment_strategies import default_payment_strategy as strategy from snet.sdk.resources.root_certificate import certificate from snet.sdk.storage_provider.service_metadata import MPEServiceMetadata -from snet.sdk.utils.utils import (RESOURCES_PATH, ModuleName, ServiceStub, - add_to_path, find_file_by_keyword) +from snet.sdk.typing import ModuleName, ServiceStub +from snet.sdk.utils.utils import (RESOURCES_PATH, add_to_path, + find_file_by_keyword) class _ClientCallDetails( @@ -38,37 +42,39 @@ def __init__( service_metadata: MPEServiceMetadata, group: dict, service_stub: ServiceStub, - payment_strategy: PaymentStrategy, + payment_strategy, options: dict, mpe_contract: MPEContract, account: Account, sdk_web3: web3.Web3, pb2_module: ModuleName, - payment_channel_provider: PaymentChannelProvider + payment_channel_provider: PaymentChannelProvider, + path_to_pb_files: Path ): - self.org_id: str = org_id - self.service_id: str = service_id - self.service_metadata: MPEServiceMetadata = service_metadata - self.group: dict = group - self.payment_strategy: PaymentStrategy = payment_strategy - self.options: dict = options + self.org_id = org_id + self.service_id = service_id + self.service_metadata = service_metadata + self.group = group + self.payment_strategy = payment_strategy + self.options = options self.mpe_address = mpe_contract.contract.address - self.account: Account = account - self.sdk_web3: web3.Web3 = sdk_web3 - self.pb2_module: str = (importlib.import_module(pb2_module) + self.account = account + self.sdk_web3 = sdk_web3 + self.pb2_module = (importlib.import_module(pb2_module) if isinstance(pb2_module, str) else pb2_module) - self.payment_channel_provider: PaymentChannelProvider = payment_channel_provider + self.payment_channel_provider = payment_channel_provider + self.path_to_pb_files = path_to_pb_files self.expiry_threshold: int = self.group["payment"]["payment_expiration_threshold"] - self.__base_grpc_channel: grpc.Channel = self._get_grpc_channel() - self.grpc_channel: grpc.Channel = grpc.intercept_channel( + self.__base_grpc_channel = self._get_grpc_channel() + self.grpc_channel = grpc.intercept_channel( self.__base_grpc_channel, generic_client_interceptor.create(self._intercept_call) ) self.service = self._generate_grpc_stub(service_stub) self.payment_channel_state_service_client = self._generate_payment_channel_state_service_client() - self.payment_channels: list = [] + self.payment_channels = [] self.last_read_block: int = 0 def call_rpc(self, rpc_name: str, message_class: str, **kwargs) -> Any: @@ -111,8 +117,8 @@ def _get_grpc_channel(self) -> grpc.Channel: else: raise ValueError('Unsupported scheme in service metadata ("{}")'.format(endpoint_object.scheme)) - def _get_service_call_metadata(self): - metadata = self.payment_strategy.get_payment_metadata(self) + def _get_service_call_metadata(self) -> list[tuple]: + metadata: list = self.payment_strategy.get_payment_metadata(self) return metadata def _intercept_call(self, client_call_details, request_iterator, request_streaming, @@ -126,7 +132,10 @@ def _intercept_call(self, client_call_details, request_iterator, request_streami client_call_details.credentials) return client_call_details, request_iterator, None - def _filter_existing_channels_from_new_payment_channels(self, new_payment_channels): + def _filter_existing_channels_from_new_payment_channels( + self, + new_payment_channels: list[PaymentChannel] + ) -> list[PaymentChannel]: new_channels_to_be_added = [] # need to change this logic ,use maps to manage channels so that we can easily navigate it @@ -142,99 +151,111 @@ def _filter_existing_channels_from_new_payment_channels(self, new_payment_channe return new_channels_to_be_added - def load_open_channels(self): + def load_open_channels(self) -> list[PaymentChannel]: current_block_number = self.sdk_web3.eth.block_number payment_address = self.group["payment"]["payment_address"] group_id = base64.b64decode(str(self.group["group_id"])) - new_payment_channels = self.payment_channel_provider.get_past_open_channels(self.account, payment_address, - group_id, - self.payment_channel_state_service_client) - self.payment_channels = self.payment_channels + \ - self._filter_existing_channels_from_new_payment_channels(new_payment_channels) + new_payment_channels = ( + self.payment_channel_provider.get_past_open_channels( + self.account, payment_address, + group_id, self.payment_channel_state_service_client + ) + ) + filter_new_channels = self._filter_existing_channels_from_new_payment_channels(new_payment_channels) + self.payment_channels = (self.payment_channels + filter_new_channels) self.last_read_block = current_block_number return self.payment_channels - def get_current_block_number(self): + def get_current_block_number(self) -> BlockNumber: return self.sdk_web3.eth.block_number - def update_channel_states(self): + def update_channel_states(self) -> list[PaymentChannel]: for channel in self.payment_channels: channel.sync_state() return self.payment_channels - def default_channel_expiration(self): + def default_channel_expiration(self) -> int: current_block_number = self.sdk_web3.eth.get_block("latest").number return current_block_number + self.expiry_threshold - def _generate_payment_channel_state_service_client(self): + def _generate_payment_channel_state_service_client(self) -> Any: grpc_channel = self.__base_grpc_channel with add_to_path(str(RESOURCES_PATH.joinpath("proto"))): - state_service_pb2_grpc = importlib.import_module("state_service_pb2_grpc") - return state_service_pb2_grpc.PaymentChannelStateServiceStub(grpc_channel) + state_service = importlib.import_module("state_service_pb2_grpc") + return state_service.PaymentChannelStateServiceStub(grpc_channel) - def open_channel(self, amount, expiration): + def open_channel(self, amount: int, expiration: int) -> PaymentChannel: payment_address = self.group["payment"]["payment_address"] group_id = base64.b64decode(str(self.group["group_id"])) - return self.payment_channel_provider.open_channel(self.account, amount, expiration, payment_address, - group_id, self.payment_channel_state_service_client) + return self.payment_channel_provider.open_channel( + self.account, amount, expiration, payment_address, + group_id, self.payment_channel_state_service_client + ) - def deposit_and_open_channel(self, amount, expiration): + def deposit_and_open_channel(self, amount: int, + expiration: int) -> PaymentChannel: payment_address = self.group["payment"]["payment_address"] group_id = base64.b64decode(str(self.group["group_id"])) - return self.payment_channel_provider.deposit_and_open_channel(self.account, amount, expiration, - payment_address, group_id, - self.payment_channel_state_service_client) + return self.payment_channel_provider.deposit_and_open_channel( + self.account, amount, expiration, payment_address, + group_id, self.payment_channel_state_service_client + ) - def get_price(self): + def get_price(self) -> int: return self.group["pricing"][0]["price_in_cogs"] - def generate_signature(self, message): - signature = bytes(self.sdk_web3.eth.account.signHash(defunct_hash_message(message), - self.account.signer_private_key).signature) - - return signature + def generate_signature(self, message: bytes) -> bytes: + return bytes(self.sdk_web3.eth.account.signHash( + defunct_hash_message(message), self.account.signer_private_key + ).signature) - def generate_training_signature(self, text: str, address, block_number): + def generate_training_signature(self, text: str, address: ChecksumAddress, + block_number: BlockNumber) -> HexBytes: message = web3.Web3.solidity_keccak( ["string", "address", "uint256"], [text, address, block_number] ) - return self.sdk_web3.eth.account.signHash(defunct_hash_message(message), - self.account.signer_private_key).signature - - def get_free_call_config(self): - return self.options['email'], self.options['free_call_auth_token-bin'], self.options[ - 'free-call-token-expiry-block'] - - def get_service_details(self): - return self.org_id, self.service_id, self.group["group_id"], \ - self.service_metadata.get_all_endpoints_for_group(self.group["group_name"])[0] - - def get_concurrency_flag(self): + return self.sdk_web3.eth.account.signHash( + defunct_hash_message(message), self.account.signer_private_key + ).signature + + def get_free_call_config(self) -> tuple[str, str, int]: + return (self.options['email'], + self.options['free_call_auth_token-bin'], + self.options['free-call-token-expiry-block']) + + def get_service_details(self) -> tuple[str, str, str, str]: + return (self.org_id, + self.service_id, + self.group["group_id"], + self.service_metadata.get_all_endpoints_for_group( + self.group["group_name"] + )[0]) + + def get_concurrency_flag(self) -> bool: return self.options.get('concurrency', True) - def get_concurrency_token_and_channel(self): + def get_concurrency_token_and_channel(self) -> tuple[str, PaymentChannel]: return self.payment_strategy.get_concurrency_token_and_channel(self) - def set_concurrency_token_and_channel(self, token, channel): + def set_concurrency_token_and_channel(self, token: str, + channel: PaymentChannel) -> None: self.payment_strategy.concurrency_token = token self.payment_strategy.channel = channel - def get_path_to_pb_files(self, org_id: str, service_id: str) -> str: - client_libraries_base_dir_path = Path("~").expanduser().joinpath(".snet") - path_to_pb_files = f"{client_libraries_base_dir_path}/{org_id}/{service_id}/python/" - return path_to_pb_files - - def get_services_and_messages_info(self): + def get_services_and_messages_info(self) -> tuple[dict, dict]: # Get proto file filepath and open it - path_to_pb_files = self.get_path_to_pb_files(self.org_id, self.service_id) - proto_file_name = find_file_by_keyword(path_to_pb_files, keyword=".proto") - proto_filepath = os.path.join(path_to_pb_files, proto_file_name) + proto_file_name = find_file_by_keyword(directory=self.path_to_pb_files, + keyword=".proto") + proto_filepath = os.path.join(self.path_to_pb_files, proto_file_name) with open(proto_filepath, 'r') as file: proto_content = file.read() - # Regular expression patterns to match services, methods, messages, and fields + # Regular expression patterns to match services, methods, + # messages and fields service_pattern = re.compile(r'service\s+(\w+)\s*{') - rpc_pattern = re.compile(r'rpc\s+(\w+)\s*\((\w+)\)\s+returns\s+\((\w+)\)') + rpc_pattern = re.compile( + r'rpc\s+(\w+)\s*\((\w+)\)\s+returns\s+\((\w+)\)' + ) message_pattern = re.compile(r'message\s+(\w+)\s*{') field_pattern = re.compile(r'\s*(\w+)\s+(\w+)\s*=\s*\d+\s*;') @@ -258,7 +279,8 @@ def get_services_and_messages_info(self): method_name = rpc_match.group(1) input_type = rpc_match.group(2) output_type = rpc_match.group(3) - services[current_service].append((method_name, input_type, output_type)) + services[current_service].append((method_name, input_type, + output_type)) # Match a message definition message_match = message_pattern.search(line) @@ -277,7 +299,7 @@ def get_services_and_messages_info(self): return services, messages - def get_services_and_messages_info_as_pretty_string(self): + def get_services_and_messages_info_as_pretty_string(self) -> str: services, messages = self.get_services_and_messages_info() string_output = "" @@ -285,7 +307,9 @@ def get_services_and_messages_info_as_pretty_string(self): for service, methods in services.items(): string_output += f"Service: {service}\n" for method_name, input_type, output_type in methods: - string_output += f" Method: {method_name}, Input: {input_type}, Output: {output_type}\n" + string_output += (f" Method: {method_name}," + f" Input: {input_type}," + f" Output: {output_type}\n") # Prettify the messages and their fields for message, fields in messages.items(): diff --git a/snet/sdk/typing.py b/snet/sdk/typing.py new file mode 100644 index 0000000..e6ee8c2 --- /dev/null +++ b/snet/sdk/typing.py @@ -0,0 +1,5 @@ +from typing import Any, NewType + + +ModuleName = NewType('ModuleName', str) +ServiceStub = NewType('ServiceStub', Any) diff --git a/snet/sdk/utils/utils.py b/snet/sdk/utils/utils.py index 05b1dbe..82afa48 100644 --- a/snet/sdk/utils/utils.py +++ b/snet/sdk/utils/utils.py @@ -2,7 +2,6 @@ import subprocess import sys import importlib.resources -from typing import Any, NewType from urllib.parse import urlparse from pathlib import Path, PurePath import os @@ -16,9 +15,6 @@ RESOURCES_PATH = PurePath(os.path.dirname(sdk.__file__)).joinpath("resources") -ModuleName = NewType('ModuleName', str) -ServiceStub = NewType('ServiceStub', Any) - def safe_address_converter(a): if not web3.Web3.is_checksum_address(a): diff --git a/tests/unit_tests/test_lib_generator.py b/tests/unit_tests/test_lib_generator.py index 58dc2f3..7d96478 100644 --- a/tests/unit_tests/test_lib_generator.py +++ b/tests/unit_tests/test_lib_generator.py @@ -13,7 +13,7 @@ def setUp(self): self.org_id = "26072b8b6a0e448180f8c0e702ab6d2f" self.service_id = "Exampleservice" self.language = "python" - self.protodir = Path.home().joinpath(".snet1") + self.protodir = Path.home().joinpath(".snet_test") self.generator = ClientLibGenerator( metadata_provider=self.mock_metadata_provider, org_id=self.org_id, @@ -22,7 +22,7 @@ def setUp(self): ) @patch("pathlib.Path.mkdir") - def test_generate_directories_by_params(self, mock_mkdir): + def test_generate_directories_by_params_by_absolute_path(self, mock_mkdir): expected_library_dir = self.protodir.joinpath( self.org_id, self.service_id, self.language ) @@ -30,6 +30,36 @@ def test_generate_directories_by_params(self, mock_mkdir): self.assertEqual(self.generator.protodir, expected_library_dir) mock_mkdir.assert_called_once_with(parents=True, exist_ok=True) + @patch("pathlib.Path.mkdir") + def test_generate_directories_by_params_by_relative_path(self, mock_mkdir): + self.generator.protodir = Path(".snet_test") + expected_library_dir = Path.cwd().joinpath(self.generator.protodir, + self.org_id, + self.service_id, + self.language) + self.generator.generate_directories_by_params() + self.assertEqual(self.generator.protodir, expected_library_dir) + mock_mkdir.assert_called_once_with(parents=True, exist_ok=True) + + def test_create_service_client_libraries_path(self): + mock_protodir = Mock(spec=Path) + self.generator.protodir = mock_protodir + mock_library_path = Mock(spec=Path) + mock_protodir.joinpath.return_value = mock_library_path + + # Call the method + self.generator.create_service_client_libraries_path() + + # Assert that joinpath and mkdir were called with correct arguments + mock_protodir.joinpath.assert_called_once_with(self.org_id, + self.service_id, + self.language) + mock_library_path.mkdir.assert_called_once_with(parents=True, + exist_ok=True) + + # Assert that the protodir is updated correctly + self.assertEqual(self.generator.protodir, mock_library_path) + def test_receive_proto_files_success(self): # Set up mocks mock_metadata = {"service_api_source": None, diff --git a/tests/unit_tests/test_service_client.py b/tests/unit_tests/test_service_client.py new file mode 100644 index 0000000..d04ba37 --- /dev/null +++ b/tests/unit_tests/test_service_client.py @@ -0,0 +1,165 @@ +from pathlib import Path +import unittest +from unittest.mock import MagicMock, Mock, patch, create_autospec + +from web3 import Web3 + +from snet.sdk.account import Account +from snet.sdk.mpe.mpe_contract import MPEContract +from snet.sdk.mpe.payment_channel_provider import PaymentChannelProvider +from snet.sdk.service_client import ServiceClient +from snet.sdk.storage_provider.service_metadata import MPEServiceMetadata + + +class TestServiceClient(unittest.TestCase): + def setUp(self): + self.mock_org_id = "26072b8b6a0e448180f8c0e702ab6d2f" + self.mock_service_id = "Exampleservice" + self.mock_service_metadata = MagicMock(spec=MPEServiceMetadata) + self.mock_group = { + 'free_calls': 0, + 'free_call_signer_address': '0x7DF35C98f41F3Af0df1dc4c7F7D4C19a71Dd059F', + 'daemon_addresses': [ + '0x0709e9b78756b740ab0c64427f43f8305fd6d1a7' + ], + 'pricing': [ + { + 'default': True, + 'price_model': 'fixed_price', + 'price_in_cogs': 1 + } + ], + 'endpoints': [ + 'http://node1.naint.tech:62400' + ], + 'group_id': '/mb90Qs8VktxGQmU0uRu0bSlGgqeDlYrKrs+WbsOvOQ=', + 'group_name': 'default_group', + 'payment': { + 'payment_address': '0x0709e9B78756B740ab0C64427f43f8305fD6D1A7', + 'payment_expiration_threshold': 40320, + 'payment_channel_storage_type': 'etcd', + 'payment_channel_storage_client': { + 'endpoints': [ + 'https://127.0.0.1:2379' + ], + 'request_timeout': '3s', + 'connection_timeout': '5s' + } + } + } + self.mock_service_stub = MagicMock() + self.mock_payment_strategy = MagicMock() + self.mock_options = { + 'free_call_auth_token-bin': '', + 'free-call-token-expiry-block': 0, + 'email': '', + 'concurrency': False, + "endpoint": "http://localhost:5000" + } + self.mock_mpe_contract = MagicMock(spec=MPEContract) + self.mock_mpe_contract.contract = MagicMock() + self.mock_account = MagicMock(spec=Account) + self.mock_account.signer_private_key = MagicMock() + self.mock_sdk_web3 = MagicMock(spec=Web3) + self.mock_sdk_web3.eth = MagicMock() + self.mock_pb2_module = MagicMock() + self.mock_payment_channel_provider = MagicMock( + spec=PaymentChannelProvider + ) + self.mock_path_to_pb_files = MagicMock(spec=Path) + + self.client = ServiceClient( + self.mock_org_id, + self.mock_service_id, + self.mock_service_metadata, + self.mock_group, + self.mock_service_stub, + self.mock_payment_strategy, + self.mock_options, + self.mock_mpe_contract, + self.mock_account, + self.mock_sdk_web3, + self.mock_pb2_module, + self.mock_payment_channel_provider, + self.mock_path_to_pb_files + ) + + def test_call_rpc(self): + # Set up mocks for service and pb2_module + mock_rpc_method = MagicMock(return_value="value: 8") + self.client.service = MagicMock() + self.client.service.mul = mock_rpc_method + self.mock_pb2_module.Numbers = MagicMock() + + # Call the method + result = self.client.call_rpc("mul", "Numbers", a=2, b=4) + + # Assert that Numbers was called with correct arguments + self.mock_pb2_module.Numbers.assert_called_once_with(a=2, b=4) + mock_rpc_method.assert_called_once_with( + self.mock_pb2_module.Numbers.return_value + ) + self.assertEqual(result, mock_rpc_method.return_value) + + @patch("snet.sdk.service_client.grpc.insecure_channel") + def test_get_grpc_channel_http(self, mock_insecure_channel): + channel = self.client._get_grpc_channel() + mock_insecure_channel.assert_called_once_with("localhost:5000") + self.assertEqual(channel, mock_insecure_channel.return_value) + + @patch("snet.sdk.service_client.grpc.ssl_channel_credentials") + @patch("snet.sdk.service_client.grpc.secure_channel") + def test_get_grpc_channel_https(self, + mock_secure_channel, + mock_ssl_channel_credentials): + self.mock_options["endpoint"] = "https://localhost:5000" + channel = self.client._get_grpc_channel() + mock_ssl_channel_credentials.assert_called_once() + mock_secure_channel.assert_called_once_with( + "localhost:5000", + mock_ssl_channel_credentials.return_value + ) + self.assertEqual(channel, mock_secure_channel.return_value) + + def test_filter_existing_channels(self): + mock_existing_channel = MagicMock(channel_id=1) + mock_new_channel_1 = MagicMock(channel_id=2) + mock_new_channel_2 = MagicMock(channel_id=3) + self.client.payment_channels = [mock_existing_channel] + result = self.client._filter_existing_channels_from_new_payment_channels( # noqa E501 + [mock_existing_channel, mock_new_channel_1, mock_new_channel_2] + ) + self.assertEqual(result, [mock_new_channel_1, mock_new_channel_2]) + + def test_get_current_block_number(self): + expected_result = Mock(return_value=12345) + self.client.sdk_web3.eth.block_number = expected_result + result = self.client.get_current_block_number() + self.assertEqual(result, expected_result) + + def test_generate_signature(self): + message = b"test_message" + mock_signature = MagicMock() + self.client.sdk_web3.eth.account.signHash = MagicMock( + return_value=MagicMock(signature=mock_signature) + ) + result = self.client.generate_signature(message) + self.assertEqual(result, bytes(mock_signature)) + + @patch("snet.sdk.service_client.web3.Web3.solidity_keccak") + def test_generate_training_signature(self, mock_solidity_keccak): + text = "test_text" + address = "test_address" + block_number = "test_block_number" + mock_solidity_keccak.return_value = b"test_message" + mock_signature = MagicMock() + self.client.sdk_web3.eth.account.signHash = MagicMock( + return_value=MagicMock(signature=mock_signature) + ) + result = self.client.generate_training_signature(text, address, + block_number) + self.assertEqual(result, mock_signature) + + +if __name__ == "__main__": + unittest.main() From 2d02e1364860636cf4372552b84d001cfea9eff5 Mon Sep 17 00:00:00 2001 From: Arondondon Date: Mon, 2 Dec 2024 21:01:29 +0300 Subject: [PATCH 04/25] Implemented base part of the training v2. --- .../sdk/resources/proto/training_daemon.proto | 120 +++++ .../resources/proto/training_daemon_pb2.py | 56 +++ .../proto/training_daemon_pb2_grpc.py | 445 ++++++++++++++++++ snet/sdk/resources/proto/training_v2.proto | 116 +++++ snet/sdk/resources/proto/training_v2_pb2.py | 43 ++ .../resources/proto/training_v2_pb2_grpc.py | 310 ++++++++++++ snet/sdk/service_client.py | 17 +- snet/sdk/training/training_v2.py | 238 ++++++++++ 8 files changed, 1343 insertions(+), 2 deletions(-) create mode 100644 snet/sdk/resources/proto/training_daemon.proto create mode 100644 snet/sdk/resources/proto/training_daemon_pb2.py create mode 100644 snet/sdk/resources/proto/training_daemon_pb2_grpc.py create mode 100644 snet/sdk/resources/proto/training_v2.proto create mode 100644 snet/sdk/resources/proto/training_v2_pb2.py create mode 100644 snet/sdk/resources/proto/training_v2_pb2_grpc.py create mode 100644 snet/sdk/training/training_v2.py diff --git a/snet/sdk/resources/proto/training_daemon.proto b/snet/sdk/resources/proto/training_daemon.proto new file mode 100644 index 0000000..2760ff2 --- /dev/null +++ b/snet/sdk/resources/proto/training_daemon.proto @@ -0,0 +1,120 @@ +syntax = "proto3"; +package training_daemon; +import "google/protobuf/descriptor.proto"; // нужно для работы индикаторов +import "google/protobuf/struct.proto"; // нужно для google.protobuf.ListValue +import "training_v2.proto"; +option go_package = "../training"; +import "google/protobuf/empty.proto"; + + +message AuthorizationDetails { + uint64 current_block = 1; // проверять актуальность на +-N блоков + // Signer can fill in any message here + string message = 2; + // signature of the following message: + // ("user specified message", user_address, current_block_number) + bytes signature = 3; + string signer_address = 4; +} + +message NewModelRequest { + AuthorizationDetails authorization = 1; + trainingV2.NewModel model = 2; +} + +message ValidateRequest { + AuthorizationDetails authorization = 1; + string model_id = 2; + string training_data_link = 3; +} + +message UploadAndValidateRequest { + AuthorizationDetails authorization = 1; + string model_id = 2; + bytes data = 3; +} + +message CommonRequest { + AuthorizationDetails authorization = 1; + string model_id = 2; +} + +message UpdateModelRequest { + AuthorizationDetails authorization = 1; + string model_id = 2; + string model_name = 3; + string description = 4; + repeated string address_list = 5; +} + +message ModelsResponse { + repeated trainingV2.ModelResponse list_of_models = 1; +} + +// Эти методы имплементируют только демон, сервис провайдер должен игнорировать их +service Daemon { + // free + rpc create_model(NewModelRequest) returns (trainingV2.ModelResponse) {} + + // free + rpc validate_model_price(ValidateRequest) returns (trainingV2.PriceInBaseUnit) {} + + // paid + rpc upload_and_validate(stream UploadAndValidateRequest) returns (trainingV2.StatusResponse) {} + + // paid + rpc validate_model(ValidateRequest) returns (trainingV2.StatusResponse) {} + + // free, одна подпись для методов train_model_price & train_model + rpc train_model_price(CommonRequest) returns (trainingV2.PriceInBaseUnit) {} + + // paid + rpc train_model(CommonRequest) returns (trainingV2.StatusResponse) {} + + // free + // После удаления модели status становится DELETED в etcd + rpc delete_model(CommonRequest) returns (trainingV2.StatusResponse) {} + + // уникальные методы by daemon + // одна подпись для всех геттеров + rpc get_training_metadata(google.protobuf.Empty) returns (TrainingMetadata) {} + + rpc get_all_models(AllModelsRequest) returns (ModelsResponse) {} + + rpc get_model(CommonRequest) returns (trainingV2.ModelResponse) {} + + rpc update_model(UpdateModelRequest) returns (trainingV2.ModelResponse) {} + + // free & without auth + rpc get_dataset_requirements(DatasetRequirementsRequest) returns (DatasetRequirements) {} +} + +message DatasetRequirementsRequest{ + string grpc_method_name = 1; + string grpc_service_name = 2; +} + +message AllModelsRequest{ + AuthorizationDetails authorization = 1; + // фильтры + trainingV2.Status status = 2; + bool is_public = 3; + string name = 4; // поиск по названию + uint64 page_size = 5; // пагинация + uint64 page = 6; +} + +message TrainingMetadata { + bool trainingEnabled = 1; + bool trainingInProto = 2; + // ключ - grpc_service_name, значение - массив grpc_method_name + map trainingMethods = 3; +} + +message DatasetRequirements { + uint64 max_size_mb = 1; + uint64 count_files = 2; // максимальное кол-во файлов в датасете + uint64 max_size_mb_single = 3; // максимальный размер одного файла в датасете + repeated string file_type = 4; // массив, пример: [jpg, png, mp3] + string description = 5; // any text +} \ No newline at end of file diff --git a/snet/sdk/resources/proto/training_daemon_pb2.py b/snet/sdk/resources/proto/training_daemon_pb2.py new file mode 100644 index 0000000..5a1189a --- /dev/null +++ b/snet/sdk/resources/proto/training_daemon_pb2.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: training_daemon.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +import training_v2_pb2 as training__v2__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15training_daemon.proto\x12\x0ftraining_daemon\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x11training_v2.proto\x1a\x1bgoogle/protobuf/empty.proto\"i\n\x14\x41uthorizationDetails\x12\x15\n\rcurrent_block\x18\x01 \x01(\x04\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x16\n\x0esigner_address\x18\x04 \x01(\t\"t\n\x0fNewModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12#\n\x05model\x18\x02 \x01(\x0b\x32\x14.trainingV2.NewModel\"}\n\x0fValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t\"x\n\x18UploadAndValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"_\n\rCommonRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\"\x91\x01\n\x12UpdateModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x04 \x03(\t\"C\n\x0eModelsResponse\x12\x31\n\x0elist_of_models\x18\x01 \x03(\x0b\x32\x19.trainingV2.ModelResponse\"Q\n\x1a\x44\x61tasetRequirementsRequest\x12\x18\n\x10grpc_method_name\x18\x01 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x02 \x01(\t\"x\n\x10\x41llModelsRequest\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.trainingV2.Status\x12\x11\n\tis_public\x18\x02 \x01(\x08\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tpage_size\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"\xe9\x01\n\x10TrainingMetadata\x12\x17\n\x0ftrainingEnabled\x18\x01 \x01(\x08\x12\x17\n\x0ftrainingInProto\x18\x02 \x01(\x08\x12O\n\x0ftrainingMethods\x18\x03 \x03(\x0b\x32\x36.training_daemon.TrainingMetadata.TrainingMethodsEntry\x1aR\n\x14TrainingMethodsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValue:\x02\x38\x01\"\x83\x01\n\x13\x44\x61tasetRequirements\x12\x13\n\x0bmax_size_mb\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ount_files\x18\x02 \x01(\x04\x12\x1a\n\x12max_size_mb_single\x18\x03 \x01(\x04\x12\x11\n\tfile_type\x18\x04 \x03(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t2\x8e\x08\n\x06\x44\x61\x65mon\x12M\n\x0c\x63reate_model\x12 .training_daemon.NewModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12W\n\x14validate_model_price\x12 .training_daemon.ValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12`\n\x13upload_and_validate\x12).training_daemon.UploadAndValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12P\n\x0evalidate_model\x12 .training_daemon.ValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12R\n\x11train_model_price\x12\x1e.training_daemon.CommonRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12K\n\x0btrain_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12L\n\x0c\x64\x65lete_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12T\n\x15get_training_metadata\x12\x16.google.protobuf.Empty\x1a!.training_daemon.TrainingMetadata\"\x00\x12V\n\x0eget_all_models\x12!.training_daemon.AllModelsRequest\x1a\x1f.training_daemon.ModelsResponse\"\x00\x12H\n\tget_model\x12\x1e.training_daemon.CommonRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12P\n\x0cupdate_model\x12#.training_daemon.UpdateModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12o\n\x18get_dataset_requirements\x12+.training_daemon.DatasetRequirementsRequest\x1a$.training_daemon.DatasetRequirements\"\x00\x42\rZ\x0b../trainingb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'training_daemon_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\013../training' + _TRAININGMETADATA_TRAININGMETHODSENTRY._options = None + _TRAININGMETADATA_TRAININGMETHODSENTRY._serialized_options = b'8\001' + _globals['_AUTHORIZATIONDETAILS']._serialized_start=154 + _globals['_AUTHORIZATIONDETAILS']._serialized_end=259 + _globals['_NEWMODELREQUEST']._serialized_start=261 + _globals['_NEWMODELREQUEST']._serialized_end=377 + _globals['_VALIDATEREQUEST']._serialized_start=379 + _globals['_VALIDATEREQUEST']._serialized_end=504 + _globals['_UPLOADANDVALIDATEREQUEST']._serialized_start=506 + _globals['_UPLOADANDVALIDATEREQUEST']._serialized_end=626 + _globals['_COMMONREQUEST']._serialized_start=628 + _globals['_COMMONREQUEST']._serialized_end=723 + _globals['_UPDATEMODELREQUEST']._serialized_start=726 + _globals['_UPDATEMODELREQUEST']._serialized_end=871 + _globals['_MODELSRESPONSE']._serialized_start=873 + _globals['_MODELSRESPONSE']._serialized_end=940 + _globals['_DATASETREQUIREMENTSREQUEST']._serialized_start=942 + _globals['_DATASETREQUIREMENTSREQUEST']._serialized_end=1023 + _globals['_ALLMODELSREQUEST']._serialized_start=1025 + _globals['_ALLMODELSREQUEST']._serialized_end=1145 + _globals['_TRAININGMETADATA']._serialized_start=1148 + _globals['_TRAININGMETADATA']._serialized_end=1381 + _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_start=1299 + _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_end=1381 + _globals['_DATASETREQUIREMENTS']._serialized_start=1384 + _globals['_DATASETREQUIREMENTS']._serialized_end=1515 + _globals['_DAEMON']._serialized_start=1518 + _globals['_DAEMON']._serialized_end=2556 +# @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/training_daemon_pb2_grpc.py b/snet/sdk/resources/proto/training_daemon_pb2_grpc.py new file mode 100644 index 0000000..0e81f5d --- /dev/null +++ b/snet/sdk/resources/proto/training_daemon_pb2_grpc.py @@ -0,0 +1,445 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +import training_daemon_pb2 as training__daemon__pb2 +import training_v2_pb2 as training__v2__pb2 + + +class DaemonStub(object): + """Эти методы имплементируют только демон, сервис провайдер должен игнорировать их + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.create_model = channel.unary_unary( + '/training_daemon.Daemon/create_model', + request_serializer=training__daemon__pb2.NewModelRequest.SerializeToString, + response_deserializer=training__v2__pb2.ModelResponse.FromString, + ) + self.validate_model_price = channel.unary_unary( + '/training_daemon.Daemon/validate_model_price', + request_serializer=training__daemon__pb2.ValidateRequest.SerializeToString, + response_deserializer=training__v2__pb2.PriceInBaseUnit.FromString, + ) + self.upload_and_validate = channel.stream_unary( + '/training_daemon.Daemon/upload_and_validate', + request_serializer=training__daemon__pb2.UploadAndValidateRequest.SerializeToString, + response_deserializer=training__v2__pb2.StatusResponse.FromString, + ) + self.validate_model = channel.unary_unary( + '/training_daemon.Daemon/validate_model', + request_serializer=training__daemon__pb2.ValidateRequest.SerializeToString, + response_deserializer=training__v2__pb2.StatusResponse.FromString, + ) + self.train_model_price = channel.unary_unary( + '/training_daemon.Daemon/train_model_price', + request_serializer=training__daemon__pb2.CommonRequest.SerializeToString, + response_deserializer=training__v2__pb2.PriceInBaseUnit.FromString, + ) + self.train_model = channel.unary_unary( + '/training_daemon.Daemon/train_model', + request_serializer=training__daemon__pb2.CommonRequest.SerializeToString, + response_deserializer=training__v2__pb2.StatusResponse.FromString, + ) + self.delete_model = channel.unary_unary( + '/training_daemon.Daemon/delete_model', + request_serializer=training__daemon__pb2.CommonRequest.SerializeToString, + response_deserializer=training__v2__pb2.StatusResponse.FromString, + ) + self.get_training_metadata = channel.unary_unary( + '/training_daemon.Daemon/get_training_metadata', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=training__daemon__pb2.TrainingMetadata.FromString, + ) + self.get_all_models = channel.unary_unary( + '/training_daemon.Daemon/get_all_models', + request_serializer=training__daemon__pb2.AllModelsRequest.SerializeToString, + response_deserializer=training__daemon__pb2.ModelsResponse.FromString, + ) + self.get_model = channel.unary_unary( + '/training_daemon.Daemon/get_model', + request_serializer=training__daemon__pb2.CommonRequest.SerializeToString, + response_deserializer=training__v2__pb2.ModelResponse.FromString, + ) + self.update_model = channel.unary_unary( + '/training_daemon.Daemon/update_model', + request_serializer=training__daemon__pb2.UpdateModelRequest.SerializeToString, + response_deserializer=training__v2__pb2.ModelResponse.FromString, + ) + self.get_dataset_requirements = channel.unary_unary( + '/training_daemon.Daemon/get_dataset_requirements', + request_serializer=training__daemon__pb2.DatasetRequirementsRequest.SerializeToString, + response_deserializer=training__daemon__pb2.DatasetRequirements.FromString, + ) + + +class DaemonServicer(object): + """Эти методы имплементируют только демон, сервис провайдер должен игнорировать их + """ + + def create_model(self, request, context): + """free + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def validate_model_price(self, request, context): + """free + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def upload_and_validate(self, request_iterator, context): + """paid + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def validate_model(self, request, context): + """paid + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def train_model_price(self, request, context): + """free, одна подпись для методов train_model_price & train_model + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def train_model(self, request, context): + """paid + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def delete_model(self, request, context): + """free + После удаления модели status становится DELETED в etcd + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get_training_metadata(self, request, context): + """уникальные методы by daemon + одна подпись для всех геттеров + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get_all_models(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get_model(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def update_model(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get_dataset_requirements(self, request, context): + """free & without auth + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_DaemonServicer_to_server(servicer, server): + rpc_method_handlers = { + 'create_model': grpc.unary_unary_rpc_method_handler( + servicer.create_model, + request_deserializer=training__daemon__pb2.NewModelRequest.FromString, + response_serializer=training__v2__pb2.ModelResponse.SerializeToString, + ), + 'validate_model_price': grpc.unary_unary_rpc_method_handler( + servicer.validate_model_price, + request_deserializer=training__daemon__pb2.ValidateRequest.FromString, + response_serializer=training__v2__pb2.PriceInBaseUnit.SerializeToString, + ), + 'upload_and_validate': grpc.stream_unary_rpc_method_handler( + servicer.upload_and_validate, + request_deserializer=training__daemon__pb2.UploadAndValidateRequest.FromString, + response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + ), + 'validate_model': grpc.unary_unary_rpc_method_handler( + servicer.validate_model, + request_deserializer=training__daemon__pb2.ValidateRequest.FromString, + response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + ), + 'train_model_price': grpc.unary_unary_rpc_method_handler( + servicer.train_model_price, + request_deserializer=training__daemon__pb2.CommonRequest.FromString, + response_serializer=training__v2__pb2.PriceInBaseUnit.SerializeToString, + ), + 'train_model': grpc.unary_unary_rpc_method_handler( + servicer.train_model, + request_deserializer=training__daemon__pb2.CommonRequest.FromString, + response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + ), + 'delete_model': grpc.unary_unary_rpc_method_handler( + servicer.delete_model, + request_deserializer=training__daemon__pb2.CommonRequest.FromString, + response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + ), + 'get_training_metadata': grpc.unary_unary_rpc_method_handler( + servicer.get_training_metadata, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=training__daemon__pb2.TrainingMetadata.SerializeToString, + ), + 'get_all_models': grpc.unary_unary_rpc_method_handler( + servicer.get_all_models, + request_deserializer=training__daemon__pb2.AllModelsRequest.FromString, + response_serializer=training__daemon__pb2.ModelsResponse.SerializeToString, + ), + 'get_model': grpc.unary_unary_rpc_method_handler( + servicer.get_model, + request_deserializer=training__daemon__pb2.CommonRequest.FromString, + response_serializer=training__v2__pb2.ModelResponse.SerializeToString, + ), + 'update_model': grpc.unary_unary_rpc_method_handler( + servicer.update_model, + request_deserializer=training__daemon__pb2.UpdateModelRequest.FromString, + response_serializer=training__v2__pb2.ModelResponse.SerializeToString, + ), + 'get_dataset_requirements': grpc.unary_unary_rpc_method_handler( + servicer.get_dataset_requirements, + request_deserializer=training__daemon__pb2.DatasetRequirementsRequest.FromString, + response_serializer=training__daemon__pb2.DatasetRequirements.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'training_daemon.Daemon', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Daemon(object): + """Эти методы имплементируют только демон, сервис провайдер должен игнорировать их + """ + + @staticmethod + def create_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/create_model', + training__daemon__pb2.NewModelRequest.SerializeToString, + training__v2__pb2.ModelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def validate_model_price(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/validate_model_price', + training__daemon__pb2.ValidateRequest.SerializeToString, + training__v2__pb2.PriceInBaseUnit.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def upload_and_validate(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_unary(request_iterator, target, '/training_daemon.Daemon/upload_and_validate', + training__daemon__pb2.UploadAndValidateRequest.SerializeToString, + training__v2__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def validate_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/validate_model', + training__daemon__pb2.ValidateRequest.SerializeToString, + training__v2__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def train_model_price(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/train_model_price', + training__daemon__pb2.CommonRequest.SerializeToString, + training__v2__pb2.PriceInBaseUnit.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def train_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/train_model', + training__daemon__pb2.CommonRequest.SerializeToString, + training__v2__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def delete_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/delete_model', + training__daemon__pb2.CommonRequest.SerializeToString, + training__v2__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def get_training_metadata(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_training_metadata', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + training__daemon__pb2.TrainingMetadata.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def get_all_models(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_all_models', + training__daemon__pb2.AllModelsRequest.SerializeToString, + training__daemon__pb2.ModelsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def get_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_model', + training__daemon__pb2.CommonRequest.SerializeToString, + training__v2__pb2.ModelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def update_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/update_model', + training__daemon__pb2.UpdateModelRequest.SerializeToString, + training__v2__pb2.ModelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def get_dataset_requirements(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_dataset_requirements', + training__daemon__pb2.DatasetRequirementsRequest.SerializeToString, + training__daemon__pb2.DatasetRequirements.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/snet/sdk/resources/proto/training_v2.proto b/snet/sdk/resources/proto/training_v2.proto new file mode 100644 index 0000000..32dd409 --- /dev/null +++ b/snet/sdk/resources/proto/training_v2.proto @@ -0,0 +1,116 @@ +syntax = "proto3"; +import "google/protobuf/descriptor.proto"; // нужно для работы индикаторов +package trainingV2; +option go_package = "../training"; + +// Методы которые должен имплементировать сервис провайдер +service Model { + + // free + // можно прокинуть адрес создателя модели + rpc create_model(NewModel) returns (ModelID) {} + + // free + rpc validate_model_price(ValidateRequest) returns (PriceInBaseUnit) {} + + // paid + rpc upload_and_validate(stream DataToUpload) returns (StatusResponse) {} + + // paid + rpc validate_model(ValidateRequest) returns (StatusResponse) {} + + // free, одна подпись для методов train_model_price & train_model + rpc train_model_price(ModelID) returns (PriceInBaseUnit) {} + + // paid + rpc train_model(ModelID) returns (StatusResponse) {} + + // free + rpc delete_model(ModelID) returns (StatusResponse) { + // После удаления модели status становится DELETED в etcd + } + + // free + rpc get_model_status(ModelID) returns (StatusResponse) {} +} + +message ModelResponse { + string model_id = 1; + Status status = 2; + string updated_date = 3; + string name = 4; + string description = 5; + string grpc_method_name = 6; + string grpc_service_name = 7; + + // List of all the addresses that will have access to this model + repeated string address_list = 8; + + // доступ к модели даем только на использование и просмотр + bool is_public = 9; + + string training_data_link = 10; +} + +// Используется как input на запросы: new_model +// Использовать ли эти поля - выбор за сервис провайдером, главное вернуть model_id +message NewModel { + string name = 1; + string description = 2; + string grpc_method_name = 3; + string grpc_service_name = 4; + + // List of all the addresses that will have access to this model + repeated string address_list = 5; + + // set this to true if you want your model to be used by other AI consumers + bool is_public = 6; + + // Эти параметры будет прокидывать демон + string organization_id = 7; + string service_id = 8; + string group_id = 9; +} + +// Эту структуру нужно использовать сервис провайдеру +message ModelID { + string model_id = 1; +} + +// Эту структуру нужно использовать сервис провайдеру +// Используется в методе train_model_price для получения цены трейнинга/валидации +message PriceInBaseUnit { + uint64 price = 1; // cogs, weis, afet, aasi etc +} + +enum Status { + CREATED = 0; + VALIDATING = 1; + VALIDATED = 2; + TRAINING = 3; + READY_TO_USE = 4; // after training completed + ERRORED = 5; + DELETED = 6; +} + +message StatusResponse { + Status status = 1; +} + +message DataToUpload { + string model_id = 2; + bytes data = 3; +} + +message ValidateRequest { + string model_id = 2; + string training_data_link = 3; +} + +extend google.protobuf.MethodOptions { + string defaultModelID = 50001; + uint64 datasetMaxSizeMB = 50002; + repeated string filesTypes = 50003; // [png, jpg, mp4] + string datasetDescription = 50004; // свободное описание доп требований + uint64 maxModelsPerUser = 50006; +} diff --git a/snet/sdk/resources/proto/training_v2_pb2.py b/snet/sdk/resources/proto/training_v2_pb2.py new file mode 100644 index 0000000..195c5de --- /dev/null +++ b/snet/sdk/resources/proto/training_v2_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: training_v2.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11training_v2.proto\x12\ntrainingV2\x1a google/protobuf/descriptor.proto\"\xf8\x01\n\rModelResponse\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x14\n\x0cupdated_date\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x06 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x07 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x08 \x03(\t\x12\x11\n\tis_public\x18\t \x01(\x08\x12\x1a\n\x12training_data_link\x18\n \x01(\t\"\xca\x01\n\x08NewModel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x03 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\x12\x11\n\tis_public\x18\x06 \x01(\x08\x12\x17\n\x0forganization_id\x18\x07 \x01(\t\x12\x12\n\nservice_id\x18\x08 \x01(\t\x12\x10\n\x08group_id\x18\t \x01(\t\"\x1b\n\x07ModelID\x12\x10\n\x08model_id\x18\x01 \x01(\t\" \n\x0fPriceInBaseUnit\x12\r\n\x05price\x18\x01 \x01(\x04\"4\n\x0eStatusResponse\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.trainingV2.Status\".\n\x0c\x44\x61taToUpload\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"?\n\x0fValidateRequest\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t*n\n\x06Status\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0e\n\nVALIDATING\x10\x01\x12\r\n\tVALIDATED\x10\x02\x12\x0c\n\x08TRAINING\x10\x03\x12\x10\n\x0cREADY_TO_USE\x10\x04\x12\x0b\n\x07\x45RRORED\x10\x05\x12\x0b\n\x07\x44\x45LETED\x10\x06\x32\xcb\x04\n\x05Model\x12;\n\x0c\x63reate_model\x12\x14.trainingV2.NewModel\x1a\x13.trainingV2.ModelID\"\x00\x12R\n\x14validate_model_price\x12\x1b.trainingV2.ValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12O\n\x13upload_and_validate\x12\x18.trainingV2.DataToUpload\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12K\n\x0evalidate_model\x12\x1b.trainingV2.ValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12G\n\x11train_model_price\x12\x13.trainingV2.ModelID\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12@\n\x0btrain_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x41\n\x0c\x64\x65lete_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x45\n\x10get_model_status\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00:8\n\x0e\x64\x65\x66\x61ultModelID\x12\x1e.google.protobuf.MethodOptions\x18\xd1\x86\x03 \x01(\t::\n\x10\x64\x61tasetMaxSizeMB\x12\x1e.google.protobuf.MethodOptions\x18\xd2\x86\x03 \x01(\x04:4\n\nfilesTypes\x12\x1e.google.protobuf.MethodOptions\x18\xd3\x86\x03 \x03(\t:<\n\x12\x64\x61tasetDescription\x12\x1e.google.protobuf.MethodOptions\x18\xd4\x86\x03 \x01(\t::\n\x10maxModelsPerUser\x12\x1e.google.protobuf.MethodOptions\x18\xd6\x86\x03 \x01(\x04\x42\rZ\x0b../trainingb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'training_v2_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\013../training' + _globals['_STATUS']._serialized_start=753 + _globals['_STATUS']._serialized_end=863 + _globals['_MODELRESPONSE']._serialized_start=68 + _globals['_MODELRESPONSE']._serialized_end=316 + _globals['_NEWMODEL']._serialized_start=319 + _globals['_NEWMODEL']._serialized_end=521 + _globals['_MODELID']._serialized_start=523 + _globals['_MODELID']._serialized_end=550 + _globals['_PRICEINBASEUNIT']._serialized_start=552 + _globals['_PRICEINBASEUNIT']._serialized_end=584 + _globals['_STATUSRESPONSE']._serialized_start=586 + _globals['_STATUSRESPONSE']._serialized_end=638 + _globals['_DATATOUPLOAD']._serialized_start=640 + _globals['_DATATOUPLOAD']._serialized_end=686 + _globals['_VALIDATEREQUEST']._serialized_start=688 + _globals['_VALIDATEREQUEST']._serialized_end=751 + _globals['_MODEL']._serialized_start=866 + _globals['_MODEL']._serialized_end=1453 +# @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/training_v2_pb2_grpc.py b/snet/sdk/resources/proto/training_v2_pb2_grpc.py new file mode 100644 index 0000000..f803081 --- /dev/null +++ b/snet/sdk/resources/proto/training_v2_pb2_grpc.py @@ -0,0 +1,310 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +import training_v2_pb2 as training__v2__pb2 + + +class ModelStub(object): + """Методы которые должен имплементировать сервис провайдер + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.create_model = channel.unary_unary( + '/trainingV2.Model/create_model', + request_serializer=training__v2__pb2.NewModel.SerializeToString, + response_deserializer=training__v2__pb2.ModelID.FromString, + ) + self.validate_model_price = channel.unary_unary( + '/trainingV2.Model/validate_model_price', + request_serializer=training__v2__pb2.ValidateRequest.SerializeToString, + response_deserializer=training__v2__pb2.PriceInBaseUnit.FromString, + ) + self.upload_and_validate = channel.stream_unary( + '/trainingV2.Model/upload_and_validate', + request_serializer=training__v2__pb2.DataToUpload.SerializeToString, + response_deserializer=training__v2__pb2.StatusResponse.FromString, + ) + self.validate_model = channel.unary_unary( + '/trainingV2.Model/validate_model', + request_serializer=training__v2__pb2.ValidateRequest.SerializeToString, + response_deserializer=training__v2__pb2.StatusResponse.FromString, + ) + self.train_model_price = channel.unary_unary( + '/trainingV2.Model/train_model_price', + request_serializer=training__v2__pb2.ModelID.SerializeToString, + response_deserializer=training__v2__pb2.PriceInBaseUnit.FromString, + ) + self.train_model = channel.unary_unary( + '/trainingV2.Model/train_model', + request_serializer=training__v2__pb2.ModelID.SerializeToString, + response_deserializer=training__v2__pb2.StatusResponse.FromString, + ) + self.delete_model = channel.unary_unary( + '/trainingV2.Model/delete_model', + request_serializer=training__v2__pb2.ModelID.SerializeToString, + response_deserializer=training__v2__pb2.StatusResponse.FromString, + ) + self.get_model_status = channel.unary_unary( + '/trainingV2.Model/get_model_status', + request_serializer=training__v2__pb2.ModelID.SerializeToString, + response_deserializer=training__v2__pb2.StatusResponse.FromString, + ) + + +class ModelServicer(object): + """Методы которые должен имплементировать сервис провайдер + """ + + def create_model(self, request, context): + """free + можно прокинуть адрес создателя модели + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def validate_model_price(self, request, context): + """free + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def upload_and_validate(self, request_iterator, context): + """paid + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def validate_model(self, request, context): + """paid + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def train_model_price(self, request, context): + """free, одна подпись для методов train_model_price & train_model + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def train_model(self, request, context): + """paid + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def delete_model(self, request, context): + """free + После удаления модели status становится DELETED в etcd + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get_model_status(self, request, context): + """free + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ModelServicer_to_server(servicer, server): + rpc_method_handlers = { + 'create_model': grpc.unary_unary_rpc_method_handler( + servicer.create_model, + request_deserializer=training__v2__pb2.NewModel.FromString, + response_serializer=training__v2__pb2.ModelID.SerializeToString, + ), + 'validate_model_price': grpc.unary_unary_rpc_method_handler( + servicer.validate_model_price, + request_deserializer=training__v2__pb2.ValidateRequest.FromString, + response_serializer=training__v2__pb2.PriceInBaseUnit.SerializeToString, + ), + 'upload_and_validate': grpc.stream_unary_rpc_method_handler( + servicer.upload_and_validate, + request_deserializer=training__v2__pb2.DataToUpload.FromString, + response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + ), + 'validate_model': grpc.unary_unary_rpc_method_handler( + servicer.validate_model, + request_deserializer=training__v2__pb2.ValidateRequest.FromString, + response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + ), + 'train_model_price': grpc.unary_unary_rpc_method_handler( + servicer.train_model_price, + request_deserializer=training__v2__pb2.ModelID.FromString, + response_serializer=training__v2__pb2.PriceInBaseUnit.SerializeToString, + ), + 'train_model': grpc.unary_unary_rpc_method_handler( + servicer.train_model, + request_deserializer=training__v2__pb2.ModelID.FromString, + response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + ), + 'delete_model': grpc.unary_unary_rpc_method_handler( + servicer.delete_model, + request_deserializer=training__v2__pb2.ModelID.FromString, + response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + ), + 'get_model_status': grpc.unary_unary_rpc_method_handler( + servicer.get_model_status, + request_deserializer=training__v2__pb2.ModelID.FromString, + response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'trainingV2.Model', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Model(object): + """Методы которые должен имплементировать сервис провайдер + """ + + @staticmethod + def create_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/create_model', + training__v2__pb2.NewModel.SerializeToString, + training__v2__pb2.ModelID.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def validate_model_price(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/validate_model_price', + training__v2__pb2.ValidateRequest.SerializeToString, + training__v2__pb2.PriceInBaseUnit.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def upload_and_validate(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_unary(request_iterator, target, '/trainingV2.Model/upload_and_validate', + training__v2__pb2.DataToUpload.SerializeToString, + training__v2__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def validate_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/validate_model', + training__v2__pb2.ValidateRequest.SerializeToString, + training__v2__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def train_model_price(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/train_model_price', + training__v2__pb2.ModelID.SerializeToString, + training__v2__pb2.PriceInBaseUnit.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def train_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/train_model', + training__v2__pb2.ModelID.SerializeToString, + training__v2__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def delete_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/delete_model', + training__v2__pb2.ModelID.SerializeToString, + training__v2__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def get_model_status(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/get_model_status', + training__v2__pb2.ModelID.SerializeToString, + training__v2__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/snet/sdk/service_client.py b/snet/sdk/service_client.py index be497fc..cd90d54 100644 --- a/snet/sdk/service_client.py +++ b/snet/sdk/service_client.py @@ -24,6 +24,7 @@ from snet.sdk.typing import ModuleName, ServiceStub from snet.sdk.utils.utils import (RESOURCES_PATH, add_to_path, find_file_by_keyword) +from snet.sdk.training.training_v2 import TrainingV2 class _ClientCallDetails( @@ -76,6 +77,7 @@ def __init__( self.payment_channel_state_service_client = self._generate_payment_channel_state_service_client() self.payment_channels = [] self.last_read_block: int = 0 + self.__training = TrainingV2(self) if self.check_training() else None def call_rpc(self, rpc_name: str, message_class: str, **kwargs) -> Any: rpc_method = getattr(self.service, rpc_name) @@ -91,7 +93,7 @@ def _generate_grpc_stub(self, service_stub: ServiceStub) -> Any: "disable_blockchain_operations", False ) - if disable_blockchain_operations is False: + if not disable_blockchain_operations: grpc_channel = self.grpc_channel stub_instance = service_stub(grpc_channel) return stub_instance @@ -209,8 +211,9 @@ def generate_signature(self, message: bytes) -> bytes: defunct_hash_message(message), self.account.signer_private_key ).signature) - def generate_training_signature(self, text: str, address: ChecksumAddress, + def generate_training_signature(self, text: str, address: str, block_number: BlockNumber) -> HexBytes: + address = web3.Web3.to_checksum_address(address) message = web3.Web3.solidity_keccak( ["string", "address", "uint256"], [text, address, block_number] @@ -232,6 +235,16 @@ def get_service_details(self) -> tuple[str, str, str, str]: self.group["group_name"] )[0]) + def check_training(self) -> bool: + # TODO: add implementation + pass + + @property + def training(self) -> TrainingV2: + if self.__training is None: + raise Exception("The service does not support training.") + return self.__training + def get_concurrency_flag(self) -> bool: return self.options.get('concurrency', True) diff --git a/snet/sdk/training/training_v2.py b/snet/sdk/training/training_v2.py new file mode 100644 index 0000000..13a74c8 --- /dev/null +++ b/snet/sdk/training/training_v2.py @@ -0,0 +1,238 @@ +import enum +from http.client import responses +from os import PathLike +from pathlib import PurePath, Path +from typing import NewType + +from jsonrpcclient import request + +from snet.sdk.service_client import ServiceClient + +from snet.sdk.resources.proto import training_daemon_pb2 as training_daemon +from snet.sdk.resources.proto import training_daemon_pb2_grpc as training_daemon_grpc +from snet.sdk.resources.proto import training_v2_pb2 as training + + +class ModelMethodMessage(enum.Enum): + CreateModel = "__CreateModel" + ValidateModelPrice = "__ValidateModelPrice" + TrainModelPrice = "__TrainModelPrice" + DeleteModel = "__DeleteModel" + GetTrainingMetadata = "__GetTrainingMetadata" + GetAllModels = "__GetAllModels" + GetModel = "__GetModel" + UpdateModel = "__UpdateModel" + GetDatasetRequirements = "__GetDatasetRequirements" + UploadAndValidate = "__UploadAndValidate" + ValidateModel = "__ValidateModel" + TrainModel = "__TrainModel" + + +class ModelStatus(enum.Enum): + CREATED = "CREATED" + VALIDATING = "VALIDATING" + VALIDATED = "VALIDATED" + TRAINING = "TRAINING" + READY_TO_USE = "READY_TO_USE" + ERRORED = "ERRORED" + DELETED = "DELETED" + + +class TrainingV2: + def __init__(self, service_client: ServiceClient): + self.service_client = service_client + # TODO: store model_id and prices + + # TODO: implement whole process in one method + + """FREE METHODS TO CALL""" + + def create_model(self, method_name: str, + model_name: str, + model_description: str="", + is_public_accessible: bool=False, + addresses_with_access: list[str]=None): + if addresses_with_access is None: + addresses_with_access = [] + new_model = training.NewModel(name=model_name, + description=model_description, + grpc_method_name=method_name, + grpc_service_name="service", # TODO: get from service_client + is_public=is_public_accessible, + address_list=addresses_with_access, + organization_id=self.service_client.org_id, + service_id=self.service_client.service_id, + group_id=self.service_client.group["group_id"]) + auth_details = self._get_auth_details(ModelMethodMessage.CreateModel) + create_model_request = training_daemon.NewModelRequest(authorization=auth_details, + model=new_model) + response = self._call_method("create_model", + request_data=create_model_request) + # TODO: process response + return response + + def validate_model_price(self, model_id: int): + auth_details = self._get_auth_details(ModelMethodMessage.ValidateModelPrice) + validate_model_price_request = training_daemon.ValidateRequest( + authorization=auth_details, + model_id=model_id, + training_data_link="" + ) + response = self._call_method("validate_model_price", + request_data=validate_model_price_request) + # TODO: process response + return response + + def train_model_price(self, model_id: int): + auth_details = self._get_auth_details(ModelMethodMessage.TrainModelPrice) + common_request = training_daemon.CommonRequest(authorization=auth_details, + model_id=model_id) + response = self._call_method("train_model_price", + request_data=common_request) + # TODO: process response + return response + + def delete_model(self, model_id: int): + auth_details = self._get_auth_details(ModelMethodMessage.DeleteModel) + common_request = training_daemon.CommonRequest(authorization=auth_details, + model_id=model_id) + response = self._call_method("delete_model", + request_data=common_request) + # TODO: process response + return response + + def get_training_metadata(self): + response = self._call_method("get_training_metadata") + # TODO: process response + return response + + def get_all_models(self, status: ModelStatus=None, + is_public: bool=False, + model_name: str=""): + if status: + status = getattr(training.Status, status.value) + auth_details = self._get_auth_details(ModelMethodMessage.GetAllModels) + all_models_request = training_daemon.AllModelsRequest( + authorization=auth_details, + status=status, + is_public=is_public, + model_name=model_name, + page_size=0, + page=0 + ) + response = self._call_method("get_all_models", + request_data=all_models_request) + # TODO: process response + return response + + def get_model(self, model_id: int): + auth_details = self._get_auth_details(ModelMethodMessage.GetModel) + common_request = training_daemon.CommonRequest(authorization=auth_details, + model_id=model_id) + response = self._call_method("get_model", + request_data=common_request) + # TODO: process response + return response + + def update_model(self, model_id: int, + model_name: str="", + description: str="", + addresses_with_access: list[str]=None): + if addresses_with_access is None: + addresses_with_access = [] + auth_details = self._get_auth_details(ModelMethodMessage.UpdateModel) + update_model_request = training_daemon.UpdateModelRequest( + authorization=auth_details,model_id=model_id, + model_name=model_name, + description=description, + address_list=addresses_with_access + ) + response = self._call_method("update_model", + request_data=update_model_request) + # TODO: process response + return response + + def get_dataset_requirements(self, method_name: str): + requirements_request = training_daemon.DatasetRequirementsRequest( + grpc_method_name=method_name, + grpc_service_name="service" # TODO: get from service_client + ) + response = self._call_method("get_dataset_requirements", + request_data=requirements_request) + # TODO: process response + return response + + """PAID METHODS TO CALL""" + + def upload_and_validate(self, model_id: int, zip_path: str | Path | PurePath): + data = [] + with open(zip_path, 'rb') as f: # TODO: handle exceptions with file + data_part = f.read(256) + while data_part: + data.append(data_part) + + auth_details = self._get_auth_details(ModelMethodMessage.UploadAndValidate) + + upload_and_validate_request = [] + for data_part in data: + upload_and_validate_request.append( + training_daemon.UploadAndValidateRequest( + authorization=auth_details, + model_id=model_id, + data=data_part) + ) + upload_and_validate_request = iter(upload_and_validate_request) + + response = self._call_method("upload_and_validate", + request_data=upload_and_validate_request, + paid=True) + # TODO: process response + return response + + def train_model(self, model_id: int): + auth_details = self._get_auth_details(ModelMethodMessage.TrainModel) + common_request = training_daemon.CommonRequest(authorization=auth_details, + model_id=model_id) + response = self._call_method("train_model", + request_data=common_request, + paid=True) + # TODO: process response + return response + + """PRIVATE METHODS""" + + def _call_method(self, method_name: str, + request_data=None, + paid=False): + try: + stub = self._get_training_stub(paid=paid) + if request_data is None: + response = getattr(stub, method_name)() + else: + response = getattr(stub, method_name)(request_data) + return response + except Exception as e: + print("Exception: ", e) + return e + + def _get_training_stub(self, paid=False): + if paid: + grpc_channel = self.service_client.grpc_channel + else: + grpc_channel = self.service_client.get_grpc_base_channel() + return training_daemon_grpc.DaemonStub(grpc_channel) + + def _get_auth_details(self, method_msg: ModelMethodMessage): + current_block_number = self.service_client.get_current_block_number() + address = self.service_client.account.address + signature = self.service_client.generate_training_signature(method_msg.value, + address, + current_block_number) + auth_details = training_daemon.AuthorizationDetails( + signature=bytes(signature), + current_block=current_block_number, + signer_address=address, + message=method_msg.value + ) + return auth_details + From 00e68f8427c6ec4aef01839cd0306381c95433b8 Mon Sep 17 00:00:00 2001 From: Arondondon Date: Tue, 3 Dec 2024 19:04:17 +0300 Subject: [PATCH 05/25] Updated proto and stubs, implemented method name check, changed upload_and_validate method in training_v2. --- .../sdk/resources/proto/training_daemon.proto | 18 ++--- .../resources/proto/training_daemon_pb2.py | 32 ++++----- .../proto/training_daemon_pb2_grpc.py | 14 ++-- snet/sdk/resources/proto/training_v2.proto | 22 +++---- .../resources/proto/training_v2_pb2_grpc.py | 10 +-- snet/sdk/service_client.py | 2 +- snet/sdk/training/training_v2.py | 66 +++++++++---------- 7 files changed, 80 insertions(+), 84 deletions(-) diff --git a/snet/sdk/resources/proto/training_daemon.proto b/snet/sdk/resources/proto/training_daemon.proto index 2760ff2..5847e51 100644 --- a/snet/sdk/resources/proto/training_daemon.proto +++ b/snet/sdk/resources/proto/training_daemon.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package training_daemon; -import "google/protobuf/descriptor.proto"; // нужно для работы индикаторов -import "google/protobuf/struct.proto"; // нужно для google.protobuf.ListValue +import "google/protobuf/descriptor.proto"; // need for indicators +import "google/protobuf/struct.proto"; // need for google.protobuf.ListValue import "training_v2.proto"; option go_package = "../training"; import "google/protobuf/empty.proto"; @@ -51,7 +51,7 @@ message ModelsResponse { repeated trainingV2.ModelResponse list_of_models = 1; } -// Эти методы имплементируют только демон, сервис провайдер должен игнорировать их +// These methods are implemented only by daemon, service provider should ignore them service Daemon { // free rpc create_model(NewModelRequest) returns (trainingV2.ModelResponse) {} @@ -65,18 +65,18 @@ service Daemon { // paid rpc validate_model(ValidateRequest) returns (trainingV2.StatusResponse) {} - // free, одна подпись для методов train_model_price & train_model + // free, one signature for train_model_price & train_model methods rpc train_model_price(CommonRequest) returns (trainingV2.PriceInBaseUnit) {} // paid rpc train_model(CommonRequest) returns (trainingV2.StatusResponse) {} // free - // После удаления модели status становится DELETED в etcd + // After deleting model the status will be DELETED in ETCD rpc delete_model(CommonRequest) returns (trainingV2.StatusResponse) {} - // уникальные методы by daemon - // одна подпись для всех геттеров + // unique methods by daemon + // one signature for all getters rpc get_training_metadata(google.protobuf.Empty) returns (TrainingMetadata) {} rpc get_all_models(AllModelsRequest) returns (ModelsResponse) {} @@ -96,7 +96,7 @@ message DatasetRequirementsRequest{ message AllModelsRequest{ AuthorizationDetails authorization = 1; - // фильтры + // filters trainingV2.Status status = 2; bool is_public = 3; string name = 4; // поиск по названию @@ -107,7 +107,7 @@ message AllModelsRequest{ message TrainingMetadata { bool trainingEnabled = 1; bool trainingInProto = 2; - // ключ - grpc_service_name, значение - массив grpc_method_name + // key - grpc_service_name, value - массив grpc_method_name map trainingMethods = 3; } diff --git a/snet/sdk/resources/proto/training_daemon_pb2.py b/snet/sdk/resources/proto/training_daemon_pb2.py index 5a1189a..b1e88af 100644 --- a/snet/sdk/resources/proto/training_daemon_pb2.py +++ b/snet/sdk/resources/proto/training_daemon_pb2.py @@ -17,7 +17,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15training_daemon.proto\x12\x0ftraining_daemon\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x11training_v2.proto\x1a\x1bgoogle/protobuf/empty.proto\"i\n\x14\x41uthorizationDetails\x12\x15\n\rcurrent_block\x18\x01 \x01(\x04\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x16\n\x0esigner_address\x18\x04 \x01(\t\"t\n\x0fNewModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12#\n\x05model\x18\x02 \x01(\x0b\x32\x14.trainingV2.NewModel\"}\n\x0fValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t\"x\n\x18UploadAndValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"_\n\rCommonRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\"\x91\x01\n\x12UpdateModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x12\n\nmodel_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x04 \x03(\t\"C\n\x0eModelsResponse\x12\x31\n\x0elist_of_models\x18\x01 \x03(\x0b\x32\x19.trainingV2.ModelResponse\"Q\n\x1a\x44\x61tasetRequirementsRequest\x12\x18\n\x10grpc_method_name\x18\x01 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x02 \x01(\t\"x\n\x10\x41llModelsRequest\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.trainingV2.Status\x12\x11\n\tis_public\x18\x02 \x01(\x08\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tpage_size\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"\xe9\x01\n\x10TrainingMetadata\x12\x17\n\x0ftrainingEnabled\x18\x01 \x01(\x08\x12\x17\n\x0ftrainingInProto\x18\x02 \x01(\x08\x12O\n\x0ftrainingMethods\x18\x03 \x03(\x0b\x32\x36.training_daemon.TrainingMetadata.TrainingMethodsEntry\x1aR\n\x14TrainingMethodsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValue:\x02\x38\x01\"\x83\x01\n\x13\x44\x61tasetRequirements\x12\x13\n\x0bmax_size_mb\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ount_files\x18\x02 \x01(\x04\x12\x1a\n\x12max_size_mb_single\x18\x03 \x01(\x04\x12\x11\n\tfile_type\x18\x04 \x03(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t2\x8e\x08\n\x06\x44\x61\x65mon\x12M\n\x0c\x63reate_model\x12 .training_daemon.NewModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12W\n\x14validate_model_price\x12 .training_daemon.ValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12`\n\x13upload_and_validate\x12).training_daemon.UploadAndValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12P\n\x0evalidate_model\x12 .training_daemon.ValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12R\n\x11train_model_price\x12\x1e.training_daemon.CommonRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12K\n\x0btrain_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12L\n\x0c\x64\x65lete_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12T\n\x15get_training_metadata\x12\x16.google.protobuf.Empty\x1a!.training_daemon.TrainingMetadata\"\x00\x12V\n\x0eget_all_models\x12!.training_daemon.AllModelsRequest\x1a\x1f.training_daemon.ModelsResponse\"\x00\x12H\n\tget_model\x12\x1e.training_daemon.CommonRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12P\n\x0cupdate_model\x12#.training_daemon.UpdateModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12o\n\x18get_dataset_requirements\x12+.training_daemon.DatasetRequirementsRequest\x1a$.training_daemon.DatasetRequirements\"\x00\x42\rZ\x0b../trainingb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15training_daemon.proto\x12\x0ftraining_daemon\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x11training_v2.proto\x1a\x1bgoogle/protobuf/empty.proto\"i\n\x14\x41uthorizationDetails\x12\x15\n\rcurrent_block\x18\x01 \x01(\x04\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x16\n\x0esigner_address\x18\x04 \x01(\t\"t\n\x0fNewModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12#\n\x05model\x18\x02 \x01(\x0b\x32\x14.trainingV2.NewModel\"}\n\x0fValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t\"x\n\x18UploadAndValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"_\n\rCommonRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\"\xa3\x01\n\x12UpdateModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x12\n\nmodel_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\"C\n\x0eModelsResponse\x12\x31\n\x0elist_of_models\x18\x01 \x03(\x0b\x32\x19.trainingV2.ModelResponse\"Q\n\x1a\x44\x61tasetRequirementsRequest\x12\x18\n\x10grpc_method_name\x18\x01 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x02 \x01(\t\"\xb6\x01\n\x10\x41llModelsRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x11\n\tis_public\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x11\n\tpage_size\x18\x05 \x01(\x04\x12\x0c\n\x04page\x18\x06 \x01(\x04\"\xe9\x01\n\x10TrainingMetadata\x12\x17\n\x0ftrainingEnabled\x18\x01 \x01(\x08\x12\x17\n\x0ftrainingInProto\x18\x02 \x01(\x08\x12O\n\x0ftrainingMethods\x18\x03 \x03(\x0b\x32\x36.training_daemon.TrainingMetadata.TrainingMethodsEntry\x1aR\n\x14TrainingMethodsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValue:\x02\x38\x01\"\x83\x01\n\x13\x44\x61tasetRequirements\x12\x13\n\x0bmax_size_mb\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ount_files\x18\x02 \x01(\x04\x12\x1a\n\x12max_size_mb_single\x18\x03 \x01(\x04\x12\x11\n\tfile_type\x18\x04 \x03(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t2\x8e\x08\n\x06\x44\x61\x65mon\x12M\n\x0c\x63reate_model\x12 .training_daemon.NewModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12W\n\x14validate_model_price\x12 .training_daemon.ValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12`\n\x13upload_and_validate\x12).training_daemon.UploadAndValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12P\n\x0evalidate_model\x12 .training_daemon.ValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12R\n\x11train_model_price\x12\x1e.training_daemon.CommonRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12K\n\x0btrain_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12L\n\x0c\x64\x65lete_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12T\n\x15get_training_metadata\x12\x16.google.protobuf.Empty\x1a!.training_daemon.TrainingMetadata\"\x00\x12V\n\x0eget_all_models\x12!.training_daemon.AllModelsRequest\x1a\x1f.training_daemon.ModelsResponse\"\x00\x12H\n\tget_model\x12\x1e.training_daemon.CommonRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12P\n\x0cupdate_model\x12#.training_daemon.UpdateModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12o\n\x18get_dataset_requirements\x12+.training_daemon.DatasetRequirementsRequest\x1a$.training_daemon.DatasetRequirements\"\x00\x42\rZ\x0b../trainingb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -38,19 +38,19 @@ _globals['_COMMONREQUEST']._serialized_start=628 _globals['_COMMONREQUEST']._serialized_end=723 _globals['_UPDATEMODELREQUEST']._serialized_start=726 - _globals['_UPDATEMODELREQUEST']._serialized_end=871 - _globals['_MODELSRESPONSE']._serialized_start=873 - _globals['_MODELSRESPONSE']._serialized_end=940 - _globals['_DATASETREQUIREMENTSREQUEST']._serialized_start=942 - _globals['_DATASETREQUIREMENTSREQUEST']._serialized_end=1023 - _globals['_ALLMODELSREQUEST']._serialized_start=1025 - _globals['_ALLMODELSREQUEST']._serialized_end=1145 - _globals['_TRAININGMETADATA']._serialized_start=1148 - _globals['_TRAININGMETADATA']._serialized_end=1381 - _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_start=1299 - _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_end=1381 - _globals['_DATASETREQUIREMENTS']._serialized_start=1384 - _globals['_DATASETREQUIREMENTS']._serialized_end=1515 - _globals['_DAEMON']._serialized_start=1518 - _globals['_DAEMON']._serialized_end=2556 + _globals['_UPDATEMODELREQUEST']._serialized_end=889 + _globals['_MODELSRESPONSE']._serialized_start=891 + _globals['_MODELSRESPONSE']._serialized_end=958 + _globals['_DATASETREQUIREMENTSREQUEST']._serialized_start=960 + _globals['_DATASETREQUIREMENTSREQUEST']._serialized_end=1041 + _globals['_ALLMODELSREQUEST']._serialized_start=1044 + _globals['_ALLMODELSREQUEST']._serialized_end=1226 + _globals['_TRAININGMETADATA']._serialized_start=1229 + _globals['_TRAININGMETADATA']._serialized_end=1462 + _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_start=1380 + _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_end=1462 + _globals['_DATASETREQUIREMENTS']._serialized_start=1465 + _globals['_DATASETREQUIREMENTS']._serialized_end=1596 + _globals['_DAEMON']._serialized_start=1599 + _globals['_DAEMON']._serialized_end=2637 # @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/training_daemon_pb2_grpc.py b/snet/sdk/resources/proto/training_daemon_pb2_grpc.py index 0e81f5d..57e54e5 100644 --- a/snet/sdk/resources/proto/training_daemon_pb2_grpc.py +++ b/snet/sdk/resources/proto/training_daemon_pb2_grpc.py @@ -8,7 +8,7 @@ class DaemonStub(object): - """Эти методы имплементируют только демон, сервис провайдер должен игнорировать их + """These methods are implemented only by daemon, service provider should ignore them """ def __init__(self, channel): @@ -80,7 +80,7 @@ def __init__(self, channel): class DaemonServicer(object): - """Эти методы имплементируют только демон, сервис провайдер должен игнорировать их + """These methods are implemented only by daemon, service provider should ignore them """ def create_model(self, request, context): @@ -112,7 +112,7 @@ def validate_model(self, request, context): raise NotImplementedError('Method not implemented!') def train_model_price(self, request, context): - """free, одна подпись для методов train_model_price & train_model + """free, one signature for train_model_price & train_model methods """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -127,15 +127,15 @@ def train_model(self, request, context): def delete_model(self, request, context): """free - После удаления модели status становится DELETED в etcd + After deleting model the status will be DELETED in ETCD """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def get_training_metadata(self, request, context): - """уникальные методы by daemon - одна подпись для всех геттеров + """unique methods by daemon + one signature for all getters """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -237,7 +237,7 @@ def add_DaemonServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class Daemon(object): - """Эти методы имплементируют только демон, сервис провайдер должен игнорировать их + """These methods are implemented only by daemon, service provider should ignore them """ @staticmethod diff --git a/snet/sdk/resources/proto/training_v2.proto b/snet/sdk/resources/proto/training_v2.proto index 32dd409..9c2dbcb 100644 --- a/snet/sdk/resources/proto/training_v2.proto +++ b/snet/sdk/resources/proto/training_v2.proto @@ -1,13 +1,13 @@ syntax = "proto3"; -import "google/protobuf/descriptor.proto"; // нужно для работы индикаторов +import "google/protobuf/descriptor.proto"; // need for indicators package trainingV2; option go_package = "../training"; -// Методы которые должен имплементировать сервис провайдер +// The methods below are implemented by service provider service Model { // free - // можно прокинуть адрес создателя модели + // You can forward the address of the model creator. rpc create_model(NewModel) returns (ModelID) {} // free @@ -19,7 +19,7 @@ service Model { // paid rpc validate_model(ValidateRequest) returns (StatusResponse) {} - // free, одна подпись для методов train_model_price & train_model + // free, one signature for train_model_price & train_model methods rpc train_model_price(ModelID) returns (PriceInBaseUnit) {} // paid @@ -46,14 +46,14 @@ message ModelResponse { // List of all the addresses that will have access to this model repeated string address_list = 8; - // доступ к модели даем только на использование и просмотр + // We provide access to the model only for use and viewing bool is_public = 9; string training_data_link = 10; } -// Используется как input на запросы: new_model -// Использовать ли эти поля - выбор за сервис провайдером, главное вернуть model_id +// Used as input for requests: new_model +// Whether to use these fields is up to the service provider, the main thing is to return the model_id message NewModel { string name = 1; string description = 2; @@ -66,19 +66,19 @@ message NewModel { // set this to true if you want your model to be used by other AI consumers bool is_public = 6; - // Эти параметры будет прокидывать демон + // These parameters will be passed by the daemon string organization_id = 7; string service_id = 8; string group_id = 9; } -// Эту структуру нужно использовать сервис провайдеру +// This structure needs to be used by the service provider. message ModelID { string model_id = 1; } -// Эту структуру нужно использовать сервис провайдеру -// Используется в методе train_model_price для получения цены трейнинга/валидации +// This structure needs to be used by the service provider. +// Used in the train_model_price method to get the training/validation price message PriceInBaseUnit { uint64 price = 1; // cogs, weis, afet, aasi etc } diff --git a/snet/sdk/resources/proto/training_v2_pb2_grpc.py b/snet/sdk/resources/proto/training_v2_pb2_grpc.py index f803081..cf2fba3 100644 --- a/snet/sdk/resources/proto/training_v2_pb2_grpc.py +++ b/snet/sdk/resources/proto/training_v2_pb2_grpc.py @@ -6,7 +6,7 @@ class ModelStub(object): - """Методы которые должен имплементировать сервис провайдер + """The methods below are implemented by service provider """ def __init__(self, channel): @@ -58,12 +58,12 @@ def __init__(self, channel): class ModelServicer(object): - """Методы которые должен имплементировать сервис провайдер + """The methods below are implemented by service provider """ def create_model(self, request, context): """free - можно прокинуть адрес создателя модели + You can forward the address of the model creator. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -91,7 +91,7 @@ def validate_model(self, request, context): raise NotImplementedError('Method not implemented!') def train_model_price(self, request, context): - """free, одна подпись для методов train_model_price & train_model + """free, one signature for train_model_price & train_model methods """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -170,7 +170,7 @@ def add_ModelServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class Model(object): - """Методы которые должен имплементировать сервис провайдер + """The methods below are implemented by service provider """ @staticmethod diff --git a/snet/sdk/service_client.py b/snet/sdk/service_client.py index cd90d54..df36c2b 100644 --- a/snet/sdk/service_client.py +++ b/snet/sdk/service_client.py @@ -241,7 +241,7 @@ def check_training(self) -> bool: @property def training(self) -> TrainingV2: - if self.__training is None: + if self.__training.is_enabled: raise Exception("The service does not support training.") return self.__training diff --git a/snet/sdk/training/training_v2.py b/snet/sdk/training/training_v2.py index 13a74c8..3060ddf 100644 --- a/snet/sdk/training/training_v2.py +++ b/snet/sdk/training/training_v2.py @@ -1,10 +1,5 @@ import enum -from http.client import responses -from os import PathLike from pathlib import PurePath, Path -from typing import NewType - -from jsonrpcclient import request from snet.sdk.service_client import ServiceClient @@ -41,9 +36,7 @@ class ModelStatus(enum.Enum): class TrainingV2: def __init__(self, service_client: ServiceClient): self.service_client = service_client - # TODO: store model_id and prices - - # TODO: implement whole process in one method + self.is_enabled = self._check_training() """FREE METHODS TO CALL""" @@ -54,10 +47,12 @@ def create_model(self, method_name: str, addresses_with_access: list[str]=None): if addresses_with_access is None: addresses_with_access = [] + + service_name, method_name = self._check_method_name(method_name) new_model = training.NewModel(name=model_name, description=model_description, grpc_method_name=method_name, - grpc_service_name="service", # TODO: get from service_client + grpc_service_name=service_name, is_public=is_public_accessible, address_list=addresses_with_access, organization_id=self.service_client.org_id, @@ -68,7 +63,6 @@ def create_model(self, method_name: str, model=new_model) response = self._call_method("create_model", request_data=create_model_request) - # TODO: process response return response def validate_model_price(self, model_id: int): @@ -80,7 +74,6 @@ def validate_model_price(self, model_id: int): ) response = self._call_method("validate_model_price", request_data=validate_model_price_request) - # TODO: process response return response def train_model_price(self, model_id: int): @@ -89,7 +82,6 @@ def train_model_price(self, model_id: int): model_id=model_id) response = self._call_method("train_model_price", request_data=common_request) - # TODO: process response return response def delete_model(self, model_id: int): @@ -98,12 +90,10 @@ def delete_model(self, model_id: int): model_id=model_id) response = self._call_method("delete_model", request_data=common_request) - # TODO: process response return response def get_training_metadata(self): response = self._call_method("get_training_metadata") - # TODO: process response return response def get_all_models(self, status: ModelStatus=None, @@ -122,7 +112,6 @@ def get_all_models(self, status: ModelStatus=None, ) response = self._call_method("get_all_models", request_data=all_models_request) - # TODO: process response return response def get_model(self, model_id: int): @@ -131,7 +120,6 @@ def get_model(self, model_id: int): model_id=model_id) response = self._call_method("get_model", request_data=common_request) - # TODO: process response return response def update_model(self, model_id: int, @@ -149,44 +137,40 @@ def update_model(self, model_id: int, ) response = self._call_method("update_model", request_data=update_model_request) - # TODO: process response return response def get_dataset_requirements(self, method_name: str): + service_name, method_name = self._check_method_name(method_name) requirements_request = training_daemon.DatasetRequirementsRequest( grpc_method_name=method_name, - grpc_service_name="service" # TODO: get from service_client + grpc_service_name=service_name ) response = self._call_method("get_dataset_requirements", request_data=requirements_request) - # TODO: process response return response """PAID METHODS TO CALL""" def upload_and_validate(self, model_id: int, zip_path: str | Path | PurePath): data = [] - with open(zip_path, 'rb') as f: # TODO: handle exceptions with file - data_part = f.read(256) - while data_part: - data.append(data_part) + f = open(zip_path, 'rb') # TODO: handle exceptions with file auth_details = self._get_auth_details(ModelMethodMessage.UploadAndValidate) - upload_and_validate_request = [] - for data_part in data: - upload_and_validate_request.append( - training_daemon.UploadAndValidateRequest( + def request_iter(file): + batch = file.read(256) + while batch: + yield training_daemon.UploadAndValidateRequest( authorization=auth_details, model_id=model_id, - data=data_part) - ) - upload_and_validate_request = iter(upload_and_validate_request) + data=batch + ) + batch = file.read(256) response = self._call_method("upload_and_validate", - request_data=upload_and_validate_request, + request_data=request_iter(f), paid=True) - # TODO: process response + f.close() return response def train_model(self, model_id: int): @@ -196,7 +180,6 @@ def train_model(self, model_id: int): response = self._call_method("train_model", request_data=common_request, paid=True) - # TODO: process response return response """PRIVATE METHODS""" @@ -212,8 +195,9 @@ def _call_method(self, method_name: str, response = getattr(stub, method_name)(request_data) return response except Exception as e: - print("Exception: ", e) - return e + # print("Exception: ", e) + # TODO: parse exception + raise e def _get_training_stub(self, paid=False): if paid: @@ -236,3 +220,15 @@ def _get_auth_details(self, method_msg: ModelMethodMessage): ) return auth_details + def _check_method_name(self, method_name: str) -> tuple[str, str]: + services_methods, _ = self.service_client.get_services_and_messages_info() + for service, methods in services_methods.items(): + for method in methods: + if method[0] == method_name: + return service, method[0] + raise Exception(f"Method {method_name} not found!") + + def _check_training(self) -> bool: + pass + + From 3f57f2fa7acf2de1ec56d95d71925cf403ec1deb Mon Sep 17 00:00:00 2001 From: Arondondon Date: Wed, 4 Dec 2024 19:47:22 +0300 Subject: [PATCH 06/25] Implemented correct payment, checking the availability of training and dataset validity. --- .../dynamic_price_payment_strategy.py | 15 +++ .../sdk/resources/proto/training_daemon.proto | 1 + snet/sdk/service_client.py | 9 +- snet/sdk/training/training_v2.py | 118 ++++++++++++++---- 4 files changed, 115 insertions(+), 28 deletions(-) create mode 100644 snet/sdk/payment_strategies/dynamic_price_payment_strategy.py diff --git a/snet/sdk/payment_strategies/dynamic_price_payment_strategy.py b/snet/sdk/payment_strategies/dynamic_price_payment_strategy.py new file mode 100644 index 0000000..d50115b --- /dev/null +++ b/snet/sdk/payment_strategies/dynamic_price_payment_strategy.py @@ -0,0 +1,15 @@ +from snet.sdk.payment_strategies.paidcall_payment_strategy import PaidCallPaymentStrategy + + +class DynamicPricePaymentStrategy(PaidCallPaymentStrategy): + def __init__(self): + super().__init__() + self._call_price = -1 + + def get_price(self, service_client=None): + if self._call_price == -1: + raise Exception("Training call price not set") + return self._call_price + + def set_price(self, call_price: int): + self._call_price = call_price diff --git a/snet/sdk/resources/proto/training_daemon.proto b/snet/sdk/resources/proto/training_daemon.proto index 5847e51..eb6e377 100644 --- a/snet/sdk/resources/proto/training_daemon.proto +++ b/snet/sdk/resources/proto/training_daemon.proto @@ -92,6 +92,7 @@ service Daemon { message DatasetRequirementsRequest{ string grpc_method_name = 1; string grpc_service_name = 2; + string model_id = 3; } message AllModelsRequest{ diff --git a/snet/sdk/service_client.py b/snet/sdk/service_client.py index df36c2b..7442cad 100644 --- a/snet/sdk/service_client.py +++ b/snet/sdk/service_client.py @@ -77,7 +77,7 @@ def __init__( self.payment_channel_state_service_client = self._generate_payment_channel_state_service_client() self.payment_channels = [] self.last_read_block: int = 0 - self.__training = TrainingV2(self) if self.check_training() else None + self.__training = TrainingV2(self) def call_rpc(self, rpc_name: str, message_class: str, **kwargs) -> Any: rpc_method = getattr(self.service, rpc_name) @@ -119,6 +119,9 @@ def _get_grpc_channel(self) -> grpc.Channel: else: raise ValueError('Unsupported scheme in service metadata ("{}")'.format(endpoint_object.scheme)) + def get_grpc_channel_for_training(self) -> grpc.Channel: + pass + def _get_service_call_metadata(self) -> list[tuple]: metadata: list = self.payment_strategy.get_payment_metadata(self) return metadata @@ -235,10 +238,6 @@ def get_service_details(self) -> tuple[str, str, str, str]: self.group["group_name"] )[0]) - def check_training(self) -> bool: - # TODO: add implementation - pass - @property def training(self) -> TrainingV2: if self.__training.is_enabled: diff --git a/snet/sdk/training/training_v2.py b/snet/sdk/training/training_v2.py index 3060ddf..a156a13 100644 --- a/snet/sdk/training/training_v2.py +++ b/snet/sdk/training/training_v2.py @@ -1,7 +1,13 @@ import enum from pathlib import PurePath, Path +import os +from zipfile import ZipFile -from snet.sdk.service_client import ServiceClient +import grpc + +from snet.sdk import generic_client_interceptor +from snet.sdk.payment_strategies.dynamic_price_payment_strategy import DynamicPricePaymentStrategy +from snet.sdk.service_client import ServiceClient, _ClientCallDetails from snet.sdk.resources.proto import training_daemon_pb2 as training_daemon from snet.sdk.resources.proto import training_daemon_pb2_grpc as training_daemon_grpc @@ -37,6 +43,7 @@ class TrainingV2: def __init__(self, service_client: ServiceClient): self.service_client = service_client self.is_enabled = self._check_training() + self.payment_strategy = DynamicPricePaymentStrategy() """FREE METHODS TO CALL""" @@ -65,7 +72,7 @@ def create_model(self, method_name: str, request_data=create_model_request) return response - def validate_model_price(self, model_id: int): + def validate_model_price(self, model_id: str): auth_details = self._get_auth_details(ModelMethodMessage.ValidateModelPrice) validate_model_price_request = training_daemon.ValidateRequest( authorization=auth_details, @@ -76,7 +83,7 @@ def validate_model_price(self, model_id: int): request_data=validate_model_price_request) return response - def train_model_price(self, model_id: int): + def train_model_price(self, model_id: str): auth_details = self._get_auth_details(ModelMethodMessage.TrainModelPrice) common_request = training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) @@ -84,7 +91,7 @@ def train_model_price(self, model_id: int): request_data=common_request) return response - def delete_model(self, model_id: int): + def delete_model(self, model_id: str): auth_details = self._get_auth_details(ModelMethodMessage.DeleteModel) common_request = training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) @@ -114,7 +121,7 @@ def get_all_models(self, status: ModelStatus=None, request_data=all_models_request) return response - def get_model(self, model_id: int): + def get_model(self, model_id: str): auth_details = self._get_auth_details(ModelMethodMessage.GetModel) common_request = training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) @@ -122,7 +129,7 @@ def get_model(self, model_id: int): request_data=common_request) return response - def update_model(self, model_id: int, + def update_model(self, model_id: str, model_name: str="", description: str="", addresses_with_access: list[str]=None): @@ -139,33 +146,43 @@ def update_model(self, model_id: int, request_data=update_model_request) return response - def get_dataset_requirements(self, method_name: str): - service_name, method_name = self._check_method_name(method_name) - requirements_request = training_daemon.DatasetRequirementsRequest( - grpc_method_name=method_name, - grpc_service_name=service_name - ) + def get_dataset_requirements(self, method_name: str, model_id: str=""): + + if model_id: + requirements_request = training_daemon.DatasetRequirementsRequest( + grpc_method_name="", + grpc_service_name="", + model_id=model_id + ) + else: + service_name, method_name = self._check_method_name(method_name) + requirements_request = training_daemon.DatasetRequirementsRequest( + grpc_method_name=method_name, + grpc_service_name=service_name, + model_id="" + ) response = self._call_method("get_dataset_requirements", request_data=requirements_request) return response """PAID METHODS TO CALL""" - def upload_and_validate(self, model_id: int, zip_path: str | Path | PurePath): - data = [] - f = open(zip_path, 'rb') # TODO: handle exceptions with file + def upload_and_validate(self, model_id: str, zip_path: str | Path | PurePath, price: int): + f = open(zip_path, 'rb') + + self._check_dataset(model_id, zip_path) auth_details = self._get_auth_details(ModelMethodMessage.UploadAndValidate) def request_iter(file): - batch = file.read(256) + batch = file.read(1024*1024) while batch: yield training_daemon.UploadAndValidateRequest( authorization=auth_details, model_id=model_id, data=batch ) - batch = file.read(256) + batch = file.read(1024*1024) response = self._call_method("upload_and_validate", request_data=request_iter(f), @@ -173,7 +190,7 @@ def request_iter(file): f.close() return response - def train_model(self, model_id: int): + def train_model(self, model_id: int, price: int): auth_details = self._get_auth_details(ModelMethodMessage.TrainModel) common_request = training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) @@ -200,10 +217,9 @@ def _call_method(self, method_name: str, raise e def _get_training_stub(self, paid=False): + grpc_channel = self.service_client.get_grpc_base_channel() if paid: - grpc_channel = self.service_client.grpc_channel - else: - grpc_channel = self.service_client.get_grpc_base_channel() + grpc_channel = self._get_grpc_channel(grpc_channel) return training_daemon_grpc.DaemonStub(grpc_channel) def _get_auth_details(self, method_msg: ModelMethodMessage): @@ -229,6 +245,62 @@ def _check_method_name(self, method_name: str) -> tuple[str, str]: raise Exception(f"Method {method_name} not found!") def _check_training(self) -> bool: - pass - + metadata_response = self.get_training_metadata() + if len(metadata_response.trainingMethods.keys()) == 0: + return False + n_methods = 0 + for service, methods in metadata_response.trainingMethods.items(): + n_methods += len(methods) + if n_methods == 0: + return False + else: + return True + + def _check_dataset(self, model_id: str, zip_path: str | Path | PurePath): + requirements_response = self.get_dataset_requirements("", model_id) + max_size_mb = requirements_response.max_size_mb + max_count_files = requirements_response.count_files + max_size_mb_single = requirements_response.max_size_mb_single + file_types = requirements_response.file_type + + failed_checks = [] + zip_file = ZipFile(zip_path) + + if os.path.getsize(zip_path) > max_size_mb * 1024 * 1024: + failed_checks.append(f"Too big dataset size: {os.path.getsize(zip_path)} > {max_size_mb} MB") + + files_list = zip_file.infolist() + if len(files_list) > max_count_files: + failed_checks.append(f"Too many files: {len(files_list)} > {max_count_files}") + + for file_info in files_list: + _, extension = os.path.splitext(file_info.filename) + if extension not in file_types: + failed_checks.append(f"Wrong file type: `{extension}` in file: `{file_info.filename}`. Allowed file types: {', '.join(file_types)}") + if file_info.file_size > max_size_mb_single * 1024 * 1024: + failed_checks.append(f"Too big file `{file_info.filename}` size: {file_info.file_size / 1024 / 1024} > {max_size_mb_single} MB") + + if len(failed_checks) > 0: + exception_msg = "Dataset check failed:\n" + for check in failed_checks: + exception_msg += f"\t{check}\n" + raise Exception(exception_msg) + + def _get_grpc_channel(self, base_channel: grpc.Channel) -> grpc.Channel: + grpc_channel = grpc.intercept_channel( + base_channel, + generic_client_interceptor.create(self._intercept_call) + ) + return grpc_channel + + def _intercept_call(self, client_call_details, request_iterator, request_streaming, + response_streaming): + metadata = [] + if client_call_details.metadata is not None: + metadata = list(client_call_details.metadata) + metadata.extend(self.payment_strategy.get_payment_metadata(self.service_client)) + client_call_details = _ClientCallDetails( + client_call_details.method, client_call_details.timeout, metadata, + client_call_details.credentials) + return client_call_details, request_iterator, None From 95fd64989da7c30b9f2232b84a3c77a279fa7996 Mon Sep 17 00:00:00 2001 From: Arondondon Date: Thu, 5 Dec 2024 13:09:15 +0300 Subject: [PATCH 07/25] Added specific exceptions and typing --- snet/sdk/training/exceptions.py | 19 +++++++++++ snet/sdk/training/training_v2.py | 57 ++++++++++++++++++-------------- 2 files changed, 51 insertions(+), 25 deletions(-) create mode 100644 snet/sdk/training/exceptions.py diff --git a/snet/sdk/training/exceptions.py b/snet/sdk/training/exceptions.py new file mode 100644 index 0000000..668e95e --- /dev/null +++ b/snet/sdk/training/exceptions.py @@ -0,0 +1,19 @@ + +class WrongDatasetException(Exception): + def __init__(self, errors: list[str]): + self.errors = errors + exception_msg = "Dataset check failed:\n" + for check in errors: + exception_msg += f"\t{check}\n" + super().__init__(exception_msg) + +class WrongMethodException(Exception): + def __init__(self, method_name: str): + super().__init__(f"Method with name {method_name} not found!") + + + + + + + diff --git a/snet/sdk/training/training_v2.py b/snet/sdk/training/training_v2.py index a156a13..fb92bcf 100644 --- a/snet/sdk/training/training_v2.py +++ b/snet/sdk/training/training_v2.py @@ -2,7 +2,7 @@ from pathlib import PurePath, Path import os from zipfile import ZipFile - +from typing import Any import grpc from snet.sdk import generic_client_interceptor @@ -12,6 +12,7 @@ from snet.sdk.resources.proto import training_daemon_pb2 as training_daemon from snet.sdk.resources.proto import training_daemon_pb2_grpc as training_daemon_grpc from snet.sdk.resources.proto import training_v2_pb2 as training +from snet.sdk.training.exceptions import WrongDatasetException, WrongMethodException class ModelMethodMessage(enum.Enum): @@ -51,7 +52,7 @@ def create_model(self, method_name: str, model_name: str, model_description: str="", is_public_accessible: bool=False, - addresses_with_access: list[str]=None): + addresses_with_access: list[str]=None) -> Any: if addresses_with_access is None: addresses_with_access = [] @@ -72,7 +73,7 @@ def create_model(self, method_name: str, request_data=create_model_request) return response - def validate_model_price(self, model_id: str): + def validate_model_price(self, model_id: str) -> Any: auth_details = self._get_auth_details(ModelMethodMessage.ValidateModelPrice) validate_model_price_request = training_daemon.ValidateRequest( authorization=auth_details, @@ -83,7 +84,7 @@ def validate_model_price(self, model_id: str): request_data=validate_model_price_request) return response - def train_model_price(self, model_id: str): + def train_model_price(self, model_id: str) -> Any: auth_details = self._get_auth_details(ModelMethodMessage.TrainModelPrice) common_request = training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) @@ -91,7 +92,7 @@ def train_model_price(self, model_id: str): request_data=common_request) return response - def delete_model(self, model_id: str): + def delete_model(self, model_id: str) -> Any: auth_details = self._get_auth_details(ModelMethodMessage.DeleteModel) common_request = training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) @@ -105,7 +106,7 @@ def get_training_metadata(self): def get_all_models(self, status: ModelStatus=None, is_public: bool=False, - model_name: str=""): + model_name: str="") -> Any: if status: status = getattr(training.Status, status.value) auth_details = self._get_auth_details(ModelMethodMessage.GetAllModels) @@ -121,7 +122,7 @@ def get_all_models(self, status: ModelStatus=None, request_data=all_models_request) return response - def get_model(self, model_id: str): + def get_model(self, model_id: str) -> Any: auth_details = self._get_auth_details(ModelMethodMessage.GetModel) common_request = training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) @@ -132,7 +133,7 @@ def get_model(self, model_id: str): def update_model(self, model_id: str, model_name: str="", description: str="", - addresses_with_access: list[str]=None): + addresses_with_access: list[str]=None) -> Any: if addresses_with_access is None: addresses_with_access = [] auth_details = self._get_auth_details(ModelMethodMessage.UpdateModel) @@ -146,7 +147,7 @@ def update_model(self, model_id: str, request_data=update_model_request) return response - def get_dataset_requirements(self, method_name: str, model_id: str=""): + def get_dataset_requirements(self, method_name: str, model_id: str="") -> Any: if model_id: requirements_request = training_daemon.DatasetRequirementsRequest( @@ -167,7 +168,8 @@ def get_dataset_requirements(self, method_name: str, model_id: str=""): """PAID METHODS TO CALL""" - def upload_and_validate(self, model_id: str, zip_path: str | Path | PurePath, price: int): + def upload_and_validate(self, model_id: str, + zip_path: str | Path | PurePath, price: int) -> Any: f = open(zip_path, 'rb') self._check_dataset(model_id, zip_path) @@ -184,16 +186,20 @@ def request_iter(file): ) batch = file.read(1024*1024) + self.payment_strategy.set_price(price) + response = self._call_method("upload_and_validate", request_data=request_iter(f), paid=True) f.close() return response - def train_model(self, model_id: int, price: int): + def train_model(self, model_id: str, price: int) -> Any: auth_details = self._get_auth_details(ModelMethodMessage.TrainModel) common_request = training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) + self.payment_strategy.set_price(price) + response = self._call_method("train_model", request_data=common_request, paid=True) @@ -203,26 +209,25 @@ def train_model(self, model_id: int, price: int): def _call_method(self, method_name: str, request_data=None, - paid=False): + paid=False) -> Any: try: stub = self._get_training_stub(paid=paid) - if request_data is None: + if not request_data: response = getattr(stub, method_name)() else: response = getattr(stub, method_name)(request_data) return response except Exception as e: - # print("Exception: ", e) # TODO: parse exception raise e - def _get_training_stub(self, paid=False): + def _get_training_stub(self, paid=False) -> Any: grpc_channel = self.service_client.get_grpc_base_channel() if paid: grpc_channel = self._get_grpc_channel(grpc_channel) return training_daemon_grpc.DaemonStub(grpc_channel) - def _get_auth_details(self, method_msg: ModelMethodMessage): + def _get_auth_details(self, method_msg: ModelMethodMessage) -> Any: current_block_number = self.service_client.get_current_block_number() address = self.service_client.account.address signature = self.service_client.generate_training_signature(method_msg.value, @@ -242,7 +247,7 @@ def _check_method_name(self, method_name: str) -> tuple[str, str]: for method in methods: if method[0] == method_name: return service, method[0] - raise Exception(f"Method {method_name} not found!") + raise WrongMethodException(method_name) def _check_training(self) -> bool: metadata_response = self.get_training_metadata() @@ -256,7 +261,7 @@ def _check_training(self) -> bool: else: return True - def _check_dataset(self, model_id: str, zip_path: str | Path | PurePath): + def _check_dataset(self, model_id: str, zip_path: str | Path | PurePath) -> None: requirements_response = self.get_dataset_requirements("", model_id) max_size_mb = requirements_response.max_size_mb max_count_files = requirements_response.count_files @@ -267,7 +272,8 @@ def _check_dataset(self, model_id: str, zip_path: str | Path | PurePath): zip_file = ZipFile(zip_path) if os.path.getsize(zip_path) > max_size_mb * 1024 * 1024: - failed_checks.append(f"Too big dataset size: {os.path.getsize(zip_path)} > {max_size_mb} MB") + failed_checks.append(f"Too big dataset size: " + f"{os.path.getsize(zip_path)} > {max_size_mb} MB") files_list = zip_file.infolist() if len(files_list) > max_count_files: @@ -276,15 +282,16 @@ def _check_dataset(self, model_id: str, zip_path: str | Path | PurePath): for file_info in files_list: _, extension = os.path.splitext(file_info.filename) if extension not in file_types: - failed_checks.append(f"Wrong file type: `{extension}` in file: `{file_info.filename}`. Allowed file types: {', '.join(file_types)}") + failed_checks.append(f"Wrong file type: `{extension}` in file: " + f"`{file_info.filename}`. Allowed file types: " + f"{', '.join(file_types)}") if file_info.file_size > max_size_mb_single * 1024 * 1024: - failed_checks.append(f"Too big file `{file_info.filename}` size: {file_info.file_size / 1024 / 1024} > {max_size_mb_single} MB") + failed_checks.append(f"Too big file `{file_info.filename}` size: " + f"{file_info.file_size / 1024 / 1024} > " + f"{max_size_mb_single} MB") if len(failed_checks) > 0: - exception_msg = "Dataset check failed:\n" - for check in failed_checks: - exception_msg += f"\t{check}\n" - raise Exception(exception_msg) + raise WrongDatasetException(failed_checks) def _get_grpc_channel(self, base_channel: grpc.Channel) -> grpc.Channel: grpc_channel = grpc.intercept_channel( From 888a26fd1d6d5e5f65cefa98934fe64826eaacbb Mon Sep 17 00:00:00 2001 From: kiruxaspb Date: Wed, 25 Dec 2024 13:26:15 +0300 Subject: [PATCH 08/25] Fixed package name for implement pep 625 --- setup.py | 4 ++-- version.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 9d2343e..2497a9e 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from version import __version__ -PACKAGE_NAME = 'snet.sdk' +PACKAGE_NAME = 'snet-sdk' this_directory = os.path.abspath(os.path.dirname(__file__)) @@ -19,7 +19,7 @@ setup( name=PACKAGE_NAME, version=__version__, - packages=find_namespace_packages(include=['snet.*']), + packages=find_namespace_packages(include=['snet*']), namespace_packages=['snet'], url='https://github.com/singnet/snet-sdk-python', author='SingularityNET Foundation', diff --git a/version.py b/version.py index b202327..4f82193 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -__version__ = "3.6.1" +__version__ = "3.6.2" From 1f1e9f0fd747a4482426aa45fee662a3d93c2ae0 Mon Sep 17 00:00:00 2001 From: kiruxaspb Date: Wed, 25 Dec 2024 17:37:37 +0300 Subject: [PATCH 09/25] Update contracts deps in requirements.txt --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 03f7b01..8d9840e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,6 +17,6 @@ argcomplete==3.1.2 grpcio-health-checking==1.59.0 jsonschema==4.0.0 eth-account==0.9.0 -snet.contracts==0.1.1 +snet-contracts==0.1.2 lighthouseweb3==0.1.4 zipp>=3.19.1 \ No newline at end of file From 7083ce08ceccaf9cfc3edd856fac68dfd950b0ef Mon Sep 17 00:00:00 2001 From: Arondondon Date: Thu, 26 Dec 2024 15:56:59 +0300 Subject: [PATCH 10/25] Code refactoring, changed .proto and pb files, moved some functions, fixed bugs. --- README.md | 6 + snet/sdk/__init__.py | 20 +-- snet/sdk/client_lib_generator.py | 32 +++-- snet/sdk/{typing.py => custom_typing.py} | 0 .../proto/training/training_v2.proto | 119 +++++++++++++++ .../sdk/resources/proto/training_daemon.proto | 88 ++++++------ .../resources/proto/training_daemon_pb2.py | 46 +++--- .../proto/training_daemon_pb2_grpc.py | 128 ++++++++--------- snet/sdk/resources/proto/training_v2.proto | 57 ++++---- snet/sdk/resources/proto/training_v2_pb2.py | 2 +- .../resources/proto/training_v2_pb2_grpc.py | 26 ++-- snet/sdk/service_client.py | 43 ++---- snet/sdk/training/exceptions.py | 5 + snet/sdk/training/training_v2.py | 136 ++++++++++-------- snet/sdk/utils/call_utils.py | 24 ++++ snet/sdk/utils/utils.py | 32 ++--- 16 files changed, 474 insertions(+), 290 deletions(-) rename snet/sdk/{typing.py => custom_typing.py} (100%) create mode 100644 snet/sdk/resources/proto/training/training_v2.proto create mode 100644 snet/sdk/utils/call_utils.py diff --git a/README.md b/README.md index 515ccf5..94fc1b9 100644 --- a/README.md +++ b/README.md @@ -265,6 +265,12 @@ print(messages) # {'Numbers': [('float', 'a'), ('float', 'b')], 'Result': [('float', 'value')]} ``` +## Training + +With the SDK, you can also train models and use them when calling the service. + + + --- ###### 1 This method uses a call to a paid smart contract function. diff --git a/snet/sdk/__init__.py b/snet/sdk/__init__.py index 1d82ed3..9418843 100644 --- a/snet/sdk/__init__.py +++ b/snet/sdk/__init__.py @@ -26,10 +26,10 @@ from snet.sdk.client_lib_generator import ClientLibGenerator from snet.sdk.mpe.mpe_contract import MPEContract from snet.sdk.mpe.payment_channel_provider import PaymentChannelProvider -from snet.sdk.payment_strategies import default_payment_strategy as strategy +from snet.sdk.payment_strategies.default_payment_strategy import DefaultPaymentStrategy as PaymentStrategy from snet.sdk.service_client import ServiceClient from snet.sdk.storage_provider.storage_provider import StorageProvider -from snet.sdk.typing import ModuleName, ServiceStub +from snet.sdk.custom_typing import ModuleName, ServiceStub from snet.sdk.utils.utils import (bytes32_to_str, find_file_by_keyword, type_converter) @@ -109,17 +109,18 @@ def create_service_client(self, if force_update: self.lib_generator.generate_client_library() else: - self.lib_generator.create_service_client_libraries_path() path_to_pb_files = self.lib_generator.protodir pb_2_file_name = find_file_by_keyword(path_to_pb_files, - keyword="pb2.py") + keyword="pb2.py", + exclude=["training"]) pb_2_grpc_file_name = find_file_by_keyword(path_to_pb_files, - keyword="pb2_grpc.py") + keyword="pb2_grpc.py", + exclude=["training"]) if not pb_2_file_name or not pb_2_grpc_file_name: self.lib_generator.generate_client_library() if payment_strategy is None: - payment_strategy = strategy.DefaultPaymentStrategy( + payment_strategy = PaymentStrategy( concurrent_calls=concurrent_calls ) @@ -148,7 +149,8 @@ def create_service_client(self, options, self.mpe_contract, self.account, self.web3, pb2_module, self.payment_channel_provider, - self.lib_generator.protodir) + self.lib_generator.protodir, + self.lib_generator.training_added()) return _service_client def get_service_stub(self) -> ServiceStub: @@ -167,7 +169,9 @@ def get_service_stub(self) -> ServiceStub: def get_module_by_keyword(self, keyword: str) -> ModuleName: path_to_pb_files = self.lib_generator.protodir - file_name = find_file_by_keyword(path_to_pb_files, keyword) + file_name = find_file_by_keyword(path_to_pb_files, + keyword, + exclude=["training"]) module_name = os.path.splitext(file_name)[0] return ModuleName(module_name) diff --git a/snet/sdk/client_lib_generator.py b/snet/sdk/client_lib_generator.py index 318fb51..031a0f9 100644 --- a/snet/sdk/client_lib_generator.py +++ b/snet/sdk/client_lib_generator.py @@ -1,3 +1,4 @@ +import os from pathlib import Path from snet.sdk.storage_provider.storage_provider import StorageProvider @@ -13,18 +14,19 @@ def __init__(self, metadata_provider: StorageProvider, org_id: str, self.language: str = "python" self.protodir: Path = (protodir if protodir else Path.home().joinpath(".snet")) + self.generate_directories_by_params() def generate_client_library(self) -> None: try: - self.generate_directories_by_params() self.receive_proto_files() - compile_proto(entry_path=self.protodir, - codegen_dir=self.protodir, - target_language=self.language) - - print(f'client libraries for service with id "{self.service_id}" ' - f'in org with id "{self.org_id}" ' - f'generated at {self.protodir}') + compilation_result = compile_proto(entry_path=self.protodir, + codegen_dir=self.protodir, + target_language=self.language, + add_training=self.training_added()) + if compilation_result: + print(f'client libraries for service with id "{self.service_id}" ' + f'in org with id "{self.org_id}" ' + f'generated at {self.protodir}') except Exception as e: print(str(e)) @@ -55,3 +57,17 @@ def receive_proto_files(self) -> None: ) else: raise Exception("Directory for storing proto files not found") + + # def check_training_proto_and_copy(self): + # source_path = RESOURCES_PATH.joinpath("proto", "training_v2.proto") + # target_path = self.protodir.joinpath("training_v2.proto") + # if not target_path.exists(): + # shutil.copy2(source_path, target_path) + + def training_added(self) -> bool: + files = os.listdir(self.protodir) + with open(self.protodir.joinpath(files[0]), "r") as f: + proto_text = f.read() + if 'import "training_v2.proto";' in proto_text: + return True + return False diff --git a/snet/sdk/typing.py b/snet/sdk/custom_typing.py similarity index 100% rename from snet/sdk/typing.py rename to snet/sdk/custom_typing.py diff --git a/snet/sdk/resources/proto/training/training_v2.proto b/snet/sdk/resources/proto/training/training_v2.proto new file mode 100644 index 0000000..f6e778f --- /dev/null +++ b/snet/sdk/resources/proto/training/training_v2.proto @@ -0,0 +1,119 @@ +syntax = "proto3"; +import "google/protobuf/descriptor.proto"; // Required for indicators to work +package trainingV2; +option go_package = "../training"; + +// Methods that the service provider must implement +service Model { + + // Free + // Can pass the address of the model creator + rpc create_model(NewModel) returns (ModelID) {} + + // Free + rpc validate_model_price(ValidateRequest) returns (PriceInBaseUnit) {} + + // Paid + rpc upload_and_validate(stream DataToUpload) returns (StatusResponse) {} + + // Paid + rpc validate_model(ValidateRequest) returns (StatusResponse) {} + + // Free, one signature for both train_model_price & train_model methods + rpc train_model_price(ModelID) returns (PriceInBaseUnit) {} + + // Paid + rpc train_model(ModelID) returns (StatusResponse) {} + + // Free + rpc delete_model(ModelID) returns (StatusResponse) { + // After model deletion, the status becomes DELETED in etcd + } + + // Free + rpc get_model_status(ModelID) returns (StatusResponse) {} +} + +message ModelResponse { + string model_id = 1; + Status status = 2; + string updated_date = 3; + string name = 4; + string description = 5; + string grpc_method_name = 6; + string grpc_service_name = 7; + + // List of all addresses that will have access to this model + repeated string address_list = 8; + + // Access to the model is granted only for use and viewing + bool is_public = 9; + + string training_data_link = 10; +} + +// Used as input for new_model requests +// The service provider decides whether to use these fields; returning model_id is mandatory +message NewModel { + string name = 1; + string description = 2; + string grpc_method_name = 3; + string grpc_service_name = 4; + + // List of all addresses that will have access to this model + repeated string address_list = 5; + + // Set this to true if you want your model to be accessible by other AI consumers + bool is_public = 6; + + // These parameters will be passed by the daemon + string organization_id = 7; + string service_id = 8; + string group_id = 9; +} + +// This structure must be used by the service provider +message ModelID { + string model_id = 1; +} + +// This structure must be used by the service provider +// Used in the train_model_price method to get the training/validation price +message PriceInBaseUnit { + uint64 price = 1; // cogs, weis, afet, aasi, etc. +} + +enum Status { + CREATED = 0; + VALIDATING = 1; + VALIDATED = 2; + TRAINING = 3; + READY_TO_USE = 4; // After training is completed + ERRORED = 5; + DELETED = 6; +} + +message StatusResponse { + Status status = 1; +} + +message DataToUpload { + string model_id = 2; + bytes data = 3; +} + +message ValidateRequest { + string model_id = 2; + string training_data_link = 3; +} + +extend google.protobuf.MethodOptions { + string default_model_id = 50001; + uint64 max_models_per_user = 50002; // max models per method & user + uint64 dataset_max_size_mb = 50003; // max size of dataset + uint64 dataset_max_count_files = 50004; // maximum number of files in the dataset + uint64 dataset_max_size_single_file_mb = 50005; // maximum size of a single file in the dataset + string dataset_files_type = 50006; // allowed files types in dataset. string with array or single value, example: jpg, png, mp3 + string dataset_type = 50007; // string with array or single value, example: zip, tar.gz, tar + string dataset_description = 50008; // additional free-form requirements +} diff --git a/snet/sdk/resources/proto/training_daemon.proto b/snet/sdk/resources/proto/training_daemon.proto index eb6e377..f24e832 100644 --- a/snet/sdk/resources/proto/training_daemon.proto +++ b/snet/sdk/resources/proto/training_daemon.proto @@ -1,17 +1,16 @@ syntax = "proto3"; package training_daemon; -import "google/protobuf/descriptor.proto"; // need for indicators -import "google/protobuf/struct.proto"; // need for google.protobuf.ListValue +import "google/protobuf/descriptor.proto"; // Required for indicators to work +import "google/protobuf/struct.proto"; // Required for google.protobuf.ListValue import "training_v2.proto"; option go_package = "../training"; import "google/protobuf/empty.proto"; - message AuthorizationDetails { - uint64 current_block = 1; // проверять актуальность на +-N блоков - // Signer can fill in any message here + uint64 current_block = 1; // Check for relevance within a range of +/- N blocks + // Signer can specify any message here string message = 2; - // signature of the following message: + // Signature of the following message: // ("user specified message", user_address, current_block_number) bytes signature = 3; string signer_address = 4; @@ -22,7 +21,7 @@ message NewModelRequest { trainingV2.NewModel model = 2; } -message ValidateRequest { +message AuthValidateRequest { AuthorizationDetails authorization = 1; string model_id = 2; string training_data_link = 3; @@ -32,6 +31,11 @@ message UploadAndValidateRequest { AuthorizationDetails authorization = 1; string model_id = 2; bytes data = 3; + string file_name = 4; + uint64 file_size = 5; + uint64 batch_size = 6; + uint64 batch_number = 7; + uint64 batch_count = 8; } message CommonRequest { @@ -51,71 +55,75 @@ message ModelsResponse { repeated trainingV2.ModelResponse list_of_models = 1; } -// These methods are implemented only by daemon, service provider should ignore them +// These methods are implemented only by the daemon; the service provider should ignore them service Daemon { - // free + // Free rpc create_model(NewModelRequest) returns (trainingV2.ModelResponse) {} - // free - rpc validate_model_price(ValidateRequest) returns (trainingV2.PriceInBaseUnit) {} + // Free + rpc validate_model_price(AuthValidateRequest) returns (trainingV2.PriceInBaseUnit) {} - // paid + // Paid rpc upload_and_validate(stream UploadAndValidateRequest) returns (trainingV2.StatusResponse) {} - // paid - rpc validate_model(ValidateRequest) returns (trainingV2.StatusResponse) {} + // Paid + rpc validate_model(AuthValidateRequest) returns (trainingV2.StatusResponse) {} - // free, one signature for train_model_price & train_model methods + // Free, one signature for both train_model_price & train_model methods rpc train_model_price(CommonRequest) returns (trainingV2.PriceInBaseUnit) {} - // paid + // Paid rpc train_model(CommonRequest) returns (trainingV2.StatusResponse) {} - // free - // After deleting model the status will be DELETED in ETCD + // Free + // After deleting the model, the status becomes DELETED in etcd rpc delete_model(CommonRequest) returns (trainingV2.StatusResponse) {} - // unique methods by daemon - // one signature for all getters - rpc get_training_metadata(google.protobuf.Empty) returns (TrainingMetadata) {} - rpc get_all_models(AllModelsRequest) returns (ModelsResponse) {} rpc get_model(CommonRequest) returns (trainingV2.ModelResponse) {} rpc update_model(UpdateModelRequest) returns (trainingV2.ModelResponse) {} - // free & without auth - rpc get_dataset_requirements(DatasetRequirementsRequest) returns (DatasetRequirements) {} + // Unique methods by daemon + // One signature for all getters + rpc get_training_metadata(google.protobuf.Empty) returns (TrainingMetadata) {} + + // Free & without authorization + rpc get_method_metadata(MethodMetadataRequest) returns (MethodMetadata) {} } -message DatasetRequirementsRequest{ - string grpc_method_name = 1; - string grpc_service_name = 2; - string model_id = 3; +message MethodMetadataRequest { + string model_id = 1; + // Model ID or gRPC method name + string grpc_method_name = 2; + string grpc_service_name = 3; } -message AllModelsRequest{ +message AllModelsRequest { AuthorizationDetails authorization = 1; - // filters + // Filters trainingV2.Status status = 2; bool is_public = 3; - string name = 4; // поиск по названию - uint64 page_size = 5; // пагинация + string name = 4; // Search by name + uint64 page_size = 5; // Pagination uint64 page = 6; } message TrainingMetadata { bool trainingEnabled = 1; bool trainingInProto = 2; - // key - grpc_service_name, value - массив grpc_method_name + // Key: grpc_service_name, Value: array of grpc_method_name map trainingMethods = 3; } -message DatasetRequirements { - uint64 max_size_mb = 1; - uint64 count_files = 2; // максимальное кол-во файлов в датасете - uint64 max_size_mb_single = 3; // максимальный размер одного файла в датасете - repeated string file_type = 4; // массив, пример: [jpg, png, mp3] - string description = 5; // any text -} \ No newline at end of file +message MethodMetadata { + string default_model_id = 50001; + uint64 max_models_per_user = 50002; // max models per method & user + uint64 dataset_max_size_mb = 50003; // max size of dataset + uint64 dataset_max_count_files = 50004; // maximum number of files in the dataset + uint64 dataset_max_size_single_file_mb = 50005; // maximum size of a single file in the dataset + string dataset_files_type = 50006; // allowed files types in dataset. string with array or single value, example: jpg, png, mp3 + string dataset_type = 50007; // string with array or single value, example: zip, tar.gz, tar + string dataset_description = 50008; // additional free-form requirements +} diff --git a/snet/sdk/resources/proto/training_daemon_pb2.py b/snet/sdk/resources/proto/training_daemon_pb2.py index b1e88af..0a3e8ef 100644 --- a/snet/sdk/resources/proto/training_daemon_pb2.py +++ b/snet/sdk/resources/proto/training_daemon_pb2.py @@ -17,7 +17,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15training_daemon.proto\x12\x0ftraining_daemon\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x11training_v2.proto\x1a\x1bgoogle/protobuf/empty.proto\"i\n\x14\x41uthorizationDetails\x12\x15\n\rcurrent_block\x18\x01 \x01(\x04\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x16\n\x0esigner_address\x18\x04 \x01(\t\"t\n\x0fNewModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12#\n\x05model\x18\x02 \x01(\x0b\x32\x14.trainingV2.NewModel\"}\n\x0fValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t\"x\n\x18UploadAndValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"_\n\rCommonRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\"\xa3\x01\n\x12UpdateModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x12\n\nmodel_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\"C\n\x0eModelsResponse\x12\x31\n\x0elist_of_models\x18\x01 \x03(\x0b\x32\x19.trainingV2.ModelResponse\"Q\n\x1a\x44\x61tasetRequirementsRequest\x12\x18\n\x10grpc_method_name\x18\x01 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x02 \x01(\t\"\xb6\x01\n\x10\x41llModelsRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x11\n\tis_public\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x11\n\tpage_size\x18\x05 \x01(\x04\x12\x0c\n\x04page\x18\x06 \x01(\x04\"\xe9\x01\n\x10TrainingMetadata\x12\x17\n\x0ftrainingEnabled\x18\x01 \x01(\x08\x12\x17\n\x0ftrainingInProto\x18\x02 \x01(\x08\x12O\n\x0ftrainingMethods\x18\x03 \x03(\x0b\x32\x36.training_daemon.TrainingMetadata.TrainingMethodsEntry\x1aR\n\x14TrainingMethodsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValue:\x02\x38\x01\"\x83\x01\n\x13\x44\x61tasetRequirements\x12\x13\n\x0bmax_size_mb\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ount_files\x18\x02 \x01(\x04\x12\x1a\n\x12max_size_mb_single\x18\x03 \x01(\x04\x12\x11\n\tfile_type\x18\x04 \x03(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t2\x8e\x08\n\x06\x44\x61\x65mon\x12M\n\x0c\x63reate_model\x12 .training_daemon.NewModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12W\n\x14validate_model_price\x12 .training_daemon.ValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12`\n\x13upload_and_validate\x12).training_daemon.UploadAndValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12P\n\x0evalidate_model\x12 .training_daemon.ValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12R\n\x11train_model_price\x12\x1e.training_daemon.CommonRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12K\n\x0btrain_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12L\n\x0c\x64\x65lete_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12T\n\x15get_training_metadata\x12\x16.google.protobuf.Empty\x1a!.training_daemon.TrainingMetadata\"\x00\x12V\n\x0eget_all_models\x12!.training_daemon.AllModelsRequest\x1a\x1f.training_daemon.ModelsResponse\"\x00\x12H\n\tget_model\x12\x1e.training_daemon.CommonRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12P\n\x0cupdate_model\x12#.training_daemon.UpdateModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12o\n\x18get_dataset_requirements\x12+.training_daemon.DatasetRequirementsRequest\x1a$.training_daemon.DatasetRequirements\"\x00\x42\rZ\x0b../trainingb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15training_daemon.proto\x12\x0ftraining_daemon\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x11training_v2.proto\x1a\x1bgoogle/protobuf/empty.proto\"i\n\x14\x41uthorizationDetails\x12\x15\n\rcurrent_block\x18\x01 \x01(\x04\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x16\n\x0esigner_address\x18\x04 \x01(\t\"t\n\x0fNewModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12#\n\x05model\x18\x02 \x01(\x0b\x32\x14.trainingV2.NewModel\"\x81\x01\n\x13\x41uthValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t\"\xdd\x01\n\x18UploadAndValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x11\n\tfile_name\x18\x04 \x01(\t\x12\x11\n\tfile_size\x18\x05 \x01(\x04\x12\x12\n\nbatch_size\x18\x06 \x01(\x04\x12\x14\n\x0c\x62\x61tch_number\x18\x07 \x01(\x04\x12\x13\n\x0b\x62\x61tch_count\x18\x08 \x01(\x04\"_\n\rCommonRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\"\xa3\x01\n\x12UpdateModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x12\n\nmodel_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\"C\n\x0eModelsResponse\x12\x31\n\x0elist_of_models\x18\x01 \x03(\x0b\x32\x19.trainingV2.ModelResponse\"^\n\x15MethodMetadataRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x02 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x03 \x01(\t\"\xb6\x01\n\x10\x41llModelsRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x11\n\tis_public\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x11\n\tpage_size\x18\x05 \x01(\x04\x12\x0c\n\x04page\x18\x06 \x01(\x04\"\xe9\x01\n\x10TrainingMetadata\x12\x17\n\x0ftrainingEnabled\x18\x01 \x01(\x08\x12\x17\n\x0ftrainingInProto\x18\x02 \x01(\x08\x12O\n\x0ftrainingMethods\x18\x03 \x03(\x0b\x32\x36.training_daemon.TrainingMetadata.TrainingMethodsEntry\x1aR\n\x14TrainingMethodsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValue:\x02\x38\x01\"\x8d\x02\n\x0eMethodMetadata\x12\x1a\n\x10\x64\x65\x66\x61ult_model_id\x18\xd1\x86\x03 \x01(\t\x12\x1d\n\x13max_models_per_user\x18\xd2\x86\x03 \x01(\x04\x12\x1d\n\x13\x64\x61taset_max_size_mb\x18\xd3\x86\x03 \x01(\x04\x12!\n\x17\x64\x61taset_max_count_files\x18\xd4\x86\x03 \x01(\x04\x12)\n\x1f\x64\x61taset_max_size_single_file_mb\x18\xd5\x86\x03 \x01(\x04\x12\x1c\n\x12\x64\x61taset_files_type\x18\xd6\x86\x03 \x01(\t\x12\x16\n\x0c\x64\x61taset_type\x18\xd7\x86\x03 \x01(\t\x12\x1d\n\x13\x64\x61taset_description\x18\xd8\x86\x03 \x01(\t2\x87\x08\n\x06\x44\x61\x65mon\x12M\n\x0c\x63reate_model\x12 .training_daemon.NewModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12[\n\x14validate_model_price\x12$.training_daemon.AuthValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12`\n\x13upload_and_validate\x12).training_daemon.UploadAndValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12T\n\x0evalidate_model\x12$.training_daemon.AuthValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12R\n\x11train_model_price\x12\x1e.training_daemon.CommonRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12K\n\x0btrain_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12L\n\x0c\x64\x65lete_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12V\n\x0eget_all_models\x12!.training_daemon.AllModelsRequest\x1a\x1f.training_daemon.ModelsResponse\"\x00\x12H\n\tget_model\x12\x1e.training_daemon.CommonRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12P\n\x0cupdate_model\x12#.training_daemon.UpdateModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12T\n\x15get_training_metadata\x12\x16.google.protobuf.Empty\x1a!.training_daemon.TrainingMetadata\"\x00\x12`\n\x13get_method_metadata\x12&.training_daemon.MethodMetadataRequest\x1a\x1f.training_daemon.MethodMetadata\"\x00\x42\rZ\x0b../trainingb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -31,26 +31,26 @@ _globals['_AUTHORIZATIONDETAILS']._serialized_end=259 _globals['_NEWMODELREQUEST']._serialized_start=261 _globals['_NEWMODELREQUEST']._serialized_end=377 - _globals['_VALIDATEREQUEST']._serialized_start=379 - _globals['_VALIDATEREQUEST']._serialized_end=504 - _globals['_UPLOADANDVALIDATEREQUEST']._serialized_start=506 - _globals['_UPLOADANDVALIDATEREQUEST']._serialized_end=626 - _globals['_COMMONREQUEST']._serialized_start=628 - _globals['_COMMONREQUEST']._serialized_end=723 - _globals['_UPDATEMODELREQUEST']._serialized_start=726 - _globals['_UPDATEMODELREQUEST']._serialized_end=889 - _globals['_MODELSRESPONSE']._serialized_start=891 - _globals['_MODELSRESPONSE']._serialized_end=958 - _globals['_DATASETREQUIREMENTSREQUEST']._serialized_start=960 - _globals['_DATASETREQUIREMENTSREQUEST']._serialized_end=1041 - _globals['_ALLMODELSREQUEST']._serialized_start=1044 - _globals['_ALLMODELSREQUEST']._serialized_end=1226 - _globals['_TRAININGMETADATA']._serialized_start=1229 - _globals['_TRAININGMETADATA']._serialized_end=1462 - _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_start=1380 - _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_end=1462 - _globals['_DATASETREQUIREMENTS']._serialized_start=1465 - _globals['_DATASETREQUIREMENTS']._serialized_end=1596 - _globals['_DAEMON']._serialized_start=1599 - _globals['_DAEMON']._serialized_end=2637 + _globals['_AUTHVALIDATEREQUEST']._serialized_start=380 + _globals['_AUTHVALIDATEREQUEST']._serialized_end=509 + _globals['_UPLOADANDVALIDATEREQUEST']._serialized_start=512 + _globals['_UPLOADANDVALIDATEREQUEST']._serialized_end=733 + _globals['_COMMONREQUEST']._serialized_start=735 + _globals['_COMMONREQUEST']._serialized_end=830 + _globals['_UPDATEMODELREQUEST']._serialized_start=833 + _globals['_UPDATEMODELREQUEST']._serialized_end=996 + _globals['_MODELSRESPONSE']._serialized_start=998 + _globals['_MODELSRESPONSE']._serialized_end=1065 + _globals['_METHODMETADATAREQUEST']._serialized_start=1067 + _globals['_METHODMETADATAREQUEST']._serialized_end=1161 + _globals['_ALLMODELSREQUEST']._serialized_start=1164 + _globals['_ALLMODELSREQUEST']._serialized_end=1346 + _globals['_TRAININGMETADATA']._serialized_start=1349 + _globals['_TRAININGMETADATA']._serialized_end=1582 + _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_start=1500 + _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_end=1582 + _globals['_METHODMETADATA']._serialized_start=1585 + _globals['_METHODMETADATA']._serialized_end=1854 + _globals['_DAEMON']._serialized_start=1857 + _globals['_DAEMON']._serialized_end=2888 # @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/training_daemon_pb2_grpc.py b/snet/sdk/resources/proto/training_daemon_pb2_grpc.py index 57e54e5..48c65f8 100644 --- a/snet/sdk/resources/proto/training_daemon_pb2_grpc.py +++ b/snet/sdk/resources/proto/training_daemon_pb2_grpc.py @@ -8,7 +8,7 @@ class DaemonStub(object): - """These methods are implemented only by daemon, service provider should ignore them + """These methods are implemented only by the daemon; the service provider should ignore them """ def __init__(self, channel): @@ -24,7 +24,7 @@ def __init__(self, channel): ) self.validate_model_price = channel.unary_unary( '/training_daemon.Daemon/validate_model_price', - request_serializer=training__daemon__pb2.ValidateRequest.SerializeToString, + request_serializer=training__daemon__pb2.AuthValidateRequest.SerializeToString, response_deserializer=training__v2__pb2.PriceInBaseUnit.FromString, ) self.upload_and_validate = channel.stream_unary( @@ -34,7 +34,7 @@ def __init__(self, channel): ) self.validate_model = channel.unary_unary( '/training_daemon.Daemon/validate_model', - request_serializer=training__daemon__pb2.ValidateRequest.SerializeToString, + request_serializer=training__daemon__pb2.AuthValidateRequest.SerializeToString, response_deserializer=training__v2__pb2.StatusResponse.FromString, ) self.train_model_price = channel.unary_unary( @@ -52,11 +52,6 @@ def __init__(self, channel): request_serializer=training__daemon__pb2.CommonRequest.SerializeToString, response_deserializer=training__v2__pb2.StatusResponse.FromString, ) - self.get_training_metadata = channel.unary_unary( - '/training_daemon.Daemon/get_training_metadata', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=training__daemon__pb2.TrainingMetadata.FromString, - ) self.get_all_models = channel.unary_unary( '/training_daemon.Daemon/get_all_models', request_serializer=training__daemon__pb2.AllModelsRequest.SerializeToString, @@ -72,70 +67,67 @@ def __init__(self, channel): request_serializer=training__daemon__pb2.UpdateModelRequest.SerializeToString, response_deserializer=training__v2__pb2.ModelResponse.FromString, ) - self.get_dataset_requirements = channel.unary_unary( - '/training_daemon.Daemon/get_dataset_requirements', - request_serializer=training__daemon__pb2.DatasetRequirementsRequest.SerializeToString, - response_deserializer=training__daemon__pb2.DatasetRequirements.FromString, + self.get_training_metadata = channel.unary_unary( + '/training_daemon.Daemon/get_training_metadata', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=training__daemon__pb2.TrainingMetadata.FromString, + ) + self.get_method_metadata = channel.unary_unary( + '/training_daemon.Daemon/get_method_metadata', + request_serializer=training__daemon__pb2.MethodMetadataRequest.SerializeToString, + response_deserializer=training__daemon__pb2.MethodMetadata.FromString, ) class DaemonServicer(object): - """These methods are implemented only by daemon, service provider should ignore them + """These methods are implemented only by the daemon; the service provider should ignore them """ def create_model(self, request, context): - """free + """Free """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def validate_model_price(self, request, context): - """free + """Free """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def upload_and_validate(self, request_iterator, context): - """paid + """Paid """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def validate_model(self, request, context): - """paid + """Paid """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def train_model_price(self, request, context): - """free, one signature for train_model_price & train_model methods + """Free, one signature for both train_model_price & train_model methods """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def train_model(self, request, context): - """paid + """Paid """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def delete_model(self, request, context): - """free - After deleting model the status will be DELETED in ETCD - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def get_training_metadata(self, request, context): - """unique methods by daemon - one signature for all getters + """Free + After deleting the model, the status becomes DELETED in etcd """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -159,8 +151,16 @@ def update_model(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def get_dataset_requirements(self, request, context): - """free & without auth + def get_training_metadata(self, request, context): + """Unique methods by daemon + One signature for all getters + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get_method_metadata(self, request, context): + """Free & without authorization """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -176,7 +176,7 @@ def add_DaemonServicer_to_server(servicer, server): ), 'validate_model_price': grpc.unary_unary_rpc_method_handler( servicer.validate_model_price, - request_deserializer=training__daemon__pb2.ValidateRequest.FromString, + request_deserializer=training__daemon__pb2.AuthValidateRequest.FromString, response_serializer=training__v2__pb2.PriceInBaseUnit.SerializeToString, ), 'upload_and_validate': grpc.stream_unary_rpc_method_handler( @@ -186,7 +186,7 @@ def add_DaemonServicer_to_server(servicer, server): ), 'validate_model': grpc.unary_unary_rpc_method_handler( servicer.validate_model, - request_deserializer=training__daemon__pb2.ValidateRequest.FromString, + request_deserializer=training__daemon__pb2.AuthValidateRequest.FromString, response_serializer=training__v2__pb2.StatusResponse.SerializeToString, ), 'train_model_price': grpc.unary_unary_rpc_method_handler( @@ -204,11 +204,6 @@ def add_DaemonServicer_to_server(servicer, server): request_deserializer=training__daemon__pb2.CommonRequest.FromString, response_serializer=training__v2__pb2.StatusResponse.SerializeToString, ), - 'get_training_metadata': grpc.unary_unary_rpc_method_handler( - servicer.get_training_metadata, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=training__daemon__pb2.TrainingMetadata.SerializeToString, - ), 'get_all_models': grpc.unary_unary_rpc_method_handler( servicer.get_all_models, request_deserializer=training__daemon__pb2.AllModelsRequest.FromString, @@ -224,10 +219,15 @@ def add_DaemonServicer_to_server(servicer, server): request_deserializer=training__daemon__pb2.UpdateModelRequest.FromString, response_serializer=training__v2__pb2.ModelResponse.SerializeToString, ), - 'get_dataset_requirements': grpc.unary_unary_rpc_method_handler( - servicer.get_dataset_requirements, - request_deserializer=training__daemon__pb2.DatasetRequirementsRequest.FromString, - response_serializer=training__daemon__pb2.DatasetRequirements.SerializeToString, + 'get_training_metadata': grpc.unary_unary_rpc_method_handler( + servicer.get_training_metadata, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=training__daemon__pb2.TrainingMetadata.SerializeToString, + ), + 'get_method_metadata': grpc.unary_unary_rpc_method_handler( + servicer.get_method_metadata, + request_deserializer=training__daemon__pb2.MethodMetadataRequest.FromString, + response_serializer=training__daemon__pb2.MethodMetadata.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -237,7 +237,7 @@ def add_DaemonServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class Daemon(object): - """These methods are implemented only by daemon, service provider should ignore them + """These methods are implemented only by the daemon; the service provider should ignore them """ @staticmethod @@ -269,7 +269,7 @@ def validate_model_price(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/validate_model_price', - training__daemon__pb2.ValidateRequest.SerializeToString, + training__daemon__pb2.AuthValidateRequest.SerializeToString, training__v2__pb2.PriceInBaseUnit.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -303,7 +303,7 @@ def validate_model(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/validate_model', - training__daemon__pb2.ValidateRequest.SerializeToString, + training__daemon__pb2.AuthValidateRequest.SerializeToString, training__v2__pb2.StatusResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -360,7 +360,7 @@ def delete_model(request, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def get_training_metadata(request, + def get_all_models(request, target, options=(), channel_credentials=None, @@ -370,14 +370,14 @@ def get_training_metadata(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_training_metadata', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - training__daemon__pb2.TrainingMetadata.FromString, + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_all_models', + training__daemon__pb2.AllModelsRequest.SerializeToString, + training__daemon__pb2.ModelsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def get_all_models(request, + def get_model(request, target, options=(), channel_credentials=None, @@ -387,14 +387,14 @@ def get_all_models(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_all_models', - training__daemon__pb2.AllModelsRequest.SerializeToString, - training__daemon__pb2.ModelsResponse.FromString, + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_model', + training__daemon__pb2.CommonRequest.SerializeToString, + training__v2__pb2.ModelResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def get_model(request, + def update_model(request, target, options=(), channel_credentials=None, @@ -404,14 +404,14 @@ def get_model(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_model', - training__daemon__pb2.CommonRequest.SerializeToString, + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/update_model', + training__daemon__pb2.UpdateModelRequest.SerializeToString, training__v2__pb2.ModelResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def update_model(request, + def get_training_metadata(request, target, options=(), channel_credentials=None, @@ -421,14 +421,14 @@ def update_model(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/update_model', - training__daemon__pb2.UpdateModelRequest.SerializeToString, - training__v2__pb2.ModelResponse.FromString, + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_training_metadata', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + training__daemon__pb2.TrainingMetadata.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def get_dataset_requirements(request, + def get_method_metadata(request, target, options=(), channel_credentials=None, @@ -438,8 +438,8 @@ def get_dataset_requirements(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_dataset_requirements', - training__daemon__pb2.DatasetRequirementsRequest.SerializeToString, - training__daemon__pb2.DatasetRequirements.FromString, + return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_method_metadata', + training__daemon__pb2.MethodMetadataRequest.SerializeToString, + training__daemon__pb2.MethodMetadata.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/snet/sdk/resources/proto/training_v2.proto b/snet/sdk/resources/proto/training_v2.proto index 9c2dbcb..f6e778f 100644 --- a/snet/sdk/resources/proto/training_v2.proto +++ b/snet/sdk/resources/proto/training_v2.proto @@ -1,36 +1,36 @@ syntax = "proto3"; -import "google/protobuf/descriptor.proto"; // need for indicators +import "google/protobuf/descriptor.proto"; // Required for indicators to work package trainingV2; option go_package = "../training"; -// The methods below are implemented by service provider +// Methods that the service provider must implement service Model { - // free - // You can forward the address of the model creator. + // Free + // Can pass the address of the model creator rpc create_model(NewModel) returns (ModelID) {} - // free + // Free rpc validate_model_price(ValidateRequest) returns (PriceInBaseUnit) {} - // paid + // Paid rpc upload_and_validate(stream DataToUpload) returns (StatusResponse) {} - // paid + // Paid rpc validate_model(ValidateRequest) returns (StatusResponse) {} - // free, one signature for train_model_price & train_model methods + // Free, one signature for both train_model_price & train_model methods rpc train_model_price(ModelID) returns (PriceInBaseUnit) {} - // paid + // Paid rpc train_model(ModelID) returns (StatusResponse) {} - // free + // Free rpc delete_model(ModelID) returns (StatusResponse) { - // После удаления модели status становится DELETED в etcd + // After model deletion, the status becomes DELETED in etcd } - // free + // Free rpc get_model_status(ModelID) returns (StatusResponse) {} } @@ -43,27 +43,27 @@ message ModelResponse { string grpc_method_name = 6; string grpc_service_name = 7; - // List of all the addresses that will have access to this model + // List of all addresses that will have access to this model repeated string address_list = 8; - // We provide access to the model only for use and viewing + // Access to the model is granted only for use and viewing bool is_public = 9; string training_data_link = 10; } -// Used as input for requests: new_model -// Whether to use these fields is up to the service provider, the main thing is to return the model_id +// Used as input for new_model requests +// The service provider decides whether to use these fields; returning model_id is mandatory message NewModel { string name = 1; string description = 2; string grpc_method_name = 3; string grpc_service_name = 4; - // List of all the addresses that will have access to this model + // List of all addresses that will have access to this model repeated string address_list = 5; - // set this to true if you want your model to be used by other AI consumers + // Set this to true if you want your model to be accessible by other AI consumers bool is_public = 6; // These parameters will be passed by the daemon @@ -72,15 +72,15 @@ message NewModel { string group_id = 9; } -// This structure needs to be used by the service provider. +// This structure must be used by the service provider message ModelID { string model_id = 1; } -// This structure needs to be used by the service provider. +// This structure must be used by the service provider // Used in the train_model_price method to get the training/validation price message PriceInBaseUnit { - uint64 price = 1; // cogs, weis, afet, aasi etc + uint64 price = 1; // cogs, weis, afet, aasi, etc. } enum Status { @@ -88,7 +88,7 @@ enum Status { VALIDATING = 1; VALIDATED = 2; TRAINING = 3; - READY_TO_USE = 4; // after training completed + READY_TO_USE = 4; // After training is completed ERRORED = 5; DELETED = 6; } @@ -108,9 +108,12 @@ message ValidateRequest { } extend google.protobuf.MethodOptions { - string defaultModelID = 50001; - uint64 datasetMaxSizeMB = 50002; - repeated string filesTypes = 50003; // [png, jpg, mp4] - string datasetDescription = 50004; // свободное описание доп требований - uint64 maxModelsPerUser = 50006; + string default_model_id = 50001; + uint64 max_models_per_user = 50002; // max models per method & user + uint64 dataset_max_size_mb = 50003; // max size of dataset + uint64 dataset_max_count_files = 50004; // maximum number of files in the dataset + uint64 dataset_max_size_single_file_mb = 50005; // maximum size of a single file in the dataset + string dataset_files_type = 50006; // allowed files types in dataset. string with array or single value, example: jpg, png, mp3 + string dataset_type = 50007; // string with array or single value, example: zip, tar.gz, tar + string dataset_description = 50008; // additional free-form requirements } diff --git a/snet/sdk/resources/proto/training_v2_pb2.py b/snet/sdk/resources/proto/training_v2_pb2.py index 195c5de..d5fca08 100644 --- a/snet/sdk/resources/proto/training_v2_pb2.py +++ b/snet/sdk/resources/proto/training_v2_pb2.py @@ -14,7 +14,7 @@ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11training_v2.proto\x12\ntrainingV2\x1a google/protobuf/descriptor.proto\"\xf8\x01\n\rModelResponse\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x14\n\x0cupdated_date\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x06 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x07 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x08 \x03(\t\x12\x11\n\tis_public\x18\t \x01(\x08\x12\x1a\n\x12training_data_link\x18\n \x01(\t\"\xca\x01\n\x08NewModel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x03 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\x12\x11\n\tis_public\x18\x06 \x01(\x08\x12\x17\n\x0forganization_id\x18\x07 \x01(\t\x12\x12\n\nservice_id\x18\x08 \x01(\t\x12\x10\n\x08group_id\x18\t \x01(\t\"\x1b\n\x07ModelID\x12\x10\n\x08model_id\x18\x01 \x01(\t\" \n\x0fPriceInBaseUnit\x12\r\n\x05price\x18\x01 \x01(\x04\"4\n\x0eStatusResponse\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.trainingV2.Status\".\n\x0c\x44\x61taToUpload\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"?\n\x0fValidateRequest\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t*n\n\x06Status\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0e\n\nVALIDATING\x10\x01\x12\r\n\tVALIDATED\x10\x02\x12\x0c\n\x08TRAINING\x10\x03\x12\x10\n\x0cREADY_TO_USE\x10\x04\x12\x0b\n\x07\x45RRORED\x10\x05\x12\x0b\n\x07\x44\x45LETED\x10\x06\x32\xcb\x04\n\x05Model\x12;\n\x0c\x63reate_model\x12\x14.trainingV2.NewModel\x1a\x13.trainingV2.ModelID\"\x00\x12R\n\x14validate_model_price\x12\x1b.trainingV2.ValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12O\n\x13upload_and_validate\x12\x18.trainingV2.DataToUpload\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12K\n\x0evalidate_model\x12\x1b.trainingV2.ValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12G\n\x11train_model_price\x12\x13.trainingV2.ModelID\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12@\n\x0btrain_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x41\n\x0c\x64\x65lete_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x45\n\x10get_model_status\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00:8\n\x0e\x64\x65\x66\x61ultModelID\x12\x1e.google.protobuf.MethodOptions\x18\xd1\x86\x03 \x01(\t::\n\x10\x64\x61tasetMaxSizeMB\x12\x1e.google.protobuf.MethodOptions\x18\xd2\x86\x03 \x01(\x04:4\n\nfilesTypes\x12\x1e.google.protobuf.MethodOptions\x18\xd3\x86\x03 \x03(\t:<\n\x12\x64\x61tasetDescription\x12\x1e.google.protobuf.MethodOptions\x18\xd4\x86\x03 \x01(\t::\n\x10maxModelsPerUser\x12\x1e.google.protobuf.MethodOptions\x18\xd6\x86\x03 \x01(\x04\x42\rZ\x0b../trainingb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11training_v2.proto\x12\ntrainingV2\x1a google/protobuf/descriptor.proto\"\xf8\x01\n\rModelResponse\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x14\n\x0cupdated_date\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x06 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x07 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x08 \x03(\t\x12\x11\n\tis_public\x18\t \x01(\x08\x12\x1a\n\x12training_data_link\x18\n \x01(\t\"\xca\x01\n\x08NewModel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x03 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\x12\x11\n\tis_public\x18\x06 \x01(\x08\x12\x17\n\x0forganization_id\x18\x07 \x01(\t\x12\x12\n\nservice_id\x18\x08 \x01(\t\x12\x10\n\x08group_id\x18\t \x01(\t\"\x1b\n\x07ModelID\x12\x10\n\x08model_id\x18\x01 \x01(\t\" \n\x0fPriceInBaseUnit\x12\r\n\x05price\x18\x01 \x01(\x04\"4\n\x0eStatusResponse\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.trainingV2.Status\".\n\x0c\x44\x61taToUpload\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"?\n\x0fValidateRequest\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t*n\n\x06Status\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0e\n\nVALIDATING\x10\x01\x12\r\n\tVALIDATED\x10\x02\x12\x0c\n\x08TRAINING\x10\x03\x12\x10\n\x0cREADY_TO_USE\x10\x04\x12\x0b\n\x07\x45RRORED\x10\x05\x12\x0b\n\x07\x44\x45LETED\x10\x06\x32\xcb\x04\n\x05Model\x12;\n\x0c\x63reate_model\x12\x14.trainingV2.NewModel\x1a\x13.trainingV2.ModelID\"\x00\x12R\n\x14validate_model_price\x12\x1b.trainingV2.ValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12O\n\x13upload_and_validate\x12\x18.trainingV2.DataToUpload\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12K\n\x0evalidate_model\x12\x1b.trainingV2.ValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12G\n\x11train_model_price\x12\x13.trainingV2.ModelID\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12@\n\x0btrain_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x41\n\x0c\x64\x65lete_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x45\n\x10get_model_status\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00::\n\x10\x64\x65\x66\x61ult_model_id\x12\x1e.google.protobuf.MethodOptions\x18\xd1\x86\x03 \x01(\t:=\n\x13max_models_per_user\x12\x1e.google.protobuf.MethodOptions\x18\xd2\x86\x03 \x01(\x04:=\n\x13\x64\x61taset_max_size_mb\x12\x1e.google.protobuf.MethodOptions\x18\xd3\x86\x03 \x01(\x04:A\n\x17\x64\x61taset_max_count_files\x12\x1e.google.protobuf.MethodOptions\x18\xd4\x86\x03 \x01(\x04:I\n\x1f\x64\x61taset_max_size_single_file_mb\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x04:<\n\x12\x64\x61taset_files_type\x12\x1e.google.protobuf.MethodOptions\x18\xd6\x86\x03 \x01(\t:6\n\x0c\x64\x61taset_type\x12\x1e.google.protobuf.MethodOptions\x18\xd7\x86\x03 \x01(\t:=\n\x13\x64\x61taset_description\x12\x1e.google.protobuf.MethodOptions\x18\xd8\x86\x03 \x01(\tB\rZ\x0b../trainingb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) diff --git a/snet/sdk/resources/proto/training_v2_pb2_grpc.py b/snet/sdk/resources/proto/training_v2_pb2_grpc.py index cf2fba3..19fb5b9 100644 --- a/snet/sdk/resources/proto/training_v2_pb2_grpc.py +++ b/snet/sdk/resources/proto/training_v2_pb2_grpc.py @@ -6,7 +6,7 @@ class ModelStub(object): - """The methods below are implemented by service provider + """Methods that the service provider must implement """ def __init__(self, channel): @@ -58,62 +58,62 @@ def __init__(self, channel): class ModelServicer(object): - """The methods below are implemented by service provider + """Methods that the service provider must implement """ def create_model(self, request, context): - """free - You can forward the address of the model creator. + """Free + Can pass the address of the model creator """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def validate_model_price(self, request, context): - """free + """Free """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def upload_and_validate(self, request_iterator, context): - """paid + """Paid """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def validate_model(self, request, context): - """paid + """Paid """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def train_model_price(self, request, context): - """free, one signature for train_model_price & train_model methods + """Free, one signature for both train_model_price & train_model methods """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def train_model(self, request, context): - """paid + """Paid """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def delete_model(self, request, context): - """free - После удаления модели status становится DELETED в etcd + """Free + After model deletion, the status becomes DELETED in etcd """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def get_model_status(self, request, context): - """free + """Free """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -170,7 +170,7 @@ def add_ModelServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class Model(object): - """The methods below are implemented by service provider + """Methods that the service provider must implement """ @staticmethod diff --git a/snet/sdk/service_client.py b/snet/sdk/service_client.py index 7442cad..21d5473 100644 --- a/snet/sdk/service_client.py +++ b/snet/sdk/service_client.py @@ -1,5 +1,4 @@ import base64 -import collections import importlib import re import os @@ -18,21 +17,15 @@ from snet.sdk.mpe.mpe_contract import MPEContract from snet.sdk.mpe.payment_channel import PaymentChannel from snet.sdk.mpe.payment_channel_provider import PaymentChannelProvider -# from snet.sdk.payment_strategies import default_payment_strategy as strategy +from snet.sdk.payment_strategies import default_payment_strategy as strategy from snet.sdk.resources.root_certificate import certificate from snet.sdk.storage_provider.service_metadata import MPEServiceMetadata -from snet.sdk.typing import ModuleName, ServiceStub +from snet.sdk.custom_typing import ModuleName, ServiceStub from snet.sdk.utils.utils import (RESOURCES_PATH, add_to_path, find_file_by_keyword) from snet.sdk.training.training_v2 import TrainingV2 - - -class _ClientCallDetails( - collections.namedtuple( - '_ClientCallDetails', - ('method', 'timeout', 'metadata', 'credentials')), - grpc.ClientCallDetails): - pass +from snet.sdk.training.exceptions import NoTrainingException +from snet.sdk.utils.call_utils import create_intercept_call_func class ServiceClient: @@ -50,7 +43,8 @@ def __init__( sdk_web3: web3.Web3, pb2_module: ModuleName, payment_channel_provider: PaymentChannelProvider, - path_to_pb_files: Path + path_to_pb_files: Path, + training_added: bool = False ): self.org_id = org_id self.service_id = service_id @@ -69,15 +63,16 @@ def __init__( self.expiry_threshold: int = self.group["payment"]["payment_expiration_threshold"] self.__base_grpc_channel = self._get_grpc_channel() + _intercept_call_func = create_intercept_call_func(self._get_service_call_metadata, self) self.grpc_channel = grpc.intercept_channel( self.__base_grpc_channel, - generic_client_interceptor.create(self._intercept_call) + generic_client_interceptor.create(_intercept_call_func) ) self.service = self._generate_grpc_stub(service_stub) self.payment_channel_state_service_client = self._generate_payment_channel_state_service_client() self.payment_channels = [] self.last_read_block: int = 0 - self.__training = TrainingV2(self) + self.__training = TrainingV2(self, training_added) def call_rpc(self, rpc_name: str, message_class: str, **kwargs) -> Any: rpc_method = getattr(self.service, rpc_name) @@ -119,24 +114,10 @@ def _get_grpc_channel(self) -> grpc.Channel: else: raise ValueError('Unsupported scheme in service metadata ("{}")'.format(endpoint_object.scheme)) - def get_grpc_channel_for_training(self) -> grpc.Channel: - pass - def _get_service_call_metadata(self) -> list[tuple]: metadata: list = self.payment_strategy.get_payment_metadata(self) return metadata - def _intercept_call(self, client_call_details, request_iterator, request_streaming, - response_streaming): - metadata = [] - if client_call_details.metadata is not None: - metadata = list(client_call_details.metadata) - metadata.extend(self._get_service_call_metadata()) - client_call_details = _ClientCallDetails( - client_call_details.method, client_call_details.timeout, metadata, - client_call_details.credentials) - return client_call_details, request_iterator, None - def _filter_existing_channels_from_new_payment_channels( self, new_payment_channels: list[PaymentChannel] @@ -240,8 +221,8 @@ def get_service_details(self) -> tuple[str, str, str, str]: @property def training(self) -> TrainingV2: - if self.__training.is_enabled: - raise Exception("The service does not support training.") + if not self.__training.is_enabled: + raise NoTrainingException(self.org_id, self.service_id) return self.__training def get_concurrency_flag(self) -> bool: @@ -258,7 +239,7 @@ def set_concurrency_token_and_channel(self, token: str, def get_services_and_messages_info(self) -> tuple[dict, dict]: # Get proto file filepath and open it proto_file_name = find_file_by_keyword(directory=self.path_to_pb_files, - keyword=".proto") + keyword=".proto", exclude=["training"]) proto_filepath = os.path.join(self.path_to_pb_files, proto_file_name) with open(proto_filepath, 'r') as file: proto_content = file.read() diff --git a/snet/sdk/training/exceptions.py b/snet/sdk/training/exceptions.py index 668e95e..037213f 100644 --- a/snet/sdk/training/exceptions.py +++ b/snet/sdk/training/exceptions.py @@ -7,11 +7,16 @@ def __init__(self, errors: list[str]): exception_msg += f"\t{check}\n" super().__init__(exception_msg) + class WrongMethodException(Exception): def __init__(self, method_name: str): super().__init__(f"Method with name {method_name} not found!") +class NoTrainingException(Exception): + def __init__(self, org_id: str, service_id: str): + super().__init__(f"Training is not implemented for the service with org_id={org_id} and service_id={service_id}!") + diff --git a/snet/sdk/training/training_v2.py b/snet/sdk/training/training_v2.py index fb92bcf..608e4b0 100644 --- a/snet/sdk/training/training_v2.py +++ b/snet/sdk/training/training_v2.py @@ -4,14 +4,12 @@ from zipfile import ZipFile from typing import Any import grpc +import importlib from snet.sdk import generic_client_interceptor from snet.sdk.payment_strategies.dynamic_price_payment_strategy import DynamicPricePaymentStrategy -from snet.sdk.service_client import ServiceClient, _ClientCallDetails - -from snet.sdk.resources.proto import training_daemon_pb2 as training_daemon -from snet.sdk.resources.proto import training_daemon_pb2_grpc as training_daemon_grpc -from snet.sdk.resources.proto import training_v2_pb2 as training +from snet.sdk.utils.call_utils import create_intercept_call_func +from snet.sdk.utils.utils import add_to_path, RESOURCES_PATH from snet.sdk.training.exceptions import WrongDatasetException, WrongMethodException @@ -41,9 +39,14 @@ class ModelStatus(enum.Enum): class TrainingV2: - def __init__(self, service_client: ServiceClient): + def __init__(self, service_client, training_added=False): + with add_to_path(str(RESOURCES_PATH.joinpath("proto"))): + self.training_daemon = importlib.import_module("training_daemon_pb2") + self.training_daemon_grpc = importlib.import_module("training_daemon_pb2_grpc") + self.training = importlib.import_module("training_v2_pb2") + self.service_client = service_client - self.is_enabled = self._check_training() + self.is_enabled = training_added and self._check_training() self.payment_strategy = DynamicPricePaymentStrategy() """FREE METHODS TO CALL""" @@ -57,7 +60,7 @@ def create_model(self, method_name: str, addresses_with_access = [] service_name, method_name = self._check_method_name(method_name) - new_model = training.NewModel(name=model_name, + new_model = self.training.NewModel(name=model_name, description=model_description, grpc_method_name=method_name, grpc_service_name=service_name, @@ -67,7 +70,7 @@ def create_model(self, method_name: str, service_id=self.service_client.service_id, group_id=self.service_client.group["group_id"]) auth_details = self._get_auth_details(ModelMethodMessage.CreateModel) - create_model_request = training_daemon.NewModelRequest(authorization=auth_details, + create_model_request = self.training_daemon.NewModelRequest(authorization=auth_details, model=new_model) response = self._call_method("create_model", request_data=create_model_request) @@ -75,7 +78,7 @@ def create_model(self, method_name: str, def validate_model_price(self, model_id: str) -> Any: auth_details = self._get_auth_details(ModelMethodMessage.ValidateModelPrice) - validate_model_price_request = training_daemon.ValidateRequest( + validate_model_price_request = self.training_daemon.AuthValidateRequest( authorization=auth_details, model_id=model_id, training_data_link="" @@ -86,7 +89,7 @@ def validate_model_price(self, model_id: str) -> Any: def train_model_price(self, model_id: str) -> Any: auth_details = self._get_auth_details(ModelMethodMessage.TrainModelPrice) - common_request = training_daemon.CommonRequest(authorization=auth_details, + common_request = self.training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) response = self._call_method("train_model_price", request_data=common_request) @@ -94,27 +97,36 @@ def train_model_price(self, model_id: str) -> Any: def delete_model(self, model_id: str) -> Any: auth_details = self._get_auth_details(ModelMethodMessage.DeleteModel) - common_request = training_daemon.CommonRequest(authorization=auth_details, + common_request = self.training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) response = self._call_method("delete_model", request_data=common_request) return response def get_training_metadata(self): - response = self._call_method("get_training_metadata") - return response + empty_request = self.training_daemon.google_dot_protobuf_dot_empty__pb2.Empty() + response = self._call_method("get_training_metadata", + request_data=empty_request) + + services_methods = dict(response.trainingMethods) + res_dict = {} + for k, v in services_methods.items(): + res_dict[k] = [] + for value in v.values: + res_dict[k].append(value.string_value) + + return res_dict def get_all_models(self, status: ModelStatus=None, is_public: bool=False, - model_name: str="") -> Any: + ) -> Any: if status: - status = getattr(training.Status, status.value) + status = getattr(self.training.Status, status.value) auth_details = self._get_auth_details(ModelMethodMessage.GetAllModels) - all_models_request = training_daemon.AllModelsRequest( + all_models_request = self.training_daemon.AllModelsRequest( authorization=auth_details, status=status, is_public=is_public, - model_name=model_name, page_size=0, page=0 ) @@ -124,7 +136,7 @@ def get_all_models(self, status: ModelStatus=None, def get_model(self, model_id: str) -> Any: auth_details = self._get_auth_details(ModelMethodMessage.GetModel) - common_request = training_daemon.CommonRequest(authorization=auth_details, + common_request = self.training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) response = self._call_method("get_model", request_data=common_request) @@ -137,7 +149,7 @@ def update_model(self, model_id: str, if addresses_with_access is None: addresses_with_access = [] auth_details = self._get_auth_details(ModelMethodMessage.UpdateModel) - update_model_request = training_daemon.UpdateModelRequest( + update_model_request = self.training_daemon.UpdateModelRequest( authorization=auth_details,model_id=model_id, model_name=model_name, description=description, @@ -147,22 +159,22 @@ def update_model(self, model_id: str, request_data=update_model_request) return response - def get_dataset_requirements(self, method_name: str, model_id: str="") -> Any: + def get_method_metadata(self, method_name: str, model_id: str= "") -> Any: if model_id: - requirements_request = training_daemon.DatasetRequirementsRequest( + requirements_request = self.training_daemon.MethodMetadataRequest( grpc_method_name="", grpc_service_name="", model_id=model_id ) else: service_name, method_name = self._check_method_name(method_name) - requirements_request = training_daemon.DatasetRequirementsRequest( + requirements_request = self.training_daemon.MethodMetadataRequest( grpc_method_name=method_name, grpc_service_name=service_name, model_id="" ) - response = self._call_method("get_dataset_requirements", + response = self._call_method("get_method_metadata", request_data=requirements_request) return response @@ -171,51 +183,63 @@ def get_dataset_requirements(self, method_name: str, model_id: str="") -> Any: def upload_and_validate(self, model_id: str, zip_path: str | Path | PurePath, price: int) -> Any: f = open(zip_path, 'rb') + file_size = os.path.getsize(zip_path) + + file_name = os.path.basename(zip_path) + file_size = file_size + batch_size = 1024*1024 + batch_count = file_size // batch_size + if file_size % batch_size != 0: + batch_count += 1 - self._check_dataset(model_id, zip_path) + # self._check_dataset(model_id, zip_path) auth_details = self._get_auth_details(ModelMethodMessage.UploadAndValidate) def request_iter(file): - batch = file.read(1024*1024) + batch = file.read(batch_size) + batch_number = 1 while batch: - yield training_daemon.UploadAndValidateRequest( + yield self.training_daemon.UploadAndValidateRequest( authorization=auth_details, model_id=model_id, - data=batch + data=batch, + file_name=file_name, + file_size=file_size, + batch_size=batch_size, + batch_number=batch_number, + batch_count=batch_count ) - batch = file.read(1024*1024) + batch = file.read(batch_size) + batch_number += 1 self.payment_strategy.set_price(price) response = self._call_method("upload_and_validate", request_data=request_iter(f), - paid=True) + paid=False) # TODO: change to paid f.close() return response def train_model(self, model_id: str, price: int) -> Any: auth_details = self._get_auth_details(ModelMethodMessage.TrainModel) - common_request = training_daemon.CommonRequest(authorization=auth_details, + common_request = self.training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) self.payment_strategy.set_price(price) response = self._call_method("train_model", request_data=common_request, - paid=True) + paid=False) # TODO: change to paid return response """PRIVATE METHODS""" def _call_method(self, method_name: str, - request_data=None, + request_data, paid=False) -> Any: try: stub = self._get_training_stub(paid=paid) - if not request_data: - response = getattr(stub, method_name)() - else: - response = getattr(stub, method_name)(request_data) + response = getattr(stub, method_name)(request_data) return response except Exception as e: # TODO: parse exception @@ -225,7 +249,7 @@ def _get_training_stub(self, paid=False) -> Any: grpc_channel = self.service_client.get_grpc_base_channel() if paid: grpc_channel = self._get_grpc_channel(grpc_channel) - return training_daemon_grpc.DaemonStub(grpc_channel) + return self.training_daemon_grpc.DaemonStub(grpc_channel) def _get_auth_details(self, method_msg: ModelMethodMessage) -> Any: current_block_number = self.service_client.get_current_block_number() @@ -233,7 +257,7 @@ def _get_auth_details(self, method_msg: ModelMethodMessage) -> Any: signature = self.service_client.generate_training_signature(method_msg.value, address, current_block_number) - auth_details = training_daemon.AuthorizationDetails( + auth_details = self.training_daemon.AuthorizationDetails( signature=bytes(signature), current_block=current_block_number, signer_address=address, @@ -250,11 +274,14 @@ def _check_method_name(self, method_name: str) -> tuple[str, str]: raise WrongMethodException(method_name) def _check_training(self) -> bool: - metadata_response = self.get_training_metadata() - if len(metadata_response.trainingMethods.keys()) == 0: + try: + metadata_response = self.get_training_metadata() + except grpc.RpcError as e: + return False + if len(metadata_response.keys()) == 0: return False n_methods = 0 - for service, methods in metadata_response.trainingMethods.items(): + for service, methods in metadata_response.items(): n_methods += len(methods) if n_methods == 0: return False @@ -262,11 +289,12 @@ def _check_training(self) -> bool: return True def _check_dataset(self, model_id: str, zip_path: str | Path | PurePath) -> None: - requirements_response = self.get_dataset_requirements("", model_id) - max_size_mb = requirements_response.max_size_mb - max_count_files = requirements_response.count_files - max_size_mb_single = requirements_response.max_size_mb_single - file_types = requirements_response.file_type + method_metadata = self.get_method_metadata("", model_id) + max_size_mb = method_metadata.dataset_max_size_mb + max_count_files = method_metadata.dataset_max_count_files + max_size_mb_single = method_metadata.dataset_max_size_single_file_mb + file_types = method_metadata.dataset_files_type + file_types = file_types.replace(' ', '').split(',') failed_checks = [] zip_file = ZipFile(zip_path) @@ -294,20 +322,12 @@ def _check_dataset(self, model_id: str, zip_path: str | Path | PurePath) -> None raise WrongDatasetException(failed_checks) def _get_grpc_channel(self, base_channel: grpc.Channel) -> grpc.Channel: + intercept_call_func = create_intercept_call_func(self.payment_strategy.get_payment_metadata, + self.service_client) grpc_channel = grpc.intercept_channel( base_channel, - generic_client_interceptor.create(self._intercept_call) + generic_client_interceptor.create(intercept_call_func) ) return grpc_channel - def _intercept_call(self, client_call_details, request_iterator, request_streaming, - response_streaming): - metadata = [] - if client_call_details.metadata is not None: - metadata = list(client_call_details.metadata) - metadata.extend(self.payment_strategy.get_payment_metadata(self.service_client)) - client_call_details = _ClientCallDetails( - client_call_details.method, client_call_details.timeout, metadata, - client_call_details.credentials) - return client_call_details, request_iterator, None diff --git a/snet/sdk/utils/call_utils.py b/snet/sdk/utils/call_utils.py new file mode 100644 index 0000000..a1a6669 --- /dev/null +++ b/snet/sdk/utils/call_utils.py @@ -0,0 +1,24 @@ +import collections +import grpc + + +class _ClientCallDetails( + collections.namedtuple( + '_ClientCallDetails', + ('method', 'timeout', 'metadata', 'credentials')), + grpc.ClientCallDetails): + pass + + +def create_intercept_call_func(get_metadata_func: callable, service_client) -> callable: + def intercept_call(client_call_details, request_iterator, request_streaming, response_streaming): + metadata = [] + if client_call_details.metadata is not None: + metadata = list(client_call_details.metadata) + metadata.extend(get_metadata_func(service_client)) + client_call_details = _ClientCallDetails( + client_call_details.method, client_call_details.timeout, metadata, + client_call_details.credentials) + return client_call_details, request_iterator, None + + return intercept_call diff --git a/snet/sdk/utils/utils.py b/snet/sdk/utils/utils.py index 82afa48..4a57c9c 100644 --- a/snet/sdk/utils/utils.py +++ b/snet/sdk/utils/utils.py @@ -47,7 +47,8 @@ def compile_proto( entry_path: Path, codegen_dir: Path, proto_file: str | None = None, - target_language: str = "python" + target_language: str = "python", + add_training: bool = False ) -> bool: try: if not os.path.exists(codegen_dir): @@ -59,31 +60,26 @@ def compile_proto( "-I{}".format(proto_include) ] + if add_training: + training_include = RESOURCES_PATH.joinpath("proto", "training") + compiler_args.append("-I{}".format(training_include)) + if target_language == "python": compiler_args.insert(0, "protoc") compiler_args.append("--python_out={}".format(codegen_dir)) compiler_args.append("--grpc_python_out={}".format(codegen_dir)) compiler = protoc - elif target_language == "nodejs": - protoc_node_compiler_path = Path( - RESOURCES_PATH.joinpath("node_modules").joinpath("grpc-tools").joinpath("bin").joinpath( - "protoc.js")).absolute() - grpc_node_plugin_path = Path( - RESOURCES_PATH.joinpath("node_modules").joinpath("grpc-tools").joinpath("bin").joinpath( - "grpc_node_plugin")).resolve() - if not os.path.isfile(protoc_node_compiler_path) or not os.path.isfile(grpc_node_plugin_path): - print("Missing required node.js protoc compiler. Retrieving from npm...") - subprocess.run(["npm", "install"], cwd=RESOURCES_PATH) - compiler_args.append("--js_out=import_style=commonjs,binary:{}".format(codegen_dir)) - compiler_args.append("--grpc_out={}".format(codegen_dir)) - compiler_args.append("--plugin=protoc-gen-grpc={}".format(grpc_node_plugin_path)) - compiler = lambda args: subprocess.run([str(protoc_node_compiler_path)] + args) + else: + raise Exception("We only support python target language for proto compiling") if proto_file: compiler_args.append(str(proto_file)) else: compiler_args.extend([str(p) for p in entry_path.glob("**/*.proto")]) + if add_training: + compiler_args.append(str(training_include.joinpath("training_v2.proto"))) + if not compiler(compiler_args): return True else: @@ -147,10 +143,12 @@ def __exit__(self, exc_type, exc_value, traceback): pass -def find_file_by_keyword(directory, keyword): +def find_file_by_keyword(directory, keyword, exclude=None): + if exclude is None: + exclude = [] for root, dirs, files in os.walk(directory): for file in files: - if keyword in file: + if keyword in file and all(e not in file for e in exclude): return file From 4620a4eb2c5481f64d4b43b36abf642c241b7c83 Mon Sep 17 00:00:00 2001 From: kiruxaspb <65371121+kiruxaspb@users.noreply.github.com> Date: Mon, 13 Jan 2025 12:27:54 +0300 Subject: [PATCH 11/25] Update requirements.txt --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8d9840e..ea58b08 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,6 +17,6 @@ argcomplete==3.1.2 grpcio-health-checking==1.59.0 jsonschema==4.0.0 eth-account==0.9.0 -snet-contracts==0.1.2 +snet-contracts==0.2.1 lighthouseweb3==0.1.4 -zipp>=3.19.1 \ No newline at end of file +zipp>=3.19.1 From 5f7417b00e126c8010f53d4fbc5ec3fb4fd54bc9 Mon Sep 17 00:00:00 2001 From: Arondondon Date: Thu, 16 Jan 2025 18:26:54 +0300 Subject: [PATCH 12/25] Changed .proto and pb files, added response classes. --- .../proto/training/training_v2.proto | 13 +- .../sdk/resources/proto/training_daemon.proto | 8 +- .../resources/proto/training_daemon_pb2.py | 40 ++-- snet/sdk/resources/proto/training_v2.proto | 13 +- snet/sdk/resources/proto/training_v2_pb2.py | 18 +- .../resources/proto/training_v2_pb2_grpc.py | 6 +- snet/sdk/training/responses.py | 180 ++++++++++++++++++ snet/sdk/training/training_v2.py | 175 ++++++++++------- 8 files changed, 339 insertions(+), 114 deletions(-) create mode 100644 snet/sdk/training/responses.py diff --git a/snet/sdk/resources/proto/training/training_v2.proto b/snet/sdk/resources/proto/training/training_v2.proto index f6e778f..66007a2 100644 --- a/snet/sdk/resources/proto/training/training_v2.proto +++ b/snet/sdk/resources/proto/training/training_v2.proto @@ -14,7 +14,7 @@ service Model { rpc validate_model_price(ValidateRequest) returns (PriceInBaseUnit) {} // Paid - rpc upload_and_validate(stream DataToUpload) returns (StatusResponse) {} + rpc upload_and_validate(stream UploadInput) returns (StatusResponse) {} // Paid rpc validate_model(ValidateRequest) returns (StatusResponse) {} @@ -97,9 +97,14 @@ message StatusResponse { Status status = 1; } -message DataToUpload { - string model_id = 2; - bytes data = 3; +message UploadInput { + string model_id = 1; + bytes data = 2; + string file_name = 3; + uint64 file_size = 4; // in bytes + uint64 batch_size = 5; + uint64 batch_number = 6; + uint64 batch_count = 7; } message ValidateRequest { diff --git a/snet/sdk/resources/proto/training_daemon.proto b/snet/sdk/resources/proto/training_daemon.proto index f24e832..e86ff30 100644 --- a/snet/sdk/resources/proto/training_daemon.proto +++ b/snet/sdk/resources/proto/training_daemon.proto @@ -29,13 +29,7 @@ message AuthValidateRequest { message UploadAndValidateRequest { AuthorizationDetails authorization = 1; - string model_id = 2; - bytes data = 3; - string file_name = 4; - uint64 file_size = 5; - uint64 batch_size = 6; - uint64 batch_number = 7; - uint64 batch_count = 8; + trainingV2.UploadInput upload_input = 2; } message CommonRequest { diff --git a/snet/sdk/resources/proto/training_daemon_pb2.py b/snet/sdk/resources/proto/training_daemon_pb2.py index 0a3e8ef..2f45c91 100644 --- a/snet/sdk/resources/proto/training_daemon_pb2.py +++ b/snet/sdk/resources/proto/training_daemon_pb2.py @@ -17,7 +17,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15training_daemon.proto\x12\x0ftraining_daemon\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x11training_v2.proto\x1a\x1bgoogle/protobuf/empty.proto\"i\n\x14\x41uthorizationDetails\x12\x15\n\rcurrent_block\x18\x01 \x01(\x04\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x16\n\x0esigner_address\x18\x04 \x01(\t\"t\n\x0fNewModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12#\n\x05model\x18\x02 \x01(\x0b\x32\x14.trainingV2.NewModel\"\x81\x01\n\x13\x41uthValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t\"\xdd\x01\n\x18UploadAndValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x11\n\tfile_name\x18\x04 \x01(\t\x12\x11\n\tfile_size\x18\x05 \x01(\x04\x12\x12\n\nbatch_size\x18\x06 \x01(\x04\x12\x14\n\x0c\x62\x61tch_number\x18\x07 \x01(\x04\x12\x13\n\x0b\x62\x61tch_count\x18\x08 \x01(\x04\"_\n\rCommonRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\"\xa3\x01\n\x12UpdateModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x12\n\nmodel_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\"C\n\x0eModelsResponse\x12\x31\n\x0elist_of_models\x18\x01 \x03(\x0b\x32\x19.trainingV2.ModelResponse\"^\n\x15MethodMetadataRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x02 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x03 \x01(\t\"\xb6\x01\n\x10\x41llModelsRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x11\n\tis_public\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x11\n\tpage_size\x18\x05 \x01(\x04\x12\x0c\n\x04page\x18\x06 \x01(\x04\"\xe9\x01\n\x10TrainingMetadata\x12\x17\n\x0ftrainingEnabled\x18\x01 \x01(\x08\x12\x17\n\x0ftrainingInProto\x18\x02 \x01(\x08\x12O\n\x0ftrainingMethods\x18\x03 \x03(\x0b\x32\x36.training_daemon.TrainingMetadata.TrainingMethodsEntry\x1aR\n\x14TrainingMethodsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValue:\x02\x38\x01\"\x8d\x02\n\x0eMethodMetadata\x12\x1a\n\x10\x64\x65\x66\x61ult_model_id\x18\xd1\x86\x03 \x01(\t\x12\x1d\n\x13max_models_per_user\x18\xd2\x86\x03 \x01(\x04\x12\x1d\n\x13\x64\x61taset_max_size_mb\x18\xd3\x86\x03 \x01(\x04\x12!\n\x17\x64\x61taset_max_count_files\x18\xd4\x86\x03 \x01(\x04\x12)\n\x1f\x64\x61taset_max_size_single_file_mb\x18\xd5\x86\x03 \x01(\x04\x12\x1c\n\x12\x64\x61taset_files_type\x18\xd6\x86\x03 \x01(\t\x12\x16\n\x0c\x64\x61taset_type\x18\xd7\x86\x03 \x01(\t\x12\x1d\n\x13\x64\x61taset_description\x18\xd8\x86\x03 \x01(\t2\x87\x08\n\x06\x44\x61\x65mon\x12M\n\x0c\x63reate_model\x12 .training_daemon.NewModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12[\n\x14validate_model_price\x12$.training_daemon.AuthValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12`\n\x13upload_and_validate\x12).training_daemon.UploadAndValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12T\n\x0evalidate_model\x12$.training_daemon.AuthValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12R\n\x11train_model_price\x12\x1e.training_daemon.CommonRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12K\n\x0btrain_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12L\n\x0c\x64\x65lete_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12V\n\x0eget_all_models\x12!.training_daemon.AllModelsRequest\x1a\x1f.training_daemon.ModelsResponse\"\x00\x12H\n\tget_model\x12\x1e.training_daemon.CommonRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12P\n\x0cupdate_model\x12#.training_daemon.UpdateModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12T\n\x15get_training_metadata\x12\x16.google.protobuf.Empty\x1a!.training_daemon.TrainingMetadata\"\x00\x12`\n\x13get_method_metadata\x12&.training_daemon.MethodMetadataRequest\x1a\x1f.training_daemon.MethodMetadata\"\x00\x42\rZ\x0b../trainingb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15training_daemon.proto\x12\x0ftraining_daemon\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x11training_v2.proto\x1a\x1bgoogle/protobuf/empty.proto\"i\n\x14\x41uthorizationDetails\x12\x15\n\rcurrent_block\x18\x01 \x01(\x04\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x16\n\x0esigner_address\x18\x04 \x01(\t\"t\n\x0fNewModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12#\n\x05model\x18\x02 \x01(\x0b\x32\x14.trainingV2.NewModel\"\x81\x01\n\x13\x41uthValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t\"\x87\x01\n\x18UploadAndValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12-\n\x0cupload_input\x18\x02 \x01(\x0b\x32\x17.trainingV2.UploadInput\"_\n\rCommonRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\"\xa3\x01\n\x12UpdateModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x12\n\nmodel_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\"C\n\x0eModelsResponse\x12\x31\n\x0elist_of_models\x18\x01 \x03(\x0b\x32\x19.trainingV2.ModelResponse\"^\n\x15MethodMetadataRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x02 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x03 \x01(\t\"\xb6\x01\n\x10\x41llModelsRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x11\n\tis_public\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x11\n\tpage_size\x18\x05 \x01(\x04\x12\x0c\n\x04page\x18\x06 \x01(\x04\"\xe9\x01\n\x10TrainingMetadata\x12\x17\n\x0ftrainingEnabled\x18\x01 \x01(\x08\x12\x17\n\x0ftrainingInProto\x18\x02 \x01(\x08\x12O\n\x0ftrainingMethods\x18\x03 \x03(\x0b\x32\x36.training_daemon.TrainingMetadata.TrainingMethodsEntry\x1aR\n\x14TrainingMethodsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValue:\x02\x38\x01\"\x8d\x02\n\x0eMethodMetadata\x12\x1a\n\x10\x64\x65\x66\x61ult_model_id\x18\xd1\x86\x03 \x01(\t\x12\x1d\n\x13max_models_per_user\x18\xd2\x86\x03 \x01(\x04\x12\x1d\n\x13\x64\x61taset_max_size_mb\x18\xd3\x86\x03 \x01(\x04\x12!\n\x17\x64\x61taset_max_count_files\x18\xd4\x86\x03 \x01(\x04\x12)\n\x1f\x64\x61taset_max_size_single_file_mb\x18\xd5\x86\x03 \x01(\x04\x12\x1c\n\x12\x64\x61taset_files_type\x18\xd6\x86\x03 \x01(\t\x12\x16\n\x0c\x64\x61taset_type\x18\xd7\x86\x03 \x01(\t\x12\x1d\n\x13\x64\x61taset_description\x18\xd8\x86\x03 \x01(\t2\x87\x08\n\x06\x44\x61\x65mon\x12M\n\x0c\x63reate_model\x12 .training_daemon.NewModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12[\n\x14validate_model_price\x12$.training_daemon.AuthValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12`\n\x13upload_and_validate\x12).training_daemon.UploadAndValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12T\n\x0evalidate_model\x12$.training_daemon.AuthValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12R\n\x11train_model_price\x12\x1e.training_daemon.CommonRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12K\n\x0btrain_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12L\n\x0c\x64\x65lete_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12V\n\x0eget_all_models\x12!.training_daemon.AllModelsRequest\x1a\x1f.training_daemon.ModelsResponse\"\x00\x12H\n\tget_model\x12\x1e.training_daemon.CommonRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12P\n\x0cupdate_model\x12#.training_daemon.UpdateModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12T\n\x15get_training_metadata\x12\x16.google.protobuf.Empty\x1a!.training_daemon.TrainingMetadata\"\x00\x12`\n\x13get_method_metadata\x12&.training_daemon.MethodMetadataRequest\x1a\x1f.training_daemon.MethodMetadata\"\x00\x42\rZ\x0b../trainingb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,23 +34,23 @@ _globals['_AUTHVALIDATEREQUEST']._serialized_start=380 _globals['_AUTHVALIDATEREQUEST']._serialized_end=509 _globals['_UPLOADANDVALIDATEREQUEST']._serialized_start=512 - _globals['_UPLOADANDVALIDATEREQUEST']._serialized_end=733 - _globals['_COMMONREQUEST']._serialized_start=735 - _globals['_COMMONREQUEST']._serialized_end=830 - _globals['_UPDATEMODELREQUEST']._serialized_start=833 - _globals['_UPDATEMODELREQUEST']._serialized_end=996 - _globals['_MODELSRESPONSE']._serialized_start=998 - _globals['_MODELSRESPONSE']._serialized_end=1065 - _globals['_METHODMETADATAREQUEST']._serialized_start=1067 - _globals['_METHODMETADATAREQUEST']._serialized_end=1161 - _globals['_ALLMODELSREQUEST']._serialized_start=1164 - _globals['_ALLMODELSREQUEST']._serialized_end=1346 - _globals['_TRAININGMETADATA']._serialized_start=1349 - _globals['_TRAININGMETADATA']._serialized_end=1582 - _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_start=1500 - _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_end=1582 - _globals['_METHODMETADATA']._serialized_start=1585 - _globals['_METHODMETADATA']._serialized_end=1854 - _globals['_DAEMON']._serialized_start=1857 - _globals['_DAEMON']._serialized_end=2888 + _globals['_UPLOADANDVALIDATEREQUEST']._serialized_end=647 + _globals['_COMMONREQUEST']._serialized_start=649 + _globals['_COMMONREQUEST']._serialized_end=744 + _globals['_UPDATEMODELREQUEST']._serialized_start=747 + _globals['_UPDATEMODELREQUEST']._serialized_end=910 + _globals['_MODELSRESPONSE']._serialized_start=912 + _globals['_MODELSRESPONSE']._serialized_end=979 + _globals['_METHODMETADATAREQUEST']._serialized_start=981 + _globals['_METHODMETADATAREQUEST']._serialized_end=1075 + _globals['_ALLMODELSREQUEST']._serialized_start=1078 + _globals['_ALLMODELSREQUEST']._serialized_end=1260 + _globals['_TRAININGMETADATA']._serialized_start=1263 + _globals['_TRAININGMETADATA']._serialized_end=1496 + _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_start=1414 + _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_end=1496 + _globals['_METHODMETADATA']._serialized_start=1499 + _globals['_METHODMETADATA']._serialized_end=1768 + _globals['_DAEMON']._serialized_start=1771 + _globals['_DAEMON']._serialized_end=2802 # @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/training_v2.proto b/snet/sdk/resources/proto/training_v2.proto index f6e778f..66007a2 100644 --- a/snet/sdk/resources/proto/training_v2.proto +++ b/snet/sdk/resources/proto/training_v2.proto @@ -14,7 +14,7 @@ service Model { rpc validate_model_price(ValidateRequest) returns (PriceInBaseUnit) {} // Paid - rpc upload_and_validate(stream DataToUpload) returns (StatusResponse) {} + rpc upload_and_validate(stream UploadInput) returns (StatusResponse) {} // Paid rpc validate_model(ValidateRequest) returns (StatusResponse) {} @@ -97,9 +97,14 @@ message StatusResponse { Status status = 1; } -message DataToUpload { - string model_id = 2; - bytes data = 3; +message UploadInput { + string model_id = 1; + bytes data = 2; + string file_name = 3; + uint64 file_size = 4; // in bytes + uint64 batch_size = 5; + uint64 batch_number = 6; + uint64 batch_count = 7; } message ValidateRequest { diff --git a/snet/sdk/resources/proto/training_v2_pb2.py b/snet/sdk/resources/proto/training_v2_pb2.py index d5fca08..5dc4fbe 100644 --- a/snet/sdk/resources/proto/training_v2_pb2.py +++ b/snet/sdk/resources/proto/training_v2_pb2.py @@ -14,7 +14,7 @@ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11training_v2.proto\x12\ntrainingV2\x1a google/protobuf/descriptor.proto\"\xf8\x01\n\rModelResponse\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x14\n\x0cupdated_date\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x06 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x07 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x08 \x03(\t\x12\x11\n\tis_public\x18\t \x01(\x08\x12\x1a\n\x12training_data_link\x18\n \x01(\t\"\xca\x01\n\x08NewModel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x03 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\x12\x11\n\tis_public\x18\x06 \x01(\x08\x12\x17\n\x0forganization_id\x18\x07 \x01(\t\x12\x12\n\nservice_id\x18\x08 \x01(\t\x12\x10\n\x08group_id\x18\t \x01(\t\"\x1b\n\x07ModelID\x12\x10\n\x08model_id\x18\x01 \x01(\t\" \n\x0fPriceInBaseUnit\x12\r\n\x05price\x18\x01 \x01(\x04\"4\n\x0eStatusResponse\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.trainingV2.Status\".\n\x0c\x44\x61taToUpload\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"?\n\x0fValidateRequest\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t*n\n\x06Status\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0e\n\nVALIDATING\x10\x01\x12\r\n\tVALIDATED\x10\x02\x12\x0c\n\x08TRAINING\x10\x03\x12\x10\n\x0cREADY_TO_USE\x10\x04\x12\x0b\n\x07\x45RRORED\x10\x05\x12\x0b\n\x07\x44\x45LETED\x10\x06\x32\xcb\x04\n\x05Model\x12;\n\x0c\x63reate_model\x12\x14.trainingV2.NewModel\x1a\x13.trainingV2.ModelID\"\x00\x12R\n\x14validate_model_price\x12\x1b.trainingV2.ValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12O\n\x13upload_and_validate\x12\x18.trainingV2.DataToUpload\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12K\n\x0evalidate_model\x12\x1b.trainingV2.ValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12G\n\x11train_model_price\x12\x13.trainingV2.ModelID\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12@\n\x0btrain_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x41\n\x0c\x64\x65lete_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x45\n\x10get_model_status\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00::\n\x10\x64\x65\x66\x61ult_model_id\x12\x1e.google.protobuf.MethodOptions\x18\xd1\x86\x03 \x01(\t:=\n\x13max_models_per_user\x12\x1e.google.protobuf.MethodOptions\x18\xd2\x86\x03 \x01(\x04:=\n\x13\x64\x61taset_max_size_mb\x12\x1e.google.protobuf.MethodOptions\x18\xd3\x86\x03 \x01(\x04:A\n\x17\x64\x61taset_max_count_files\x12\x1e.google.protobuf.MethodOptions\x18\xd4\x86\x03 \x01(\x04:I\n\x1f\x64\x61taset_max_size_single_file_mb\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x04:<\n\x12\x64\x61taset_files_type\x12\x1e.google.protobuf.MethodOptions\x18\xd6\x86\x03 \x01(\t:6\n\x0c\x64\x61taset_type\x12\x1e.google.protobuf.MethodOptions\x18\xd7\x86\x03 \x01(\t:=\n\x13\x64\x61taset_description\x12\x1e.google.protobuf.MethodOptions\x18\xd8\x86\x03 \x01(\tB\rZ\x0b../trainingb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11training_v2.proto\x12\ntrainingV2\x1a google/protobuf/descriptor.proto\"\xf8\x01\n\rModelResponse\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x14\n\x0cupdated_date\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x06 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x07 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x08 \x03(\t\x12\x11\n\tis_public\x18\t \x01(\x08\x12\x1a\n\x12training_data_link\x18\n \x01(\t\"\xca\x01\n\x08NewModel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x03 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\x12\x11\n\tis_public\x18\x06 \x01(\x08\x12\x17\n\x0forganization_id\x18\x07 \x01(\t\x12\x12\n\nservice_id\x18\x08 \x01(\t\x12\x10\n\x08group_id\x18\t \x01(\t\"\x1b\n\x07ModelID\x12\x10\n\x08model_id\x18\x01 \x01(\t\" \n\x0fPriceInBaseUnit\x12\r\n\x05price\x18\x01 \x01(\x04\"4\n\x0eStatusResponse\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.trainingV2.Status\"\x92\x01\n\x0bUploadInput\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x11\n\tfile_name\x18\x03 \x01(\t\x12\x11\n\tfile_size\x18\x04 \x01(\x04\x12\x12\n\nbatch_size\x18\x05 \x01(\x04\x12\x14\n\x0c\x62\x61tch_number\x18\x06 \x01(\x04\x12\x13\n\x0b\x62\x61tch_count\x18\x07 \x01(\x04\"?\n\x0fValidateRequest\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t*n\n\x06Status\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0e\n\nVALIDATING\x10\x01\x12\r\n\tVALIDATED\x10\x02\x12\x0c\n\x08TRAINING\x10\x03\x12\x10\n\x0cREADY_TO_USE\x10\x04\x12\x0b\n\x07\x45RRORED\x10\x05\x12\x0b\n\x07\x44\x45LETED\x10\x06\x32\xca\x04\n\x05Model\x12;\n\x0c\x63reate_model\x12\x14.trainingV2.NewModel\x1a\x13.trainingV2.ModelID\"\x00\x12R\n\x14validate_model_price\x12\x1b.trainingV2.ValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12N\n\x13upload_and_validate\x12\x17.trainingV2.UploadInput\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12K\n\x0evalidate_model\x12\x1b.trainingV2.ValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12G\n\x11train_model_price\x12\x13.trainingV2.ModelID\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12@\n\x0btrain_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x41\n\x0c\x64\x65lete_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x45\n\x10get_model_status\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00::\n\x10\x64\x65\x66\x61ult_model_id\x12\x1e.google.protobuf.MethodOptions\x18\xd1\x86\x03 \x01(\t:=\n\x13max_models_per_user\x12\x1e.google.protobuf.MethodOptions\x18\xd2\x86\x03 \x01(\x04:=\n\x13\x64\x61taset_max_size_mb\x12\x1e.google.protobuf.MethodOptions\x18\xd3\x86\x03 \x01(\x04:A\n\x17\x64\x61taset_max_count_files\x12\x1e.google.protobuf.MethodOptions\x18\xd4\x86\x03 \x01(\x04:I\n\x1f\x64\x61taset_max_size_single_file_mb\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x04:<\n\x12\x64\x61taset_files_type\x12\x1e.google.protobuf.MethodOptions\x18\xd6\x86\x03 \x01(\t:6\n\x0c\x64\x61taset_type\x12\x1e.google.protobuf.MethodOptions\x18\xd7\x86\x03 \x01(\t:=\n\x13\x64\x61taset_description\x12\x1e.google.protobuf.MethodOptions\x18\xd8\x86\x03 \x01(\tB\rZ\x0b../trainingb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -22,8 +22,8 @@ if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'Z\013../training' - _globals['_STATUS']._serialized_start=753 - _globals['_STATUS']._serialized_end=863 + _globals['_STATUS']._serialized_start=854 + _globals['_STATUS']._serialized_end=964 _globals['_MODELRESPONSE']._serialized_start=68 _globals['_MODELRESPONSE']._serialized_end=316 _globals['_NEWMODEL']._serialized_start=319 @@ -34,10 +34,10 @@ _globals['_PRICEINBASEUNIT']._serialized_end=584 _globals['_STATUSRESPONSE']._serialized_start=586 _globals['_STATUSRESPONSE']._serialized_end=638 - _globals['_DATATOUPLOAD']._serialized_start=640 - _globals['_DATATOUPLOAD']._serialized_end=686 - _globals['_VALIDATEREQUEST']._serialized_start=688 - _globals['_VALIDATEREQUEST']._serialized_end=751 - _globals['_MODEL']._serialized_start=866 - _globals['_MODEL']._serialized_end=1453 + _globals['_UPLOADINPUT']._serialized_start=641 + _globals['_UPLOADINPUT']._serialized_end=787 + _globals['_VALIDATEREQUEST']._serialized_start=789 + _globals['_VALIDATEREQUEST']._serialized_end=852 + _globals['_MODEL']._serialized_start=967 + _globals['_MODEL']._serialized_end=1553 # @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/training_v2_pb2_grpc.py b/snet/sdk/resources/proto/training_v2_pb2_grpc.py index 19fb5b9..018ab93 100644 --- a/snet/sdk/resources/proto/training_v2_pb2_grpc.py +++ b/snet/sdk/resources/proto/training_v2_pb2_grpc.py @@ -27,7 +27,7 @@ def __init__(self, channel): ) self.upload_and_validate = channel.stream_unary( '/trainingV2.Model/upload_and_validate', - request_serializer=training__v2__pb2.DataToUpload.SerializeToString, + request_serializer=training__v2__pb2.UploadInput.SerializeToString, response_deserializer=training__v2__pb2.StatusResponse.FromString, ) self.validate_model = channel.unary_unary( @@ -134,7 +134,7 @@ def add_ModelServicer_to_server(servicer, server): ), 'upload_and_validate': grpc.stream_unary_rpc_method_handler( servicer.upload_and_validate, - request_deserializer=training__v2__pb2.DataToUpload.FromString, + request_deserializer=training__v2__pb2.UploadInput.FromString, response_serializer=training__v2__pb2.StatusResponse.SerializeToString, ), 'validate_model': grpc.unary_unary_rpc_method_handler( @@ -219,7 +219,7 @@ def upload_and_validate(request_iterator, timeout=None, metadata=None): return grpc.experimental.stream_unary(request_iterator, target, '/trainingV2.Model/upload_and_validate', - training__v2__pb2.DataToUpload.SerializeToString, + training__v2__pb2.UploadInput.SerializeToString, training__v2__pb2.StatusResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/snet/sdk/training/responses.py b/snet/sdk/training/responses.py new file mode 100644 index 0000000..ed52c42 --- /dev/null +++ b/snet/sdk/training/responses.py @@ -0,0 +1,180 @@ +from enum import Enum +from typing import Any + + +class ModelStatus(Enum): + CREATED = 0 + VALIDATING = 1 + VALIDATED = 2 + TRAINING = 3 + READY_TO_USE = 4 + ERRORED = 5 + DELETED = 6 + + +def to_string(obj: Any): + res_str = "" + for key, value in obj.__dict__.items(): + # key = key.strip("_") + # key = key.replace("__", "_") + key = key.split("__")[1].replace("_", " ") + res_str += f"{key}: {value}\n" + + return res_str + + +class Model: + def __init__(self, + model_id: str, + status: ModelStatus, + updated_date: str, + name: str, + description: str, + grpc_method_name: str, + grpc_service_name : str, + address_list: list[str], + is_public: bool, + training_data_link: str): + + self.__model_id = model_id + self.__status = status + self.__updated_date = updated_date + self.__name = name + self.__description = description + self.__grpc_method_name = grpc_method_name + self.__grpc_service_name = grpc_service_name + self.__address_list = address_list + self.__is_public = is_public + self.__training_data_link = training_data_link + + def __str__(self): + return to_string(self) + + @property + def model_id(self): + return self.__model_id + + @property + def status(self): + return self.__status + + @property + def updated_date(self): + return self.__updated_date + + @property + def name(self): + return self.__name + + @property + def description(self): + return self.__description + + @property + def grpc_method_name(self): + return self.__grpc_method_name + + @property + def grpc_service_name(self): + return self.__grpc_service_name + + @property + def address_list(self): + return self.__address_list + + @property + def is_public(self): + return self.__is_public + + @property + def training_data_link(self): + return self.__training_data_link + +class TrainingMetadata: + def __init__(self, + training_enabled: bool, + training_in_proto: bool, + training_methods: Any): + + self.__training_enabled = training_enabled + self.__training_in_proto = training_in_proto + self.__training_methods = {} + + services_methods = dict(training_methods) + for k, v in services_methods.items(): + self.__training_methods[k] = [] + for value in v.values: + self.__training_methods[k].append(value.string_value) + + def __str__(self): + return to_string(self) + + @property + def training_enabled(self): + return self.__training_enabled + + @property + def training_in_proto(self): + return self.__training_in_proto + + @property + def training_methods(self): + return self.__training_methods + + +class MethodMetadata: + def __init__(self, + default_model_id: str, + max_models_per_user: int, + dataset_max_size_mb: int, + dataset_max_count_files: int, + dataset_max_size_single_file_mb: int, + dataset_files_type: str, + dataset_type: str, + dataset_description: str): + + self.__default_model_id = default_model_id + self.__max_models_per_user = max_models_per_user + self.__dataset_max_size_mb = dataset_max_size_mb + self.__dataset_max_count_files = dataset_max_count_files + self.__dataset_max_size_single_file_mb = dataset_max_size_single_file_mb + self.__dataset_files_type = dataset_files_type + self.__dataset_type = dataset_type + self.__dataset_description = dataset_description + + def __str__(self): + return to_string(self) + + @property + def default_model_id(self): + return self.__default_model_id + + @property + def max_models_per_user(self): + return self.__max_models_per_user + + @property + def dataset_max_size_mb(self): + return self.__dataset_max_size_mb + + @property + def dataset_max_count_files(self): + return self.__dataset_max_count_files + + @property + def dataset_max_size_single_file_mb(self): + return self.__dataset_max_size_single_file_mb + + @property + def dataset_files_type(self): + return self.__dataset_files_type + + @property + def dataset_type(self): + return self.__dataset_type + + @property + def dataset_description(self): + return self.__dataset_description + + diff --git a/snet/sdk/training/training_v2.py b/snet/sdk/training/training_v2.py index 608e4b0..2f41ea8 100644 --- a/snet/sdk/training/training_v2.py +++ b/snet/sdk/training/training_v2.py @@ -8,9 +8,16 @@ from snet.sdk import generic_client_interceptor from snet.sdk.payment_strategies.dynamic_price_payment_strategy import DynamicPricePaymentStrategy +from snet.sdk.training.responses import TrainingMetadata from snet.sdk.utils.call_utils import create_intercept_call_func from snet.sdk.utils.utils import add_to_path, RESOURCES_PATH from snet.sdk.training.exceptions import WrongDatasetException, WrongMethodException +from snet.sdk.training.responses import ( + ModelStatus, + Model, + TrainingMetadata, + MethodMetadata +) class ModelMethodMessage(enum.Enum): @@ -28,16 +35,6 @@ class ModelMethodMessage(enum.Enum): TrainModel = "__TrainModel" -class ModelStatus(enum.Enum): - CREATED = "CREATED" - VALIDATING = "VALIDATING" - VALIDATED = "VALIDATED" - TRAINING = "TRAINING" - READY_TO_USE = "READY_TO_USE" - ERRORED = "ERRORED" - DELETED = "DELETED" - - class TrainingV2: def __init__(self, service_client, training_added=False): with add_to_path(str(RESOURCES_PATH.joinpath("proto"))): @@ -55,7 +52,7 @@ def create_model(self, method_name: str, model_name: str, model_description: str="", is_public_accessible: bool=False, - addresses_with_access: list[str]=None) -> Any: + addresses_with_access: list[str]=None) -> Model: if addresses_with_access is None: addresses_with_access = [] @@ -74,9 +71,19 @@ def create_model(self, method_name: str, model=new_model) response = self._call_method("create_model", request_data=create_model_request) - return response - - def validate_model_price(self, model_id: str) -> Any: + model = Model(model_id=response.model_id, + status=ModelStatus(response.status), + updated_date=response.updated_date, + name=response.name, + description=response.description, + grpc_method_name=response.grpc_method_name, + grpc_service_name=response.grpc_service_name, + address_list=response.address_list, + is_public=response.is_public, + training_data_link=response.training_data_link) + return model + + def validate_model_price(self, model_id: str) -> int: auth_details = self._get_auth_details(ModelMethodMessage.ValidateModelPrice) validate_model_price_request = self.training_daemon.AuthValidateRequest( authorization=auth_details, @@ -85,41 +92,38 @@ def validate_model_price(self, model_id: str) -> Any: ) response = self._call_method("validate_model_price", request_data=validate_model_price_request) - return response + return response.price - def train_model_price(self, model_id: str) -> Any: + def train_model_price(self, model_id: str) -> int: auth_details = self._get_auth_details(ModelMethodMessage.TrainModelPrice) common_request = self.training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) response = self._call_method("train_model_price", request_data=common_request) - return response + return response.price - def delete_model(self, model_id: str) -> Any: + def delete_model(self, model_id: str) -> ModelStatus: auth_details = self._get_auth_details(ModelMethodMessage.DeleteModel) common_request = self.training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) response = self._call_method("delete_model", request_data=common_request) - return response + return ModelStatus(response.status) - def get_training_metadata(self): + def get_training_metadata(self) -> TrainingMetadata: empty_request = self.training_daemon.google_dot_protobuf_dot_empty__pb2.Empty() response = self._call_method("get_training_metadata", request_data=empty_request) - services_methods = dict(response.trainingMethods) - res_dict = {} - for k, v in services_methods.items(): - res_dict[k] = [] - for value in v.values: - res_dict[k].append(value.string_value) + training_metadata = TrainingMetadata(training_enabled=response.trainingEnabled, + training_in_proto=response.trainingInProto, + training_methods=response.trainingMethods) - return res_dict + return training_metadata def get_all_models(self, status: ModelStatus=None, is_public: bool=False, - ) -> Any: + ) -> list[Model]: if status: status = getattr(self.training.Status, status.value) auth_details = self._get_auth_details(ModelMethodMessage.GetAllModels) @@ -132,34 +136,41 @@ def get_all_models(self, status: ModelStatus=None, ) response = self._call_method("get_all_models", request_data=all_models_request) - return response - - def get_model(self, model_id: str) -> Any: + models = [] + for model in response.list_of_models: + models.append(Model(model_id=model.model_id, + status=ModelStatus(model.status), + updated_date=model.updated_date, + name=model.name, + description=model.description, + grpc_method_name=model.grpc_method_name, + grpc_service_name=model.grpc_service_name, + address_list=model.address_list, + is_public=model.is_public, + training_data_link=model.training_data_link)) + + return models + + def get_model(self, model_id: str) -> Model: auth_details = self._get_auth_details(ModelMethodMessage.GetModel) common_request = self.training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) response = self._call_method("get_model", request_data=common_request) - return response + model = Model(model_id=response.model_id, + status=ModelStatus(response.status), + updated_date=response.updated_date, + name=response.name, + description=response.description, + grpc_method_name=response.grpc_method_name, + grpc_service_name=response.grpc_service_name, + address_list=response.address_list, + is_public=response.is_public, + training_data_link=response.training_data_link) - def update_model(self, model_id: str, - model_name: str="", - description: str="", - addresses_with_access: list[str]=None) -> Any: - if addresses_with_access is None: - addresses_with_access = [] - auth_details = self._get_auth_details(ModelMethodMessage.UpdateModel) - update_model_request = self.training_daemon.UpdateModelRequest( - authorization=auth_details,model_id=model_id, - model_name=model_name, - description=description, - address_list=addresses_with_access - ) - response = self._call_method("update_model", - request_data=update_model_request) - return response + return model - def get_method_metadata(self, method_name: str, model_id: str= "") -> Any: + def get_method_metadata(self, method_name: str, model_id: str= "") -> MethodMetadata: if model_id: requirements_request = self.training_daemon.MethodMetadataRequest( @@ -176,12 +187,38 @@ def get_method_metadata(self, method_name: str, model_id: str= "") -> Any: ) response = self._call_method("get_method_metadata", request_data=requirements_request) + + method_metadata = MethodMetadata(default_model_id = response.default_model_id, + max_models_per_user = response.max_models_per_user, + dataset_max_size_mb = response.dataset_max_size_mb, + dataset_max_count_files = response.dataset_max_count_files, + dataset_max_size_single_file_mb = response.dataset_max_size_single_file_mb, + dataset_files_type = response.dataset_files_type, + dataset_type = response.dataset_type, + dataset_description = response.dataset_description) + return method_metadata + + def update_model(self, model_id: str, + model_name: str="", + description: str="", + addresses_with_access: list[str]=None) -> Model: + if addresses_with_access is None: + addresses_with_access = [] + auth_details = self._get_auth_details(ModelMethodMessage.UpdateModel) + update_model_request = self.training_daemon.UpdateModelRequest( + authorization=auth_details,model_id=model_id, + model_name=model_name, + description=description, + address_list=addresses_with_access + ) + response = self._call_method("update_model", + request_data=update_model_request) return response """PAID METHODS TO CALL""" def upload_and_validate(self, model_id: str, - zip_path: str | Path | PurePath, price: int) -> Any: + zip_path: str | Path | PurePath, price: int) -> ModelStatus: f = open(zip_path, 'rb') file_size = os.path.getsize(zip_path) @@ -200,15 +237,18 @@ def request_iter(file): batch = file.read(batch_size) batch_number = 1 while batch: + upload_input = self.training.UploadInput( + model_id = model_id, + data = batch, + file_name = file_name, + file_size = file_size, + batch_size = batch_size, + batch_number = batch_number, + batch_count = batch_count + ) yield self.training_daemon.UploadAndValidateRequest( authorization=auth_details, - model_id=model_id, - data=batch, - file_name=file_name, - file_size=file_size, - batch_size=batch_size, - batch_number=batch_number, - batch_count=batch_count + upload_input=upload_input ) batch = file.read(batch_size) batch_number += 1 @@ -217,11 +257,12 @@ def request_iter(file): response = self._call_method("upload_and_validate", request_data=request_iter(f), - paid=False) # TODO: change to paid + paid=True) # TODO: change to paid f.close() - return response - def train_model(self, model_id: str, price: int) -> Any: + return ModelStatus(response.status) + + def train_model(self, model_id: str, price: int) -> ModelStatus: auth_details = self._get_auth_details(ModelMethodMessage.TrainModel) common_request = self.training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) @@ -229,8 +270,9 @@ def train_model(self, model_id: str, price: int) -> Any: response = self._call_method("train_model", request_data=common_request, - paid=False) # TODO: change to paid - return response + paid=True) # TODO: change to paid + + return ModelStatus(response.status) """PRIVATE METHODS""" @@ -242,8 +284,7 @@ def _call_method(self, method_name: str, response = getattr(stub, method_name)(request_data) return response except Exception as e: - # TODO: parse exception - raise e + print(e) def _get_training_stub(self, paid=False) -> Any: grpc_channel = self.service_client.get_grpc_base_channel() @@ -275,13 +316,13 @@ def _check_method_name(self, method_name: str) -> tuple[str, str]: def _check_training(self) -> bool: try: - metadata_response = self.get_training_metadata() + service_methods = self.get_training_metadata().training_methods except grpc.RpcError as e: return False - if len(metadata_response.keys()) == 0: + if len(service_methods.keys()) == 0: return False n_methods = 0 - for service, methods in metadata_response.items(): + for service, methods in service_methods.items(): n_methods += len(methods) if n_methods == 0: return False From 2113915ef7d96b11d7b99e68fc9d1b4fee71691d Mon Sep 17 00:00:00 2001 From: Arondondon Date: Wed, 29 Jan 2025 13:35:01 +0300 Subject: [PATCH 13/25] Added training payment strategy. Updated response models. --- .../dynamic_price_payment_strategy.py | 15 ------ .../training_payment_strategy.py | 46 +++++++++++++++++++ snet/sdk/training/exceptions.py | 6 +++ snet/sdk/training/responses.py | 15 ++++++ snet/sdk/training/training_v2.py | 41 +++++++---------- snet/sdk/utils/utils.py | 5 ++ 6 files changed, 89 insertions(+), 39 deletions(-) delete mode 100644 snet/sdk/payment_strategies/dynamic_price_payment_strategy.py create mode 100644 snet/sdk/payment_strategies/training_payment_strategy.py diff --git a/snet/sdk/payment_strategies/dynamic_price_payment_strategy.py b/snet/sdk/payment_strategies/dynamic_price_payment_strategy.py deleted file mode 100644 index d50115b..0000000 --- a/snet/sdk/payment_strategies/dynamic_price_payment_strategy.py +++ /dev/null @@ -1,15 +0,0 @@ -from snet.sdk.payment_strategies.paidcall_payment_strategy import PaidCallPaymentStrategy - - -class DynamicPricePaymentStrategy(PaidCallPaymentStrategy): - def __init__(self): - super().__init__() - self._call_price = -1 - - def get_price(self, service_client=None): - if self._call_price == -1: - raise Exception("Training call price not set") - return self._call_price - - def set_price(self, call_price: int): - self._call_price = call_price diff --git a/snet/sdk/payment_strategies/training_payment_strategy.py b/snet/sdk/payment_strategies/training_payment_strategy.py new file mode 100644 index 0000000..1f59029 --- /dev/null +++ b/snet/sdk/payment_strategies/training_payment_strategy.py @@ -0,0 +1,46 @@ +import web3 + +from snet.sdk.payment_strategies.paidcall_payment_strategy import PaidCallPaymentStrategy + + +class TrainingPaymentStrategy(PaidCallPaymentStrategy): + def __init__(self): + super().__init__() + self._call_price = -1 + self._train_model_id = "" + + def get_price(self, service_client=None): + if self._call_price == -1: + raise Exception("Training call price not set") + return self._call_price + + def set_price(self, call_price: int): + self._call_price = call_price + + def get_model_id(self): + return self._train_model_id + + def set_model_id(self, model_id: str): + self._train_model_id = model_id + + def get_payment_metadata(self, service_client): + channel = self.select_channel(service_client) + amount = channel.state["last_signed_amount"] + int(self.get_price(service_client)) + message = web3.Web3.solidity_keccak( + ["string", "address", "uint256", "uint256", "uint256"], + ["__MPE_claim_message", service_client.mpe_address, channel.channel_id, + channel.state["nonce"], + amount] + ) + signature = service_client.generate_signature(message) + + metadata = [ + ("snet-payment-type", "train-call"), + ("snet-payment-channel-id", str(channel.channel_id)), + ("snet-payment-channel-nonce", str(channel.state["nonce"])), + ("snet-payment-channel-amount", str(amount)), + ("snet-train-model-id", self.get_model_id()), + ("snet-payment-channel-signature-bin", signature) + ] + + return metadata diff --git a/snet/sdk/training/exceptions.py b/snet/sdk/training/exceptions.py index 037213f..e157ac0 100644 --- a/snet/sdk/training/exceptions.py +++ b/snet/sdk/training/exceptions.py @@ -1,3 +1,5 @@ +from grpc import RpcError + class WrongDatasetException(Exception): def __init__(self, errors: list[str]): @@ -18,6 +20,10 @@ def __init__(self, org_id: str, service_id: str): super().__init__(f"Training is not implemented for the service with org_id={org_id} and service_id={service_id}!") +class GRPCException(RpcError): + def __init__(self, error: RpcError): + super().__init__(f"An error occurred during the grps call: {error}.") + diff --git a/snet/sdk/training/responses.py b/snet/sdk/training/responses.py index ed52c42..1a64870 100644 --- a/snet/sdk/training/responses.py +++ b/snet/sdk/training/responses.py @@ -2,6 +2,21 @@ from typing import Any +class ModelMethodMessage(Enum): + CreateModel = "__CreateModel" + ValidateModelPrice = "__ValidateModelPrice" + TrainModelPrice = "__TrainModelPrice" + DeleteModel = "__DeleteModel" + GetTrainingMetadata = "__GetTrainingMetadata" + GetAllModels = "__GetAllModels" + GetModel = "__GetModel" + UpdateModel = "__UpdateModel" + GetDatasetRequirements = "__GetDatasetRequirements" + UploadAndValidate = "__UploadAndValidate" + ValidateModel = "__ValidateModel" + TrainModel = "__TrainModel" + + class ModelStatus(Enum): CREATED = 0 VALIDATING = 1 diff --git a/snet/sdk/training/training_v2.py b/snet/sdk/training/training_v2.py index 2f41ea8..f4cf7d7 100644 --- a/snet/sdk/training/training_v2.py +++ b/snet/sdk/training/training_v2.py @@ -7,34 +7,23 @@ import importlib from snet.sdk import generic_client_interceptor -from snet.sdk.payment_strategies.dynamic_price_payment_strategy import DynamicPricePaymentStrategy -from snet.sdk.training.responses import TrainingMetadata +from snet.sdk.payment_strategies.training_payment_strategy import TrainingPaymentStrategy from snet.sdk.utils.call_utils import create_intercept_call_func from snet.sdk.utils.utils import add_to_path, RESOURCES_PATH -from snet.sdk.training.exceptions import WrongDatasetException, WrongMethodException +from snet.sdk.training.exceptions import ( + WrongDatasetException, + WrongMethodException, + GRPCException +) from snet.sdk.training.responses import ( ModelStatus, Model, TrainingMetadata, - MethodMetadata + MethodMetadata, + ModelMethodMessage ) -class ModelMethodMessage(enum.Enum): - CreateModel = "__CreateModel" - ValidateModelPrice = "__ValidateModelPrice" - TrainModelPrice = "__TrainModelPrice" - DeleteModel = "__DeleteModel" - GetTrainingMetadata = "__GetTrainingMetadata" - GetAllModels = "__GetAllModels" - GetModel = "__GetModel" - UpdateModel = "__UpdateModel" - GetDatasetRequirements = "__GetDatasetRequirements" - UploadAndValidate = "__UploadAndValidate" - ValidateModel = "__ValidateModel" - TrainModel = "__TrainModel" - - class TrainingV2: def __init__(self, service_client, training_added=False): with add_to_path(str(RESOURCES_PATH.joinpath("proto"))): @@ -44,7 +33,7 @@ def __init__(self, service_client, training_added=False): self.service_client = service_client self.is_enabled = training_added and self._check_training() - self.payment_strategy = DynamicPricePaymentStrategy() + self.payment_strategy = TrainingPaymentStrategy() """FREE METHODS TO CALL""" @@ -229,7 +218,7 @@ def upload_and_validate(self, model_id: str, if file_size % batch_size != 0: batch_count += 1 - # self._check_dataset(model_id, zip_path) + self._check_dataset(model_id, zip_path) auth_details = self._get_auth_details(ModelMethodMessage.UploadAndValidate) @@ -254,6 +243,7 @@ def request_iter(file): batch_number += 1 self.payment_strategy.set_price(price) + self.payment_strategy.set_model_id(model_id) response = self._call_method("upload_and_validate", request_data=request_iter(f), @@ -267,6 +257,7 @@ def train_model(self, model_id: str, price: int) -> ModelStatus: common_request = self.training_daemon.CommonRequest(authorization=auth_details, model_id=model_id) self.payment_strategy.set_price(price) + self.payment_strategy.set_model_id(model_id) response = self._call_method("train_model", request_data=common_request, @@ -283,8 +274,8 @@ def _call_method(self, method_name: str, stub = self._get_training_stub(paid=paid) response = getattr(stub, method_name)(request_data) return response - except Exception as e: - print(e) + except grpc.RpcError as e: + raise GRPCException(e) def _get_training_stub(self, paid=False) -> Any: grpc_channel = self.service_client.get_grpc_base_channel() @@ -317,7 +308,7 @@ def _check_method_name(self, method_name: str) -> tuple[str, str]: def _check_training(self) -> bool: try: service_methods = self.get_training_metadata().training_methods - except grpc.RpcError as e: + except GRPCException as e: return False if len(service_methods.keys()) == 0: return False @@ -350,6 +341,8 @@ def _check_dataset(self, model_id: str, zip_path: str | Path | PurePath) -> None for file_info in files_list: _, extension = os.path.splitext(file_info.filename) + extension = extension[1:] if extension.startswith('.') else extension + print(extension) if extension not in file_types: failed_checks.append(f"Wrong file type: `{extension}` in file: " f"`{file_info.filename}`. Allowed file types: " diff --git a/snet/sdk/utils/utils.py b/snet/sdk/utils/utils.py index 4a57c9c..4adbe4f 100644 --- a/snet/sdk/utils/utils.py +++ b/snet/sdk/utils/utils.py @@ -9,6 +9,7 @@ import io import web3 +from eth_typing import BlockNumber from grpc_tools.protoc import main as protoc from snet import sdk @@ -129,6 +130,10 @@ def get_address_from_private(private_key): return web3.Account.from_key(private_key).address +def get_current_block_number() -> BlockNumber: + return web3.Web3().eth.block_number + + class add_to_path: def __init__(self, path): self.path = path From 1bfe165bd417ef569e352c61e6a2e98747252ab5 Mon Sep 17 00:00:00 2001 From: Arondondon Date: Wed, 12 Feb 2025 13:50:47 +0300 Subject: [PATCH 14/25] Added availability to call services with several grpc services in one .proto file. Updated training.proto. Removed redundant files. --- examples/training_service.py | 96 ++++ snet/sdk/__init__.py | 20 +- snet/sdk/client_lib_generator.py | 3 +- snet/sdk/resources/proto/merckledag.proto | 17 - snet/sdk/resources/proto/merckledag_pb2.py | 27 - .../resources/proto/merckledag_pb2_grpc.py | 4 - snet/sdk/resources/proto/training.proto | 180 ++++--- .../training.proto} | 4 +- .../proto/training/training_v2.proto | 124 ----- .../sdk/resources/proto/training_daemon.proto | 46 +- .../resources/proto/training_daemon_pb2.py | 58 +-- .../proto/training_daemon_pb2_grpc.py | 106 ++-- snet/sdk/resources/proto/training_pb2.py | 44 +- snet/sdk/resources/proto/training_pb2_grpc.py | 237 ++++++--- snet/sdk/resources/proto/training_v2_pb2.py | 43 -- .../resources/proto/training_v2_pb2_grpc.py | 310 ----------- snet/sdk/resources/proto/unixfs.proto | 25 - snet/sdk/resources/proto/unixfs_pb2.py | 29 -- snet/sdk/resources/proto/unixfs_pb2_grpc.py | 4 - snet/sdk/service_client.py | 32 +- snet/sdk/training/training.py | 492 +++++++++++++----- snet/sdk/training/training_v2.py | 367 ------------- snet/sdk/utils/utils.py | 4 +- tests/unit_tests/test_files.zip | Bin 0 -> 25855000 bytes tests/unit_tests/test_training_v2.py | 48 ++ 25 files changed, 935 insertions(+), 1385 deletions(-) create mode 100644 examples/training_service.py delete mode 100644 snet/sdk/resources/proto/merckledag.proto delete mode 100644 snet/sdk/resources/proto/merckledag_pb2.py delete mode 100644 snet/sdk/resources/proto/merckledag_pb2_grpc.py rename snet/sdk/resources/proto/{training_v2.proto => training/training.proto} (97%) delete mode 100644 snet/sdk/resources/proto/training/training_v2.proto delete mode 100644 snet/sdk/resources/proto/training_v2_pb2.py delete mode 100644 snet/sdk/resources/proto/training_v2_pb2_grpc.py delete mode 100644 snet/sdk/resources/proto/unixfs.proto delete mode 100644 snet/sdk/resources/proto/unixfs_pb2.py delete mode 100644 snet/sdk/resources/proto/unixfs_pb2_grpc.py delete mode 100644 snet/sdk/training/training_v2.py create mode 100644 tests/unit_tests/test_files.zip create mode 100644 tests/unit_tests/test_training_v2.py diff --git a/examples/training_service.py b/examples/training_service.py new file mode 100644 index 0000000..9212093 --- /dev/null +++ b/examples/training_service.py @@ -0,0 +1,96 @@ +import time + +from snet import sdk +from snet.sdk.training.responses import ModelStatus + + +PRIVATE_KEY = "YOUR_PRIVATE_KEY" +INFURA_KEY = "YOUR_INFURA_KEY" + + +def main(): + config = sdk.config.Config(private_key=PRIVATE_KEY, + eth_rpc_endpoint=f"https://sepolia.infura.io/v3/{INFURA_KEY}", + concurrency=False) + + org_id = "ORG_ID" + service_id = "SERVICE_ID" + group_name = "GROUP_NAME" + + snet_sdk = sdk.SnetSDK(config) + service_client = snet_sdk.create_service_client(org_id=org_id, + service_id=service_id, + group_name=group_name) + + grpc_method_name = "tts" + + new_model_data = service_client.training.create_model("stt", "test_model") + model_id = new_model_data.model_id + model_status = new_model_data.status + print(f"\nModel ID: {model_id}, model status: {model_status}") + ... + + # method_metadata = service_client.training.get_method_metadata("", model_id) + # print(f"\nMethod metadata:\n {method_metadata}") + # ... + + validate_price = service_client.training.validate_model_price(model_id) + print(f"\nValidate price: {validate_price}") + ... + + # method_metadata = service_client.training.get_method_metadata(method_name, model_id) + # method_metadata = service_client.training.get_method_metadata("stt") + # print(f"\nMethod metadata:\n {method_metadata}") + # ... + + zip_path = "C:/Users/Arondondon/Desktop/test_files/test_dataset.zip" + model_status = service_client.training.upload_and_validate(model_id, zip_path, validate_price) + print(f"\nModel status: {model_status}") + ... + + models = [model for model in service_client.training.get_all_models() if model.model_id == model_id] + status = models[0].status + print(f"\nModel status: {status}") + while status != ModelStatus.VALIDATED: + time.sleep(1) + models = [model for model in service_client.training.get_all_models() if model.model_id == model_id] + status = models[0].status + print(f"\nModel status: {status}") + ... + + train_price = service_client.training.train_model_price(model_id) + print(f"\nTrain price: {train_price}") + ... + + model_status = service_client.training.train_model(model_id, train_price) + print(f"\nModel status: {model_status}") + ... + + models = [model for model in service_client.training.get_all_models() if model.model_id == model_id] + status = models[0].status + print(f"\nModel status: {status}") + while status != ModelStatus.READY_TO_USE: + time.sleep(1) + models = [model for model in service_client.training.get_all_models() if model.model_id == model_id] + status = models[0].status + print(f"\nModel status: {status}") + ... + + model_data = service_client.training.get_model(model_id) + print(f"\nModel data: {model_data}") + ... + + # model_data = service_client.training.update_model(model_id, description="lalala") + # print(f"\nModel data: {model_data}") + # + # models = service_client.training.get_all_models() + # print("\nModels:", *models, sep="\n") + # ... + + # model_status = service_client.training.delete_model(model_id) + # print(f"\nModel status: {model_status}") + # ... + + +if __name__ == "__main__": + main() diff --git a/snet/sdk/__init__.py b/snet/sdk/__init__.py index 9418843..e15b75c 100644 --- a/snet/sdk/__init__.py +++ b/snet/sdk/__init__.py @@ -117,6 +117,7 @@ def create_service_client(self, keyword="pb2_grpc.py", exclude=["training"]) if not pb_2_file_name or not pb_2_grpc_file_name: + print("Generating client library...") self.lib_generator.generate_client_library() if payment_strategy is None: @@ -141,11 +142,11 @@ def create_service_client(self, ) group = self._get_service_group_details(service_metadata, group_name) - service_stub = self.get_service_stub() + service_stubs = self.get_service_stub() pb2_module = self.get_module_by_keyword(keyword="pb2.py") _service_client = ServiceClient(org_id, service_id, service_metadata, - group, service_stub, payment_strategy, + group, service_stubs, payment_strategy, options, self.mpe_contract, self.account, self.web3, pb2_module, self.payment_channel_provider, @@ -153,17 +154,22 @@ def create_service_client(self, self.lib_generator.training_added()) return _service_client - def get_service_stub(self) -> ServiceStub: + def get_service_stub(self) -> list[ServiceStub]: path_to_pb_files = str(self.lib_generator.protodir) module_name = self.get_module_by_keyword(keyword="pb2_grpc.py") sys.path.append(path_to_pb_files) try: grpc_file = importlib.import_module(module_name) properties_and_methods_of_grpc_file = dir(grpc_file) - class_stub = [elem for elem in properties_and_methods_of_grpc_file - if 'Stub' in elem][0] - service_stub = getattr(grpc_file, class_stub) - return ServiceStub(service_stub) + print() + print(*properties_and_methods_of_grpc_file) + service_stubs = [] + for elem in properties_and_methods_of_grpc_file: + if 'Stub' in elem: + service_stubs.append(getattr(grpc_file, elem)) + print(*dir(getattr(grpc_file, elem))) + return [ServiceStub(service_stub) for service_stub in service_stubs] + except Exception as e: raise Exception(f"Error importing module: {e}") diff --git a/snet/sdk/client_lib_generator.py b/snet/sdk/client_lib_generator.py index 031a0f9..6d98e0b 100644 --- a/snet/sdk/client_lib_generator.py +++ b/snet/sdk/client_lib_generator.py @@ -23,6 +23,7 @@ def generate_client_library(self) -> None: codegen_dir=self.protodir, target_language=self.language, add_training=self.training_added()) + print(f'compilation result: {compilation_result}') if compilation_result: print(f'client libraries for service with id "{self.service_id}" ' f'in org with id "{self.org_id}" ' @@ -68,6 +69,6 @@ def training_added(self) -> bool: files = os.listdir(self.protodir) with open(self.protodir.joinpath(files[0]), "r") as f: proto_text = f.read() - if 'import "training_v2.proto";' in proto_text: + if 'import "training.proto";' in proto_text: return True return False diff --git a/snet/sdk/resources/proto/merckledag.proto b/snet/sdk/resources/proto/merckledag.proto deleted file mode 100644 index 5af078a..0000000 --- a/snet/sdk/resources/proto/merckledag.proto +++ /dev/null @@ -1,17 +0,0 @@ -syntax = "proto2"; -// An IPFS MerkleDAG Link -message MerkleLink { - required bytes Hash = 1; // multihash of the target object - required string Name = 2; // utf string name - required uint64 Tsize = 3; // cumulative size of target object - - // user extensions start at 50 -} - -// An IPFS MerkleDAG Node -message MerkleNode { - repeated MerkleLink Links = 2; // refs to other objects - required bytes Data = 1; // opaque user data - - // user extensions start at 50 -} \ No newline at end of file diff --git a/snet/sdk/resources/proto/merckledag_pb2.py b/snet/sdk/resources/proto/merckledag_pb2.py deleted file mode 100644 index c47ebb5..0000000 --- a/snet/sdk/resources/proto/merckledag_pb2.py +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: merckledag.proto -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10merckledag.proto\"7\n\nMerkleLink\x12\x0c\n\x04Hash\x18\x01 \x02(\x0c\x12\x0c\n\x04Name\x18\x02 \x02(\t\x12\r\n\x05Tsize\x18\x03 \x02(\x04\"6\n\nMerkleNode\x12\x1a\n\x05Links\x18\x02 \x03(\x0b\x32\x0b.MerkleLink\x12\x0c\n\x04\x44\x61ta\x18\x01 \x02(\x0c') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'merckledag_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - _globals['_MERKLELINK']._serialized_start=20 - _globals['_MERKLELINK']._serialized_end=75 - _globals['_MERKLENODE']._serialized_start=77 - _globals['_MERKLENODE']._serialized_end=131 -# @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/merckledag_pb2_grpc.py b/snet/sdk/resources/proto/merckledag_pb2_grpc.py deleted file mode 100644 index 2daafff..0000000 --- a/snet/sdk/resources/proto/merckledag_pb2_grpc.py +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - diff --git a/snet/sdk/resources/proto/training.proto b/snet/sdk/resources/proto/training.proto index 86b3074..4d2b368 100644 --- a/snet/sdk/resources/proto/training.proto +++ b/snet/sdk/resources/proto/training.proto @@ -1,112 +1,124 @@ syntax = "proto3"; -import "google/protobuf/descriptor.proto"; +import "google/protobuf/descriptor.proto"; // Required for indicators to work package training; -option go_package = "../training"; -//Please note that the AI developers need to provide a server implementation of the gprc server of this proto. -message ModelDetails { - //This Id will be generated when you invoke the create_model method and hence doesnt need to be filled when you - //invoke the create model - string model_id = 1; - //define the training method name - string grpc_method_name = 2; - //define the grpc service name , under which the method is defined - string grpc_service_name = 3; - string description = 4; - - string status = 6; - string updated_date = 7; - //List of all the addresses that will have access to this model - repeated string address_list = 8; - // this is optional - string training_data_link = 9; - string model_name = 10; +option go_package = "github.com/singnet/snet-daemon/v5/training"; +// Methods that the service provider must implement +service Model { - string organization_id = 11; - string service_id = 12 ; - string group_id = 13; + // Free + // Can pass the address of the model creator + rpc create_model(NewModel) returns (ModelID) {} - //set this to true if you want your model to be used by other AI consumers - bool is_publicly_accessible = 14; + // Free + rpc validate_model_price(ValidateRequest) returns (PriceInBaseUnit) {} -} + // Paid + rpc upload_and_validate(stream UploadInput) returns (StatusResponse) {} -message AuthorizationDetails { - uint64 current_block = 1; - //Signer can fill in any message here - string message = 2; - //signature of the following message: - //("user specified message", user_address, current_block_number) - bytes signature = 3; - string signer_address = 4; + // Paid + rpc validate_model(ValidateRequest) returns (StatusResponse) {} -} + // Free, one signature for both train_model_price & train_model methods + rpc train_model_price(ModelID) returns (PriceInBaseUnit) {} -enum Status { - CREATED = 0; - IN_PROGRESS = 1; - ERRORED = 2; - COMPLETED = 3; - DELETED = 4; -} + // Paid + rpc train_model(ModelID) returns (StatusResponse) {} -message CreateModelRequest { - AuthorizationDetails authorization = 1; - ModelDetails model_details = 2; -} + // Free + rpc delete_model(ModelID) returns (StatusResponse) { + // After model deletion, the status becomes DELETED in etcd + } -//the signer address will get to know all the models associated with this address. -message AccessibleModelsRequest { - string grpc_method_name = 1; - string grpc_service_name = 2; - AuthorizationDetails authorization = 3; + // Free + rpc get_model_status(ModelID) returns (StatusResponse) {} } -message AccessibleModelsResponse { - repeated ModelDetails list_of_models = 1; -} +message ModelResponse { + string model_id = 1; + Status status = 2; + string updated_date = 3; + string name = 4; + string description = 5; + string grpc_method_name = 6; + string grpc_service_name = 7; + + // List of all addresses that will have access to this model + repeated string address_list = 8; -message ModelDetailsRequest { - ModelDetails model_details = 1 ; - AuthorizationDetails authorization = 2; + // Access to the model is granted only for use and viewing + bool is_public = 9; + + string training_data_link = 10; } -//helps determine which service end point to call for model training -//format is of type "packageName/serviceName/MethodName", Example :"/example_service.Calculator/estimate_add" -//Daemon will invoke the model training end point , when the below method option is specified -message TrainingMethodOption { - string trainingMethodIndicator = 1; +// Used as input for new_model requests +// The service provider decides whether to use these fields; returning model_id is mandatory +message NewModel { + string name = 1; + string description = 2; + string grpc_method_name = 3; + string grpc_service_name = 4; + + // List of all addresses that will have access to this model + repeated string address_list = 5; + + // Set this to true if you want your model to be accessible by other AI consumers + bool is_public = 6; + + // These parameters will be passed by the daemon + string organization_id = 7; + string service_id = 8; + string group_id = 9; } -extend google.protobuf.MethodOptions { - TrainingMethodOption my_method_option = 9999197; +// This structure must be used by the service provider +message ModelID { + string model_id = 1; } -message UpdateModelRequest { - ModelDetails update_model_details = 1 ; - AuthorizationDetails authorization = 2; +// This structure must be used by the service provider +// Used in the train_model_price method to get the training/validation price +message PriceInBaseUnit { + uint64 price = 1; // cogs, weis, afet, aasi, etc. } +enum Status { + CREATED = 0; + VALIDATING = 1; + VALIDATED = 2; + TRAINING = 3; + READY_TO_USE = 4; // After training is completed + ERRORED = 5; + DELETED = 6; +} -message ModelDetailsResponse { +message StatusResponse { Status status = 1; - ModelDetails model_details = 2; - } -service Model { - - // The AI developer needs to Implement this service and Daemon will call these - // There will be no cost borne by the consumer in calling these methods, - // Pricing will apply when you actually call the training methods defined. - // AI consumer will call all these methods - rpc create_model(CreateModelRequest) returns (ModelDetailsResponse) {} - rpc delete_model(UpdateModelRequest) returns (ModelDetailsResponse) {} - rpc get_model_status(ModelDetailsRequest) returns (ModelDetailsResponse) {} - - // Daemon will implement , however the AI developer should skip implementing these and just provide dummy code. - rpc update_model_access(UpdateModelRequest) returns (ModelDetailsResponse) {} - rpc get_all_models(AccessibleModelsRequest) returns (AccessibleModelsResponse) {} +message UploadInput { + string model_id = 1; + bytes data = 2; + string file_name = 3; + uint64 file_size = 4; // in bytes + uint64 batch_size = 5; + uint64 batch_number = 6; + uint64 batch_count = 7; +} +message ValidateRequest { + string model_id = 2; + string training_data_link = 3; +} -} \ No newline at end of file +extend google.protobuf.MethodOptions { + string default_model_id = 50001; + uint64 max_models_per_user = 50002; // max models per method & user + uint64 dataset_max_size_mb = 50003; // max size of dataset + uint64 dataset_max_count_files = 50004; // maximum number of files in the dataset + uint64 dataset_max_size_single_file_mb = 50005; // maximum size of a single file in the dataset + string dataset_files_type = 50006; // allowed files types in dataset. string with array or single value, example: jpg, png, mp3 + string dataset_type = 50007; // string with array or single value, example: zip, tar.gz, tar + string dataset_description = 50008; // additional free-form requirements +} diff --git a/snet/sdk/resources/proto/training_v2.proto b/snet/sdk/resources/proto/training/training.proto similarity index 97% rename from snet/sdk/resources/proto/training_v2.proto rename to snet/sdk/resources/proto/training/training.proto index 66007a2..4d2b368 100644 --- a/snet/sdk/resources/proto/training_v2.proto +++ b/snet/sdk/resources/proto/training/training.proto @@ -1,7 +1,7 @@ syntax = "proto3"; import "google/protobuf/descriptor.proto"; // Required for indicators to work -package trainingV2; -option go_package = "../training"; +package training; +option go_package = "github.com/singnet/snet-daemon/v5/training"; // Methods that the service provider must implement service Model { diff --git a/snet/sdk/resources/proto/training/training_v2.proto b/snet/sdk/resources/proto/training/training_v2.proto deleted file mode 100644 index 66007a2..0000000 --- a/snet/sdk/resources/proto/training/training_v2.proto +++ /dev/null @@ -1,124 +0,0 @@ -syntax = "proto3"; -import "google/protobuf/descriptor.proto"; // Required for indicators to work -package trainingV2; -option go_package = "../training"; - -// Methods that the service provider must implement -service Model { - - // Free - // Can pass the address of the model creator - rpc create_model(NewModel) returns (ModelID) {} - - // Free - rpc validate_model_price(ValidateRequest) returns (PriceInBaseUnit) {} - - // Paid - rpc upload_and_validate(stream UploadInput) returns (StatusResponse) {} - - // Paid - rpc validate_model(ValidateRequest) returns (StatusResponse) {} - - // Free, one signature for both train_model_price & train_model methods - rpc train_model_price(ModelID) returns (PriceInBaseUnit) {} - - // Paid - rpc train_model(ModelID) returns (StatusResponse) {} - - // Free - rpc delete_model(ModelID) returns (StatusResponse) { - // After model deletion, the status becomes DELETED in etcd - } - - // Free - rpc get_model_status(ModelID) returns (StatusResponse) {} -} - -message ModelResponse { - string model_id = 1; - Status status = 2; - string updated_date = 3; - string name = 4; - string description = 5; - string grpc_method_name = 6; - string grpc_service_name = 7; - - // List of all addresses that will have access to this model - repeated string address_list = 8; - - // Access to the model is granted only for use and viewing - bool is_public = 9; - - string training_data_link = 10; -} - -// Used as input for new_model requests -// The service provider decides whether to use these fields; returning model_id is mandatory -message NewModel { - string name = 1; - string description = 2; - string grpc_method_name = 3; - string grpc_service_name = 4; - - // List of all addresses that will have access to this model - repeated string address_list = 5; - - // Set this to true if you want your model to be accessible by other AI consumers - bool is_public = 6; - - // These parameters will be passed by the daemon - string organization_id = 7; - string service_id = 8; - string group_id = 9; -} - -// This structure must be used by the service provider -message ModelID { - string model_id = 1; -} - -// This structure must be used by the service provider -// Used in the train_model_price method to get the training/validation price -message PriceInBaseUnit { - uint64 price = 1; // cogs, weis, afet, aasi, etc. -} - -enum Status { - CREATED = 0; - VALIDATING = 1; - VALIDATED = 2; - TRAINING = 3; - READY_TO_USE = 4; // After training is completed - ERRORED = 5; - DELETED = 6; -} - -message StatusResponse { - Status status = 1; -} - -message UploadInput { - string model_id = 1; - bytes data = 2; - string file_name = 3; - uint64 file_size = 4; // in bytes - uint64 batch_size = 5; - uint64 batch_number = 6; - uint64 batch_count = 7; -} - -message ValidateRequest { - string model_id = 2; - string training_data_link = 3; -} - -extend google.protobuf.MethodOptions { - string default_model_id = 50001; - uint64 max_models_per_user = 50002; // max models per method & user - uint64 dataset_max_size_mb = 50003; // max size of dataset - uint64 dataset_max_count_files = 50004; // maximum number of files in the dataset - uint64 dataset_max_size_single_file_mb = 50005; // maximum size of a single file in the dataset - string dataset_files_type = 50006; // allowed files types in dataset. string with array or single value, example: jpg, png, mp3 - string dataset_type = 50007; // string with array or single value, example: zip, tar.gz, tar - string dataset_description = 50008; // additional free-form requirements -} diff --git a/snet/sdk/resources/proto/training_daemon.proto b/snet/sdk/resources/proto/training_daemon.proto index e86ff30..b535f31 100644 --- a/snet/sdk/resources/proto/training_daemon.proto +++ b/snet/sdk/resources/proto/training_daemon.proto @@ -1,10 +1,11 @@ syntax = "proto3"; -package training_daemon; +package training; + import "google/protobuf/descriptor.proto"; // Required for indicators to work import "google/protobuf/struct.proto"; // Required for google.protobuf.ListValue -import "training_v2.proto"; -option go_package = "../training"; +import "training.proto"; import "google/protobuf/empty.proto"; +option go_package = "github.com/singnet/snet-daemon/v5/training"; message AuthorizationDetails { uint64 current_block = 1; // Check for relevance within a range of +/- N blocks @@ -18,7 +19,7 @@ message AuthorizationDetails { message NewModelRequest { AuthorizationDetails authorization = 1; - trainingV2.NewModel model = 2; + training.NewModel model = 2; } message AuthValidateRequest { @@ -29,7 +30,7 @@ message AuthValidateRequest { message UploadAndValidateRequest { AuthorizationDetails authorization = 1; - trainingV2.UploadInput upload_input = 2; + training.UploadInput upload_input = 2; } message CommonRequest { @@ -46,38 +47,38 @@ message UpdateModelRequest { } message ModelsResponse { - repeated trainingV2.ModelResponse list_of_models = 1; + repeated training.ModelResponse list_of_models = 1; } // These methods are implemented only by the daemon; the service provider should ignore them service Daemon { // Free - rpc create_model(NewModelRequest) returns (trainingV2.ModelResponse) {} + rpc create_model(NewModelRequest) returns (training.ModelResponse) {} // Free - rpc validate_model_price(AuthValidateRequest) returns (trainingV2.PriceInBaseUnit) {} + rpc validate_model_price(AuthValidateRequest) returns (training.PriceInBaseUnit) {} // Paid - rpc upload_and_validate(stream UploadAndValidateRequest) returns (trainingV2.StatusResponse) {} + rpc upload_and_validate(stream UploadAndValidateRequest) returns (training.StatusResponse) {} // Paid - rpc validate_model(AuthValidateRequest) returns (trainingV2.StatusResponse) {} + rpc validate_model(AuthValidateRequest) returns (training.StatusResponse) {} // Free, one signature for both train_model_price & train_model methods - rpc train_model_price(CommonRequest) returns (trainingV2.PriceInBaseUnit) {} + rpc train_model_price(CommonRequest) returns (training.PriceInBaseUnit) {} // Paid - rpc train_model(CommonRequest) returns (trainingV2.StatusResponse) {} + rpc train_model(CommonRequest) returns (training.StatusResponse) {} // Free // After deleting the model, the status becomes DELETED in etcd - rpc delete_model(CommonRequest) returns (trainingV2.StatusResponse) {} + rpc delete_model(CommonRequest) returns (training.StatusResponse) {} rpc get_all_models(AllModelsRequest) returns (ModelsResponse) {} - rpc get_model(CommonRequest) returns (trainingV2.ModelResponse) {} + rpc get_model(CommonRequest) returns (training.ModelResponse) {} - rpc update_model(UpdateModelRequest) returns (trainingV2.ModelResponse) {} + rpc update_model(UpdateModelRequest) returns (training.ModelResponse) {} // Unique methods by daemon // One signature for all getters @@ -96,12 +97,15 @@ message MethodMetadataRequest { message AllModelsRequest { AuthorizationDetails authorization = 1; - // Filters - trainingV2.Status status = 2; - bool is_public = 3; - string name = 4; // Search by name - uint64 page_size = 5; // Pagination - uint64 page = 6; + // filters: + repeated training.Status statuses = 3; + optional bool is_public = 4; // null - all, false - only private, true - only public models + string grpc_method_name = 5; + string grpc_service_name = 6; + string name = 7; + string created_by_address = 8; + uint64 page_size = 9; + uint64 page = 10; } message TrainingMetadata { diff --git a/snet/sdk/resources/proto/training_daemon_pb2.py b/snet/sdk/resources/proto/training_daemon_pb2.py index 2f45c91..02c9eb3 100644 --- a/snet/sdk/resources/proto/training_daemon_pb2.py +++ b/snet/sdk/resources/proto/training_daemon_pb2.py @@ -13,44 +13,44 @@ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -import training_v2_pb2 as training__v2__pb2 +import training_pb2 as training__pb2 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15training_daemon.proto\x12\x0ftraining_daemon\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x11training_v2.proto\x1a\x1bgoogle/protobuf/empty.proto\"i\n\x14\x41uthorizationDetails\x12\x15\n\rcurrent_block\x18\x01 \x01(\x04\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x16\n\x0esigner_address\x18\x04 \x01(\t\"t\n\x0fNewModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12#\n\x05model\x18\x02 \x01(\x0b\x32\x14.trainingV2.NewModel\"\x81\x01\n\x13\x41uthValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t\"\x87\x01\n\x18UploadAndValidateRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12-\n\x0cupload_input\x18\x02 \x01(\x0b\x32\x17.trainingV2.UploadInput\"_\n\rCommonRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\"\xa3\x01\n\x12UpdateModelRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x12\n\nmodel_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\"C\n\x0eModelsResponse\x12\x31\n\x0elist_of_models\x18\x01 \x03(\x0b\x32\x19.trainingV2.ModelResponse\"^\n\x15MethodMetadataRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x02 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x03 \x01(\t\"\xb6\x01\n\x10\x41llModelsRequest\x12<\n\rauthorization\x18\x01 \x01(\x0b\x32%.training_daemon.AuthorizationDetails\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x11\n\tis_public\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x11\n\tpage_size\x18\x05 \x01(\x04\x12\x0c\n\x04page\x18\x06 \x01(\x04\"\xe9\x01\n\x10TrainingMetadata\x12\x17\n\x0ftrainingEnabled\x18\x01 \x01(\x08\x12\x17\n\x0ftrainingInProto\x18\x02 \x01(\x08\x12O\n\x0ftrainingMethods\x18\x03 \x03(\x0b\x32\x36.training_daemon.TrainingMetadata.TrainingMethodsEntry\x1aR\n\x14TrainingMethodsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValue:\x02\x38\x01\"\x8d\x02\n\x0eMethodMetadata\x12\x1a\n\x10\x64\x65\x66\x61ult_model_id\x18\xd1\x86\x03 \x01(\t\x12\x1d\n\x13max_models_per_user\x18\xd2\x86\x03 \x01(\x04\x12\x1d\n\x13\x64\x61taset_max_size_mb\x18\xd3\x86\x03 \x01(\x04\x12!\n\x17\x64\x61taset_max_count_files\x18\xd4\x86\x03 \x01(\x04\x12)\n\x1f\x64\x61taset_max_size_single_file_mb\x18\xd5\x86\x03 \x01(\x04\x12\x1c\n\x12\x64\x61taset_files_type\x18\xd6\x86\x03 \x01(\t\x12\x16\n\x0c\x64\x61taset_type\x18\xd7\x86\x03 \x01(\t\x12\x1d\n\x13\x64\x61taset_description\x18\xd8\x86\x03 \x01(\t2\x87\x08\n\x06\x44\x61\x65mon\x12M\n\x0c\x63reate_model\x12 .training_daemon.NewModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12[\n\x14validate_model_price\x12$.training_daemon.AuthValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12`\n\x13upload_and_validate\x12).training_daemon.UploadAndValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12T\n\x0evalidate_model\x12$.training_daemon.AuthValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12R\n\x11train_model_price\x12\x1e.training_daemon.CommonRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12K\n\x0btrain_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12L\n\x0c\x64\x65lete_model\x12\x1e.training_daemon.CommonRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12V\n\x0eget_all_models\x12!.training_daemon.AllModelsRequest\x1a\x1f.training_daemon.ModelsResponse\"\x00\x12H\n\tget_model\x12\x1e.training_daemon.CommonRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12P\n\x0cupdate_model\x12#.training_daemon.UpdateModelRequest\x1a\x19.trainingV2.ModelResponse\"\x00\x12T\n\x15get_training_metadata\x12\x16.google.protobuf.Empty\x1a!.training_daemon.TrainingMetadata\"\x00\x12`\n\x13get_method_metadata\x12&.training_daemon.MethodMetadataRequest\x1a\x1f.training_daemon.MethodMetadata\"\x00\x42\rZ\x0b../trainingb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15training_daemon.proto\x12\x08training\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x0etraining.proto\x1a\x1bgoogle/protobuf/empty.proto\"i\n\x14\x41uthorizationDetails\x12\x15\n\rcurrent_block\x18\x01 \x01(\x04\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x16\n\x0esigner_address\x18\x04 \x01(\t\"k\n\x0fNewModelRequest\x12\x35\n\rauthorization\x18\x01 \x01(\x0b\x32\x1e.training.AuthorizationDetails\x12!\n\x05model\x18\x02 \x01(\x0b\x32\x12.training.NewModel\"z\n\x13\x41uthValidateRequest\x12\x35\n\rauthorization\x18\x01 \x01(\x0b\x32\x1e.training.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t\"~\n\x18UploadAndValidateRequest\x12\x35\n\rauthorization\x18\x01 \x01(\x0b\x32\x1e.training.AuthorizationDetails\x12+\n\x0cupload_input\x18\x02 \x01(\x0b\x32\x15.training.UploadInput\"X\n\rCommonRequest\x12\x35\n\rauthorization\x18\x01 \x01(\x0b\x32\x1e.training.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\"\x9c\x01\n\x12UpdateModelRequest\x12\x35\n\rauthorization\x18\x01 \x01(\x0b\x32\x1e.training.AuthorizationDetails\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x12\n\nmodel_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\"A\n\x0eModelsResponse\x12/\n\x0elist_of_models\x18\x01 \x03(\x0b\x32\x17.training.ModelResponse\"^\n\x15MethodMetadataRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x02 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x03 \x01(\t\"\x93\x02\n\x10\x41llModelsRequest\x12\x35\n\rauthorization\x18\x01 \x01(\x0b\x32\x1e.training.AuthorizationDetails\x12\"\n\x08statuses\x18\x03 \x03(\x0e\x32\x10.training.Status\x12\x16\n\tis_public\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x10grpc_method_name\x18\x05 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x06 \x01(\t\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x1a\n\x12\x63reated_by_address\x18\x08 \x01(\t\x12\x11\n\tpage_size\x18\t \x01(\x04\x12\x0c\n\x04page\x18\n \x01(\x04\x42\x0c\n\n_is_public\"\xe2\x01\n\x10TrainingMetadata\x12\x17\n\x0ftrainingEnabled\x18\x01 \x01(\x08\x12\x17\n\x0ftrainingInProto\x18\x02 \x01(\x08\x12H\n\x0ftrainingMethods\x18\x03 \x03(\x0b\x32/.training.TrainingMetadata.TrainingMethodsEntry\x1aR\n\x14TrainingMethodsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValue:\x02\x38\x01\"\x8d\x02\n\x0eMethodMetadata\x12\x1a\n\x10\x64\x65\x66\x61ult_model_id\x18\xd1\x86\x03 \x01(\t\x12\x1d\n\x13max_models_per_user\x18\xd2\x86\x03 \x01(\x04\x12\x1d\n\x13\x64\x61taset_max_size_mb\x18\xd3\x86\x03 \x01(\x04\x12!\n\x17\x64\x61taset_max_count_files\x18\xd4\x86\x03 \x01(\x04\x12)\n\x1f\x64\x61taset_max_size_single_file_mb\x18\xd5\x86\x03 \x01(\x04\x12\x1c\n\x12\x64\x61taset_files_type\x18\xd6\x86\x03 \x01(\t\x12\x16\n\x0c\x64\x61taset_type\x18\xd7\x86\x03 \x01(\t\x12\x1d\n\x13\x64\x61taset_description\x18\xd8\x86\x03 \x01(\t2\x93\x07\n\x06\x44\x61\x65mon\x12\x44\n\x0c\x63reate_model\x12\x19.training.NewModelRequest\x1a\x17.training.ModelResponse\"\x00\x12R\n\x14validate_model_price\x12\x1d.training.AuthValidateRequest\x1a\x19.training.PriceInBaseUnit\"\x00\x12W\n\x13upload_and_validate\x12\".training.UploadAndValidateRequest\x1a\x18.training.StatusResponse\"\x00(\x01\x12K\n\x0evalidate_model\x12\x1d.training.AuthValidateRequest\x1a\x18.training.StatusResponse\"\x00\x12I\n\x11train_model_price\x12\x17.training.CommonRequest\x1a\x19.training.PriceInBaseUnit\"\x00\x12\x42\n\x0btrain_model\x12\x17.training.CommonRequest\x1a\x18.training.StatusResponse\"\x00\x12\x43\n\x0c\x64\x65lete_model\x12\x17.training.CommonRequest\x1a\x18.training.StatusResponse\"\x00\x12H\n\x0eget_all_models\x12\x1a.training.AllModelsRequest\x1a\x18.training.ModelsResponse\"\x00\x12?\n\tget_model\x12\x17.training.CommonRequest\x1a\x17.training.ModelResponse\"\x00\x12G\n\x0cupdate_model\x12\x1c.training.UpdateModelRequest\x1a\x17.training.ModelResponse\"\x00\x12M\n\x15get_training_metadata\x12\x16.google.protobuf.Empty\x1a\x1a.training.TrainingMetadata\"\x00\x12R\n\x13get_method_metadata\x12\x1f.training.MethodMetadataRequest\x1a\x18.training.MethodMetadata\"\x00\x42,Z*github.com/singnet/snet-daemon/v5/trainingb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'training_daemon_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\013../training' + DESCRIPTOR._serialized_options = b'Z*github.com/singnet/snet-daemon/v5/training' _TRAININGMETADATA_TRAININGMETHODSENTRY._options = None _TRAININGMETADATA_TRAININGMETHODSENTRY._serialized_options = b'8\001' - _globals['_AUTHORIZATIONDETAILS']._serialized_start=154 - _globals['_AUTHORIZATIONDETAILS']._serialized_end=259 - _globals['_NEWMODELREQUEST']._serialized_start=261 - _globals['_NEWMODELREQUEST']._serialized_end=377 - _globals['_AUTHVALIDATEREQUEST']._serialized_start=380 - _globals['_AUTHVALIDATEREQUEST']._serialized_end=509 - _globals['_UPLOADANDVALIDATEREQUEST']._serialized_start=512 - _globals['_UPLOADANDVALIDATEREQUEST']._serialized_end=647 - _globals['_COMMONREQUEST']._serialized_start=649 - _globals['_COMMONREQUEST']._serialized_end=744 - _globals['_UPDATEMODELREQUEST']._serialized_start=747 - _globals['_UPDATEMODELREQUEST']._serialized_end=910 - _globals['_MODELSRESPONSE']._serialized_start=912 - _globals['_MODELSRESPONSE']._serialized_end=979 - _globals['_METHODMETADATAREQUEST']._serialized_start=981 - _globals['_METHODMETADATAREQUEST']._serialized_end=1075 - _globals['_ALLMODELSREQUEST']._serialized_start=1078 - _globals['_ALLMODELSREQUEST']._serialized_end=1260 - _globals['_TRAININGMETADATA']._serialized_start=1263 - _globals['_TRAININGMETADATA']._serialized_end=1496 - _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_start=1414 - _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_end=1496 - _globals['_METHODMETADATA']._serialized_start=1499 - _globals['_METHODMETADATA']._serialized_end=1768 - _globals['_DAEMON']._serialized_start=1771 - _globals['_DAEMON']._serialized_end=2802 + _globals['_AUTHORIZATIONDETAILS']._serialized_start=144 + _globals['_AUTHORIZATIONDETAILS']._serialized_end=249 + _globals['_NEWMODELREQUEST']._serialized_start=251 + _globals['_NEWMODELREQUEST']._serialized_end=358 + _globals['_AUTHVALIDATEREQUEST']._serialized_start=360 + _globals['_AUTHVALIDATEREQUEST']._serialized_end=482 + _globals['_UPLOADANDVALIDATEREQUEST']._serialized_start=484 + _globals['_UPLOADANDVALIDATEREQUEST']._serialized_end=610 + _globals['_COMMONREQUEST']._serialized_start=612 + _globals['_COMMONREQUEST']._serialized_end=700 + _globals['_UPDATEMODELREQUEST']._serialized_start=703 + _globals['_UPDATEMODELREQUEST']._serialized_end=859 + _globals['_MODELSRESPONSE']._serialized_start=861 + _globals['_MODELSRESPONSE']._serialized_end=926 + _globals['_METHODMETADATAREQUEST']._serialized_start=928 + _globals['_METHODMETADATAREQUEST']._serialized_end=1022 + _globals['_ALLMODELSREQUEST']._serialized_start=1025 + _globals['_ALLMODELSREQUEST']._serialized_end=1300 + _globals['_TRAININGMETADATA']._serialized_start=1303 + _globals['_TRAININGMETADATA']._serialized_end=1529 + _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_start=1447 + _globals['_TRAININGMETADATA_TRAININGMETHODSENTRY']._serialized_end=1529 + _globals['_METHODMETADATA']._serialized_start=1532 + _globals['_METHODMETADATA']._serialized_end=1801 + _globals['_DAEMON']._serialized_start=1804 + _globals['_DAEMON']._serialized_end=2719 # @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/training_daemon_pb2_grpc.py b/snet/sdk/resources/proto/training_daemon_pb2_grpc.py index 48c65f8..24378b1 100644 --- a/snet/sdk/resources/proto/training_daemon_pb2_grpc.py +++ b/snet/sdk/resources/proto/training_daemon_pb2_grpc.py @@ -4,7 +4,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 import training_daemon_pb2 as training__daemon__pb2 -import training_v2_pb2 as training__v2__pb2 +import training_pb2 as training__pb2 class DaemonStub(object): @@ -18,62 +18,62 @@ def __init__(self, channel): channel: A grpc.Channel. """ self.create_model = channel.unary_unary( - '/training_daemon.Daemon/create_model', + '/training.Daemon/create_model', request_serializer=training__daemon__pb2.NewModelRequest.SerializeToString, - response_deserializer=training__v2__pb2.ModelResponse.FromString, + response_deserializer=training__pb2.ModelResponse.FromString, ) self.validate_model_price = channel.unary_unary( - '/training_daemon.Daemon/validate_model_price', + '/training.Daemon/validate_model_price', request_serializer=training__daemon__pb2.AuthValidateRequest.SerializeToString, - response_deserializer=training__v2__pb2.PriceInBaseUnit.FromString, + response_deserializer=training__pb2.PriceInBaseUnit.FromString, ) self.upload_and_validate = channel.stream_unary( - '/training_daemon.Daemon/upload_and_validate', + '/training.Daemon/upload_and_validate', request_serializer=training__daemon__pb2.UploadAndValidateRequest.SerializeToString, - response_deserializer=training__v2__pb2.StatusResponse.FromString, + response_deserializer=training__pb2.StatusResponse.FromString, ) self.validate_model = channel.unary_unary( - '/training_daemon.Daemon/validate_model', + '/training.Daemon/validate_model', request_serializer=training__daemon__pb2.AuthValidateRequest.SerializeToString, - response_deserializer=training__v2__pb2.StatusResponse.FromString, + response_deserializer=training__pb2.StatusResponse.FromString, ) self.train_model_price = channel.unary_unary( - '/training_daemon.Daemon/train_model_price', + '/training.Daemon/train_model_price', request_serializer=training__daemon__pb2.CommonRequest.SerializeToString, - response_deserializer=training__v2__pb2.PriceInBaseUnit.FromString, + response_deserializer=training__pb2.PriceInBaseUnit.FromString, ) self.train_model = channel.unary_unary( - '/training_daemon.Daemon/train_model', + '/training.Daemon/train_model', request_serializer=training__daemon__pb2.CommonRequest.SerializeToString, - response_deserializer=training__v2__pb2.StatusResponse.FromString, + response_deserializer=training__pb2.StatusResponse.FromString, ) self.delete_model = channel.unary_unary( - '/training_daemon.Daemon/delete_model', + '/training.Daemon/delete_model', request_serializer=training__daemon__pb2.CommonRequest.SerializeToString, - response_deserializer=training__v2__pb2.StatusResponse.FromString, + response_deserializer=training__pb2.StatusResponse.FromString, ) self.get_all_models = channel.unary_unary( - '/training_daemon.Daemon/get_all_models', + '/training.Daemon/get_all_models', request_serializer=training__daemon__pb2.AllModelsRequest.SerializeToString, response_deserializer=training__daemon__pb2.ModelsResponse.FromString, ) self.get_model = channel.unary_unary( - '/training_daemon.Daemon/get_model', + '/training.Daemon/get_model', request_serializer=training__daemon__pb2.CommonRequest.SerializeToString, - response_deserializer=training__v2__pb2.ModelResponse.FromString, + response_deserializer=training__pb2.ModelResponse.FromString, ) self.update_model = channel.unary_unary( - '/training_daemon.Daemon/update_model', + '/training.Daemon/update_model', request_serializer=training__daemon__pb2.UpdateModelRequest.SerializeToString, - response_deserializer=training__v2__pb2.ModelResponse.FromString, + response_deserializer=training__pb2.ModelResponse.FromString, ) self.get_training_metadata = channel.unary_unary( - '/training_daemon.Daemon/get_training_metadata', + '/training.Daemon/get_training_metadata', request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, response_deserializer=training__daemon__pb2.TrainingMetadata.FromString, ) self.get_method_metadata = channel.unary_unary( - '/training_daemon.Daemon/get_method_metadata', + '/training.Daemon/get_method_metadata', request_serializer=training__daemon__pb2.MethodMetadataRequest.SerializeToString, response_deserializer=training__daemon__pb2.MethodMetadata.FromString, ) @@ -172,37 +172,37 @@ def add_DaemonServicer_to_server(servicer, server): 'create_model': grpc.unary_unary_rpc_method_handler( servicer.create_model, request_deserializer=training__daemon__pb2.NewModelRequest.FromString, - response_serializer=training__v2__pb2.ModelResponse.SerializeToString, + response_serializer=training__pb2.ModelResponse.SerializeToString, ), 'validate_model_price': grpc.unary_unary_rpc_method_handler( servicer.validate_model_price, request_deserializer=training__daemon__pb2.AuthValidateRequest.FromString, - response_serializer=training__v2__pb2.PriceInBaseUnit.SerializeToString, + response_serializer=training__pb2.PriceInBaseUnit.SerializeToString, ), 'upload_and_validate': grpc.stream_unary_rpc_method_handler( servicer.upload_and_validate, request_deserializer=training__daemon__pb2.UploadAndValidateRequest.FromString, - response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + response_serializer=training__pb2.StatusResponse.SerializeToString, ), 'validate_model': grpc.unary_unary_rpc_method_handler( servicer.validate_model, request_deserializer=training__daemon__pb2.AuthValidateRequest.FromString, - response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + response_serializer=training__pb2.StatusResponse.SerializeToString, ), 'train_model_price': grpc.unary_unary_rpc_method_handler( servicer.train_model_price, request_deserializer=training__daemon__pb2.CommonRequest.FromString, - response_serializer=training__v2__pb2.PriceInBaseUnit.SerializeToString, + response_serializer=training__pb2.PriceInBaseUnit.SerializeToString, ), 'train_model': grpc.unary_unary_rpc_method_handler( servicer.train_model, request_deserializer=training__daemon__pb2.CommonRequest.FromString, - response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + response_serializer=training__pb2.StatusResponse.SerializeToString, ), 'delete_model': grpc.unary_unary_rpc_method_handler( servicer.delete_model, request_deserializer=training__daemon__pb2.CommonRequest.FromString, - response_serializer=training__v2__pb2.StatusResponse.SerializeToString, + response_serializer=training__pb2.StatusResponse.SerializeToString, ), 'get_all_models': grpc.unary_unary_rpc_method_handler( servicer.get_all_models, @@ -212,12 +212,12 @@ def add_DaemonServicer_to_server(servicer, server): 'get_model': grpc.unary_unary_rpc_method_handler( servicer.get_model, request_deserializer=training__daemon__pb2.CommonRequest.FromString, - response_serializer=training__v2__pb2.ModelResponse.SerializeToString, + response_serializer=training__pb2.ModelResponse.SerializeToString, ), 'update_model': grpc.unary_unary_rpc_method_handler( servicer.update_model, request_deserializer=training__daemon__pb2.UpdateModelRequest.FromString, - response_serializer=training__v2__pb2.ModelResponse.SerializeToString, + response_serializer=training__pb2.ModelResponse.SerializeToString, ), 'get_training_metadata': grpc.unary_unary_rpc_method_handler( servicer.get_training_metadata, @@ -231,7 +231,7 @@ def add_DaemonServicer_to_server(servicer, server): ), } generic_handler = grpc.method_handlers_generic_handler( - 'training_daemon.Daemon', rpc_method_handlers) + 'training.Daemon', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) @@ -251,9 +251,9 @@ def create_model(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/create_model', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/create_model', training__daemon__pb2.NewModelRequest.SerializeToString, - training__v2__pb2.ModelResponse.FromString, + training__pb2.ModelResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -268,9 +268,9 @@ def validate_model_price(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/validate_model_price', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/validate_model_price', training__daemon__pb2.AuthValidateRequest.SerializeToString, - training__v2__pb2.PriceInBaseUnit.FromString, + training__pb2.PriceInBaseUnit.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -285,9 +285,9 @@ def upload_and_validate(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_unary(request_iterator, target, '/training_daemon.Daemon/upload_and_validate', + return grpc.experimental.stream_unary(request_iterator, target, '/training.Daemon/upload_and_validate', training__daemon__pb2.UploadAndValidateRequest.SerializeToString, - training__v2__pb2.StatusResponse.FromString, + training__pb2.StatusResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -302,9 +302,9 @@ def validate_model(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/validate_model', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/validate_model', training__daemon__pb2.AuthValidateRequest.SerializeToString, - training__v2__pb2.StatusResponse.FromString, + training__pb2.StatusResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -319,9 +319,9 @@ def train_model_price(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/train_model_price', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/train_model_price', training__daemon__pb2.CommonRequest.SerializeToString, - training__v2__pb2.PriceInBaseUnit.FromString, + training__pb2.PriceInBaseUnit.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -336,9 +336,9 @@ def train_model(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/train_model', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/train_model', training__daemon__pb2.CommonRequest.SerializeToString, - training__v2__pb2.StatusResponse.FromString, + training__pb2.StatusResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -353,9 +353,9 @@ def delete_model(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/delete_model', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/delete_model', training__daemon__pb2.CommonRequest.SerializeToString, - training__v2__pb2.StatusResponse.FromString, + training__pb2.StatusResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -370,7 +370,7 @@ def get_all_models(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_all_models', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/get_all_models', training__daemon__pb2.AllModelsRequest.SerializeToString, training__daemon__pb2.ModelsResponse.FromString, options, channel_credentials, @@ -387,9 +387,9 @@ def get_model(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_model', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/get_model', training__daemon__pb2.CommonRequest.SerializeToString, - training__v2__pb2.ModelResponse.FromString, + training__pb2.ModelResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -404,9 +404,9 @@ def update_model(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/update_model', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/update_model', training__daemon__pb2.UpdateModelRequest.SerializeToString, - training__v2__pb2.ModelResponse.FromString, + training__pb2.ModelResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -421,7 +421,7 @@ def get_training_metadata(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_training_metadata', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/get_training_metadata', google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, training__daemon__pb2.TrainingMetadata.FromString, options, channel_credentials, @@ -438,7 +438,7 @@ def get_method_metadata(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training_daemon.Daemon/get_method_metadata', + return grpc.experimental.unary_unary(request, target, '/training.Daemon/get_method_metadata', training__daemon__pb2.MethodMetadataRequest.SerializeToString, training__daemon__pb2.MethodMetadata.FromString, options, channel_credentials, diff --git a/snet/sdk/resources/proto/training_pb2.py b/snet/sdk/resources/proto/training_pb2.py index 735e256..5f94b88 100644 --- a/snet/sdk/resources/proto/training_pb2.py +++ b/snet/sdk/resources/proto/training_pb2.py @@ -14,34 +14,30 @@ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0etraining.proto\x12\x08training\x1a google/protobuf/descriptor.proto\"\xb5\x02\n\x0cModelDetails\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x02 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x14\n\x0cupdated_date\x18\x07 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x08 \x03(\t\x12\x1a\n\x12training_data_link\x18\t \x01(\t\x12\x12\n\nmodel_name\x18\n \x01(\t\x12\x17\n\x0forganization_id\x18\x0b \x01(\t\x12\x12\n\nservice_id\x18\x0c \x01(\t\x12\x10\n\x08group_id\x18\r \x01(\t\x12\x1e\n\x16is_publicly_accessible\x18\x0e \x01(\x08\"i\n\x14\x41uthorizationDetails\x12\x15\n\rcurrent_block\x18\x01 \x01(\x04\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x16\n\x0esigner_address\x18\x04 \x01(\t\"z\n\x12\x43reateModelRequest\x12\x35\n\rauthorization\x18\x01 \x01(\x0b\x32\x1e.training.AuthorizationDetails\x12-\n\rmodel_details\x18\x02 \x01(\x0b\x32\x16.training.ModelDetails\"\x85\x01\n\x17\x41\x63\x63\x65ssibleModelsRequest\x12\x18\n\x10grpc_method_name\x18\x01 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x02 \x01(\t\x12\x35\n\rauthorization\x18\x03 \x01(\x0b\x32\x1e.training.AuthorizationDetails\"J\n\x18\x41\x63\x63\x65ssibleModelsResponse\x12.\n\x0elist_of_models\x18\x01 \x03(\x0b\x32\x16.training.ModelDetails\"{\n\x13ModelDetailsRequest\x12-\n\rmodel_details\x18\x01 \x01(\x0b\x32\x16.training.ModelDetails\x12\x35\n\rauthorization\x18\x02 \x01(\x0b\x32\x1e.training.AuthorizationDetails\"7\n\x14TrainingMethodOption\x12\x1f\n\x17trainingMethodIndicator\x18\x01 \x01(\t\"\x81\x01\n\x12UpdateModelRequest\x12\x34\n\x14update_model_details\x18\x01 \x01(\x0b\x32\x16.training.ModelDetails\x12\x35\n\rauthorization\x18\x02 \x01(\x0b\x32\x1e.training.AuthorizationDetails\"g\n\x14ModelDetailsResponse\x12 \n\x06status\x18\x01 \x01(\x0e\x32\x10.training.Status\x12-\n\rmodel_details\x18\x02 \x01(\x0b\x32\x16.training.ModelDetails*O\n\x06Status\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0f\n\x0bIN_PROGRESS\x10\x01\x12\x0b\n\x07\x45RRORED\x10\x02\x12\r\n\tCOMPLETED\x10\x03\x12\x0b\n\x07\x44\x45LETED\x10\x04\x32\xae\x03\n\x05Model\x12N\n\x0c\x63reate_model\x12\x1c.training.CreateModelRequest\x1a\x1e.training.ModelDetailsResponse\"\x00\x12N\n\x0c\x64\x65lete_model\x12\x1c.training.UpdateModelRequest\x1a\x1e.training.ModelDetailsResponse\"\x00\x12S\n\x10get_model_status\x12\x1d.training.ModelDetailsRequest\x1a\x1e.training.ModelDetailsResponse\"\x00\x12U\n\x13update_model_access\x12\x1c.training.UpdateModelRequest\x1a\x1e.training.ModelDetailsResponse\"\x00\x12Y\n\x0eget_all_models\x12!.training.AccessibleModelsRequest\x1a\".training.AccessibleModelsResponse\"\x00:[\n\x10my_method_option\x12\x1e.google.protobuf.MethodOptions\x18\xdd\xa6\xe2\x04 \x01(\x0b\x32\x1e.training.TrainingMethodOptionB\rZ\x0b../trainingb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0etraining.proto\x12\x08training\x1a google/protobuf/descriptor.proto\"\xf6\x01\n\rModelResponse\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12 \n\x06status\x18\x02 \x01(\x0e\x32\x10.training.Status\x12\x14\n\x0cupdated_date\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x06 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x07 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x08 \x03(\t\x12\x11\n\tis_public\x18\t \x01(\x08\x12\x1a\n\x12training_data_link\x18\n \x01(\t\"\xca\x01\n\x08NewModel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x03 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\x12\x11\n\tis_public\x18\x06 \x01(\x08\x12\x17\n\x0forganization_id\x18\x07 \x01(\t\x12\x12\n\nservice_id\x18\x08 \x01(\t\x12\x10\n\x08group_id\x18\t \x01(\t\"\x1b\n\x07ModelID\x12\x10\n\x08model_id\x18\x01 \x01(\t\" \n\x0fPriceInBaseUnit\x12\r\n\x05price\x18\x01 \x01(\x04\"2\n\x0eStatusResponse\x12 \n\x06status\x18\x01 \x01(\x0e\x32\x10.training.Status\"\x92\x01\n\x0bUploadInput\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x11\n\tfile_name\x18\x03 \x01(\t\x12\x11\n\tfile_size\x18\x04 \x01(\x04\x12\x12\n\nbatch_size\x18\x05 \x01(\x04\x12\x14\n\x0c\x62\x61tch_number\x18\x06 \x01(\x04\x12\x13\n\x0b\x62\x61tch_count\x18\x07 \x01(\x04\"?\n\x0fValidateRequest\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t*n\n\x06Status\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0e\n\nVALIDATING\x10\x01\x12\r\n\tVALIDATED\x10\x02\x12\x0c\n\x08TRAINING\x10\x03\x12\x10\n\x0cREADY_TO_USE\x10\x04\x12\x0b\n\x07\x45RRORED\x10\x05\x12\x0b\n\x07\x44\x45LETED\x10\x06\x32\xaa\x04\n\x05Model\x12\x37\n\x0c\x63reate_model\x12\x12.training.NewModel\x1a\x11.training.ModelID\"\x00\x12N\n\x14validate_model_price\x12\x19.training.ValidateRequest\x1a\x19.training.PriceInBaseUnit\"\x00\x12J\n\x13upload_and_validate\x12\x15.training.UploadInput\x1a\x18.training.StatusResponse\"\x00(\x01\x12G\n\x0evalidate_model\x12\x19.training.ValidateRequest\x1a\x18.training.StatusResponse\"\x00\x12\x43\n\x11train_model_price\x12\x11.training.ModelID\x1a\x19.training.PriceInBaseUnit\"\x00\x12<\n\x0btrain_model\x12\x11.training.ModelID\x1a\x18.training.StatusResponse\"\x00\x12=\n\x0c\x64\x65lete_model\x12\x11.training.ModelID\x1a\x18.training.StatusResponse\"\x00\x12\x41\n\x10get_model_status\x12\x11.training.ModelID\x1a\x18.training.StatusResponse\"\x00::\n\x10\x64\x65\x66\x61ult_model_id\x12\x1e.google.protobuf.MethodOptions\x18\xd1\x86\x03 \x01(\t:=\n\x13max_models_per_user\x12\x1e.google.protobuf.MethodOptions\x18\xd2\x86\x03 \x01(\x04:=\n\x13\x64\x61taset_max_size_mb\x12\x1e.google.protobuf.MethodOptions\x18\xd3\x86\x03 \x01(\x04:A\n\x17\x64\x61taset_max_count_files\x12\x1e.google.protobuf.MethodOptions\x18\xd4\x86\x03 \x01(\x04:I\n\x1f\x64\x61taset_max_size_single_file_mb\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x04:<\n\x12\x64\x61taset_files_type\x12\x1e.google.protobuf.MethodOptions\x18\xd6\x86\x03 \x01(\t:6\n\x0c\x64\x61taset_type\x12\x1e.google.protobuf.MethodOptions\x18\xd7\x86\x03 \x01(\t:=\n\x13\x64\x61taset_description\x12\x1e.google.protobuf.MethodOptions\x18\xd8\x86\x03 \x01(\tB,Z*github.com/singnet/snet-daemon/v5/trainingb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'training_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\013../training' - _globals['_STATUS']._serialized_start=1236 - _globals['_STATUS']._serialized_end=1315 - _globals['_MODELDETAILS']._serialized_start=63 - _globals['_MODELDETAILS']._serialized_end=372 - _globals['_AUTHORIZATIONDETAILS']._serialized_start=374 - _globals['_AUTHORIZATIONDETAILS']._serialized_end=479 - _globals['_CREATEMODELREQUEST']._serialized_start=481 - _globals['_CREATEMODELREQUEST']._serialized_end=603 - _globals['_ACCESSIBLEMODELSREQUEST']._serialized_start=606 - _globals['_ACCESSIBLEMODELSREQUEST']._serialized_end=739 - _globals['_ACCESSIBLEMODELSRESPONSE']._serialized_start=741 - _globals['_ACCESSIBLEMODELSRESPONSE']._serialized_end=815 - _globals['_MODELDETAILSREQUEST']._serialized_start=817 - _globals['_MODELDETAILSREQUEST']._serialized_end=940 - _globals['_TRAININGMETHODOPTION']._serialized_start=942 - _globals['_TRAININGMETHODOPTION']._serialized_end=997 - _globals['_UPDATEMODELREQUEST']._serialized_start=1000 - _globals['_UPDATEMODELREQUEST']._serialized_end=1129 - _globals['_MODELDETAILSRESPONSE']._serialized_start=1131 - _globals['_MODELDETAILSRESPONSE']._serialized_end=1234 - _globals['_MODEL']._serialized_start=1318 - _globals['_MODEL']._serialized_end=1748 + DESCRIPTOR._serialized_options = b'Z*github.com/singnet/snet-daemon/v5/training' + _globals['_STATUS']._serialized_start=845 + _globals['_STATUS']._serialized_end=955 + _globals['_MODELRESPONSE']._serialized_start=63 + _globals['_MODELRESPONSE']._serialized_end=309 + _globals['_NEWMODEL']._serialized_start=312 + _globals['_NEWMODEL']._serialized_end=514 + _globals['_MODELID']._serialized_start=516 + _globals['_MODELID']._serialized_end=543 + _globals['_PRICEINBASEUNIT']._serialized_start=545 + _globals['_PRICEINBASEUNIT']._serialized_end=577 + _globals['_STATUSRESPONSE']._serialized_start=579 + _globals['_STATUSRESPONSE']._serialized_end=629 + _globals['_UPLOADINPUT']._serialized_start=632 + _globals['_UPLOADINPUT']._serialized_end=778 + _globals['_VALIDATEREQUEST']._serialized_start=780 + _globals['_VALIDATEREQUEST']._serialized_end=843 + _globals['_MODEL']._serialized_start=958 + _globals['_MODEL']._serialized_end=1512 # @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/training_pb2_grpc.py b/snet/sdk/resources/proto/training_pb2_grpc.py index 51ccf27..480dfcf 100644 --- a/snet/sdk/resources/proto/training_pb2_grpc.py +++ b/snet/sdk/resources/proto/training_pb2_grpc.py @@ -6,7 +6,8 @@ class ModelStub(object): - """Missing associated documentation comment in .proto file.""" + """Methods that the service provider must implement + """ def __init__(self, channel): """Constructor. @@ -16,65 +17,104 @@ def __init__(self, channel): """ self.create_model = channel.unary_unary( '/training.Model/create_model', - request_serializer=training__pb2.CreateModelRequest.SerializeToString, - response_deserializer=training__pb2.ModelDetailsResponse.FromString, + request_serializer=training__pb2.NewModel.SerializeToString, + response_deserializer=training__pb2.ModelID.FromString, + ) + self.validate_model_price = channel.unary_unary( + '/training.Model/validate_model_price', + request_serializer=training__pb2.ValidateRequest.SerializeToString, + response_deserializer=training__pb2.PriceInBaseUnit.FromString, + ) + self.upload_and_validate = channel.stream_unary( + '/training.Model/upload_and_validate', + request_serializer=training__pb2.UploadInput.SerializeToString, + response_deserializer=training__pb2.StatusResponse.FromString, + ) + self.validate_model = channel.unary_unary( + '/training.Model/validate_model', + request_serializer=training__pb2.ValidateRequest.SerializeToString, + response_deserializer=training__pb2.StatusResponse.FromString, + ) + self.train_model_price = channel.unary_unary( + '/training.Model/train_model_price', + request_serializer=training__pb2.ModelID.SerializeToString, + response_deserializer=training__pb2.PriceInBaseUnit.FromString, + ) + self.train_model = channel.unary_unary( + '/training.Model/train_model', + request_serializer=training__pb2.ModelID.SerializeToString, + response_deserializer=training__pb2.StatusResponse.FromString, ) self.delete_model = channel.unary_unary( '/training.Model/delete_model', - request_serializer=training__pb2.UpdateModelRequest.SerializeToString, - response_deserializer=training__pb2.ModelDetailsResponse.FromString, + request_serializer=training__pb2.ModelID.SerializeToString, + response_deserializer=training__pb2.StatusResponse.FromString, ) self.get_model_status = channel.unary_unary( '/training.Model/get_model_status', - request_serializer=training__pb2.ModelDetailsRequest.SerializeToString, - response_deserializer=training__pb2.ModelDetailsResponse.FromString, - ) - self.update_model_access = channel.unary_unary( - '/training.Model/update_model_access', - request_serializer=training__pb2.UpdateModelRequest.SerializeToString, - response_deserializer=training__pb2.ModelDetailsResponse.FromString, - ) - self.get_all_models = channel.unary_unary( - '/training.Model/get_all_models', - request_serializer=training__pb2.AccessibleModelsRequest.SerializeToString, - response_deserializer=training__pb2.AccessibleModelsResponse.FromString, + request_serializer=training__pb2.ModelID.SerializeToString, + response_deserializer=training__pb2.StatusResponse.FromString, ) class ModelServicer(object): - """Missing associated documentation comment in .proto file.""" + """Methods that the service provider must implement + """ def create_model(self, request, context): - """The AI developer needs to Implement this service and Daemon will call these - There will be no cost borne by the consumer in calling these methods, - Pricing will apply when you actually call the training methods defined. - AI consumer will call all these methods + """Free + Can pass the address of the model creator """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def delete_model(self, request, context): - """Missing associated documentation comment in .proto file.""" + def validate_model_price(self, request, context): + """Free + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def get_model_status(self, request, context): - """Missing associated documentation comment in .proto file.""" + def upload_and_validate(self, request_iterator, context): + """Paid + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def validate_model(self, request, context): + """Paid + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def train_model_price(self, request, context): + """Free, one signature for both train_model_price & train_model methods + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def update_model_access(self, request, context): - """Daemon will implement , however the AI developer should skip implementing these and just provide dummy code. + def train_model(self, request, context): + """Paid """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def get_all_models(self, request, context): - """Missing associated documentation comment in .proto file.""" + def delete_model(self, request, context): + """Free + After model deletion, the status becomes DELETED in etcd + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get_model_status(self, request, context): + """Free + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -84,28 +124,43 @@ def add_ModelServicer_to_server(servicer, server): rpc_method_handlers = { 'create_model': grpc.unary_unary_rpc_method_handler( servicer.create_model, - request_deserializer=training__pb2.CreateModelRequest.FromString, - response_serializer=training__pb2.ModelDetailsResponse.SerializeToString, + request_deserializer=training__pb2.NewModel.FromString, + response_serializer=training__pb2.ModelID.SerializeToString, + ), + 'validate_model_price': grpc.unary_unary_rpc_method_handler( + servicer.validate_model_price, + request_deserializer=training__pb2.ValidateRequest.FromString, + response_serializer=training__pb2.PriceInBaseUnit.SerializeToString, + ), + 'upload_and_validate': grpc.stream_unary_rpc_method_handler( + servicer.upload_and_validate, + request_deserializer=training__pb2.UploadInput.FromString, + response_serializer=training__pb2.StatusResponse.SerializeToString, + ), + 'validate_model': grpc.unary_unary_rpc_method_handler( + servicer.validate_model, + request_deserializer=training__pb2.ValidateRequest.FromString, + response_serializer=training__pb2.StatusResponse.SerializeToString, + ), + 'train_model_price': grpc.unary_unary_rpc_method_handler( + servicer.train_model_price, + request_deserializer=training__pb2.ModelID.FromString, + response_serializer=training__pb2.PriceInBaseUnit.SerializeToString, + ), + 'train_model': grpc.unary_unary_rpc_method_handler( + servicer.train_model, + request_deserializer=training__pb2.ModelID.FromString, + response_serializer=training__pb2.StatusResponse.SerializeToString, ), 'delete_model': grpc.unary_unary_rpc_method_handler( servicer.delete_model, - request_deserializer=training__pb2.UpdateModelRequest.FromString, - response_serializer=training__pb2.ModelDetailsResponse.SerializeToString, + request_deserializer=training__pb2.ModelID.FromString, + response_serializer=training__pb2.StatusResponse.SerializeToString, ), 'get_model_status': grpc.unary_unary_rpc_method_handler( servicer.get_model_status, - request_deserializer=training__pb2.ModelDetailsRequest.FromString, - response_serializer=training__pb2.ModelDetailsResponse.SerializeToString, - ), - 'update_model_access': grpc.unary_unary_rpc_method_handler( - servicer.update_model_access, - request_deserializer=training__pb2.UpdateModelRequest.FromString, - response_serializer=training__pb2.ModelDetailsResponse.SerializeToString, - ), - 'get_all_models': grpc.unary_unary_rpc_method_handler( - servicer.get_all_models, - request_deserializer=training__pb2.AccessibleModelsRequest.FromString, - response_serializer=training__pb2.AccessibleModelsResponse.SerializeToString, + request_deserializer=training__pb2.ModelID.FromString, + response_serializer=training__pb2.StatusResponse.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -115,7 +170,8 @@ def add_ModelServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class Model(object): - """Missing associated documentation comment in .proto file.""" + """Methods that the service provider must implement + """ @staticmethod def create_model(request, @@ -129,13 +185,13 @@ def create_model(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/training.Model/create_model', - training__pb2.CreateModelRequest.SerializeToString, - training__pb2.ModelDetailsResponse.FromString, + training__pb2.NewModel.SerializeToString, + training__pb2.ModelID.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def delete_model(request, + def validate_model_price(request, target, options=(), channel_credentials=None, @@ -145,14 +201,14 @@ def delete_model(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training.Model/delete_model', - training__pb2.UpdateModelRequest.SerializeToString, - training__pb2.ModelDetailsResponse.FromString, + return grpc.experimental.unary_unary(request, target, '/training.Model/validate_model_price', + training__pb2.ValidateRequest.SerializeToString, + training__pb2.PriceInBaseUnit.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def get_model_status(request, + def upload_and_validate(request_iterator, target, options=(), channel_credentials=None, @@ -162,14 +218,14 @@ def get_model_status(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training.Model/get_model_status', - training__pb2.ModelDetailsRequest.SerializeToString, - training__pb2.ModelDetailsResponse.FromString, + return grpc.experimental.stream_unary(request_iterator, target, '/training.Model/upload_and_validate', + training__pb2.UploadInput.SerializeToString, + training__pb2.StatusResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def update_model_access(request, + def validate_model(request, target, options=(), channel_credentials=None, @@ -179,14 +235,14 @@ def update_model_access(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training.Model/update_model_access', - training__pb2.UpdateModelRequest.SerializeToString, - training__pb2.ModelDetailsResponse.FromString, + return grpc.experimental.unary_unary(request, target, '/training.Model/validate_model', + training__pb2.ValidateRequest.SerializeToString, + training__pb2.StatusResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def get_all_models(request, + def train_model_price(request, target, options=(), channel_credentials=None, @@ -196,8 +252,59 @@ def get_all_models(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/training.Model/get_all_models', - training__pb2.AccessibleModelsRequest.SerializeToString, - training__pb2.AccessibleModelsResponse.FromString, + return grpc.experimental.unary_unary(request, target, '/training.Model/train_model_price', + training__pb2.ModelID.SerializeToString, + training__pb2.PriceInBaseUnit.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def train_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training.Model/train_model', + training__pb2.ModelID.SerializeToString, + training__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def delete_model(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training.Model/delete_model', + training__pb2.ModelID.SerializeToString, + training__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def get_model_status(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/training.Model/get_model_status', + training__pb2.ModelID.SerializeToString, + training__pb2.StatusResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/snet/sdk/resources/proto/training_v2_pb2.py b/snet/sdk/resources/proto/training_v2_pb2.py deleted file mode 100644 index 5dc4fbe..0000000 --- a/snet/sdk/resources/proto/training_v2_pb2.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: training_v2.proto -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11training_v2.proto\x12\ntrainingV2\x1a google/protobuf/descriptor.proto\"\xf8\x01\n\rModelResponse\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.trainingV2.Status\x12\x14\n\x0cupdated_date\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x06 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x07 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x08 \x03(\t\x12\x11\n\tis_public\x18\t \x01(\x08\x12\x1a\n\x12training_data_link\x18\n \x01(\t\"\xca\x01\n\x08NewModel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x18\n\x10grpc_method_name\x18\x03 \x01(\t\x12\x19\n\x11grpc_service_name\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x64\x64ress_list\x18\x05 \x03(\t\x12\x11\n\tis_public\x18\x06 \x01(\x08\x12\x17\n\x0forganization_id\x18\x07 \x01(\t\x12\x12\n\nservice_id\x18\x08 \x01(\t\x12\x10\n\x08group_id\x18\t \x01(\t\"\x1b\n\x07ModelID\x12\x10\n\x08model_id\x18\x01 \x01(\t\" \n\x0fPriceInBaseUnit\x12\r\n\x05price\x18\x01 \x01(\x04\"4\n\x0eStatusResponse\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.trainingV2.Status\"\x92\x01\n\x0bUploadInput\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x11\n\tfile_name\x18\x03 \x01(\t\x12\x11\n\tfile_size\x18\x04 \x01(\x04\x12\x12\n\nbatch_size\x18\x05 \x01(\x04\x12\x14\n\x0c\x62\x61tch_number\x18\x06 \x01(\x04\x12\x13\n\x0b\x62\x61tch_count\x18\x07 \x01(\x04\"?\n\x0fValidateRequest\x12\x10\n\x08model_id\x18\x02 \x01(\t\x12\x1a\n\x12training_data_link\x18\x03 \x01(\t*n\n\x06Status\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0e\n\nVALIDATING\x10\x01\x12\r\n\tVALIDATED\x10\x02\x12\x0c\n\x08TRAINING\x10\x03\x12\x10\n\x0cREADY_TO_USE\x10\x04\x12\x0b\n\x07\x45RRORED\x10\x05\x12\x0b\n\x07\x44\x45LETED\x10\x06\x32\xca\x04\n\x05Model\x12;\n\x0c\x63reate_model\x12\x14.trainingV2.NewModel\x1a\x13.trainingV2.ModelID\"\x00\x12R\n\x14validate_model_price\x12\x1b.trainingV2.ValidateRequest\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12N\n\x13upload_and_validate\x12\x17.trainingV2.UploadInput\x1a\x1a.trainingV2.StatusResponse\"\x00(\x01\x12K\n\x0evalidate_model\x12\x1b.trainingV2.ValidateRequest\x1a\x1a.trainingV2.StatusResponse\"\x00\x12G\n\x11train_model_price\x12\x13.trainingV2.ModelID\x1a\x1b.trainingV2.PriceInBaseUnit\"\x00\x12@\n\x0btrain_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x41\n\x0c\x64\x65lete_model\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00\x12\x45\n\x10get_model_status\x12\x13.trainingV2.ModelID\x1a\x1a.trainingV2.StatusResponse\"\x00::\n\x10\x64\x65\x66\x61ult_model_id\x12\x1e.google.protobuf.MethodOptions\x18\xd1\x86\x03 \x01(\t:=\n\x13max_models_per_user\x12\x1e.google.protobuf.MethodOptions\x18\xd2\x86\x03 \x01(\x04:=\n\x13\x64\x61taset_max_size_mb\x12\x1e.google.protobuf.MethodOptions\x18\xd3\x86\x03 \x01(\x04:A\n\x17\x64\x61taset_max_count_files\x12\x1e.google.protobuf.MethodOptions\x18\xd4\x86\x03 \x01(\x04:I\n\x1f\x64\x61taset_max_size_single_file_mb\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x04:<\n\x12\x64\x61taset_files_type\x12\x1e.google.protobuf.MethodOptions\x18\xd6\x86\x03 \x01(\t:6\n\x0c\x64\x61taset_type\x12\x1e.google.protobuf.MethodOptions\x18\xd7\x86\x03 \x01(\t:=\n\x13\x64\x61taset_description\x12\x1e.google.protobuf.MethodOptions\x18\xd8\x86\x03 \x01(\tB\rZ\x0b../trainingb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'training_v2_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\013../training' - _globals['_STATUS']._serialized_start=854 - _globals['_STATUS']._serialized_end=964 - _globals['_MODELRESPONSE']._serialized_start=68 - _globals['_MODELRESPONSE']._serialized_end=316 - _globals['_NEWMODEL']._serialized_start=319 - _globals['_NEWMODEL']._serialized_end=521 - _globals['_MODELID']._serialized_start=523 - _globals['_MODELID']._serialized_end=550 - _globals['_PRICEINBASEUNIT']._serialized_start=552 - _globals['_PRICEINBASEUNIT']._serialized_end=584 - _globals['_STATUSRESPONSE']._serialized_start=586 - _globals['_STATUSRESPONSE']._serialized_end=638 - _globals['_UPLOADINPUT']._serialized_start=641 - _globals['_UPLOADINPUT']._serialized_end=787 - _globals['_VALIDATEREQUEST']._serialized_start=789 - _globals['_VALIDATEREQUEST']._serialized_end=852 - _globals['_MODEL']._serialized_start=967 - _globals['_MODEL']._serialized_end=1553 -# @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/training_v2_pb2_grpc.py b/snet/sdk/resources/proto/training_v2_pb2_grpc.py deleted file mode 100644 index 018ab93..0000000 --- a/snet/sdk/resources/proto/training_v2_pb2_grpc.py +++ /dev/null @@ -1,310 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -import training_v2_pb2 as training__v2__pb2 - - -class ModelStub(object): - """Methods that the service provider must implement - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.create_model = channel.unary_unary( - '/trainingV2.Model/create_model', - request_serializer=training__v2__pb2.NewModel.SerializeToString, - response_deserializer=training__v2__pb2.ModelID.FromString, - ) - self.validate_model_price = channel.unary_unary( - '/trainingV2.Model/validate_model_price', - request_serializer=training__v2__pb2.ValidateRequest.SerializeToString, - response_deserializer=training__v2__pb2.PriceInBaseUnit.FromString, - ) - self.upload_and_validate = channel.stream_unary( - '/trainingV2.Model/upload_and_validate', - request_serializer=training__v2__pb2.UploadInput.SerializeToString, - response_deserializer=training__v2__pb2.StatusResponse.FromString, - ) - self.validate_model = channel.unary_unary( - '/trainingV2.Model/validate_model', - request_serializer=training__v2__pb2.ValidateRequest.SerializeToString, - response_deserializer=training__v2__pb2.StatusResponse.FromString, - ) - self.train_model_price = channel.unary_unary( - '/trainingV2.Model/train_model_price', - request_serializer=training__v2__pb2.ModelID.SerializeToString, - response_deserializer=training__v2__pb2.PriceInBaseUnit.FromString, - ) - self.train_model = channel.unary_unary( - '/trainingV2.Model/train_model', - request_serializer=training__v2__pb2.ModelID.SerializeToString, - response_deserializer=training__v2__pb2.StatusResponse.FromString, - ) - self.delete_model = channel.unary_unary( - '/trainingV2.Model/delete_model', - request_serializer=training__v2__pb2.ModelID.SerializeToString, - response_deserializer=training__v2__pb2.StatusResponse.FromString, - ) - self.get_model_status = channel.unary_unary( - '/trainingV2.Model/get_model_status', - request_serializer=training__v2__pb2.ModelID.SerializeToString, - response_deserializer=training__v2__pb2.StatusResponse.FromString, - ) - - -class ModelServicer(object): - """Methods that the service provider must implement - """ - - def create_model(self, request, context): - """Free - Can pass the address of the model creator - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def validate_model_price(self, request, context): - """Free - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def upload_and_validate(self, request_iterator, context): - """Paid - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def validate_model(self, request, context): - """Paid - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def train_model_price(self, request, context): - """Free, one signature for both train_model_price & train_model methods - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def train_model(self, request, context): - """Paid - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def delete_model(self, request, context): - """Free - After model deletion, the status becomes DELETED in etcd - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def get_model_status(self, request, context): - """Free - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_ModelServicer_to_server(servicer, server): - rpc_method_handlers = { - 'create_model': grpc.unary_unary_rpc_method_handler( - servicer.create_model, - request_deserializer=training__v2__pb2.NewModel.FromString, - response_serializer=training__v2__pb2.ModelID.SerializeToString, - ), - 'validate_model_price': grpc.unary_unary_rpc_method_handler( - servicer.validate_model_price, - request_deserializer=training__v2__pb2.ValidateRequest.FromString, - response_serializer=training__v2__pb2.PriceInBaseUnit.SerializeToString, - ), - 'upload_and_validate': grpc.stream_unary_rpc_method_handler( - servicer.upload_and_validate, - request_deserializer=training__v2__pb2.UploadInput.FromString, - response_serializer=training__v2__pb2.StatusResponse.SerializeToString, - ), - 'validate_model': grpc.unary_unary_rpc_method_handler( - servicer.validate_model, - request_deserializer=training__v2__pb2.ValidateRequest.FromString, - response_serializer=training__v2__pb2.StatusResponse.SerializeToString, - ), - 'train_model_price': grpc.unary_unary_rpc_method_handler( - servicer.train_model_price, - request_deserializer=training__v2__pb2.ModelID.FromString, - response_serializer=training__v2__pb2.PriceInBaseUnit.SerializeToString, - ), - 'train_model': grpc.unary_unary_rpc_method_handler( - servicer.train_model, - request_deserializer=training__v2__pb2.ModelID.FromString, - response_serializer=training__v2__pb2.StatusResponse.SerializeToString, - ), - 'delete_model': grpc.unary_unary_rpc_method_handler( - servicer.delete_model, - request_deserializer=training__v2__pb2.ModelID.FromString, - response_serializer=training__v2__pb2.StatusResponse.SerializeToString, - ), - 'get_model_status': grpc.unary_unary_rpc_method_handler( - servicer.get_model_status, - request_deserializer=training__v2__pb2.ModelID.FromString, - response_serializer=training__v2__pb2.StatusResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'trainingV2.Model', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - - # This class is part of an EXPERIMENTAL API. -class Model(object): - """Methods that the service provider must implement - """ - - @staticmethod - def create_model(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/create_model', - training__v2__pb2.NewModel.SerializeToString, - training__v2__pb2.ModelID.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def validate_model_price(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/validate_model_price', - training__v2__pb2.ValidateRequest.SerializeToString, - training__v2__pb2.PriceInBaseUnit.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def upload_and_validate(request_iterator, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.stream_unary(request_iterator, target, '/trainingV2.Model/upload_and_validate', - training__v2__pb2.UploadInput.SerializeToString, - training__v2__pb2.StatusResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def validate_model(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/validate_model', - training__v2__pb2.ValidateRequest.SerializeToString, - training__v2__pb2.StatusResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def train_model_price(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/train_model_price', - training__v2__pb2.ModelID.SerializeToString, - training__v2__pb2.PriceInBaseUnit.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def train_model(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/train_model', - training__v2__pb2.ModelID.SerializeToString, - training__v2__pb2.StatusResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def delete_model(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/delete_model', - training__v2__pb2.ModelID.SerializeToString, - training__v2__pb2.StatusResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def get_model_status(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/trainingV2.Model/get_model_status', - training__v2__pb2.ModelID.SerializeToString, - training__v2__pb2.StatusResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/snet/sdk/resources/proto/unixfs.proto b/snet/sdk/resources/proto/unixfs.proto deleted file mode 100644 index c190079..0000000 --- a/snet/sdk/resources/proto/unixfs.proto +++ /dev/null @@ -1,25 +0,0 @@ -syntax = "proto2"; -package unixfs.pb; - -message Data { - enum DataType { - Raw = 0; - Directory = 1; - File = 2; - Metadata = 3; - Symlink = 4; - HAMTShard = 5; - } - - required DataType Type = 1; - optional bytes Data = 2; - optional uint64 filesize = 3; - repeated uint64 blocksizes = 4; - - optional uint64 hashType = 5; - optional uint64 fanout = 6; -} - -message Metadata { - optional string MimeType = 1; -} \ No newline at end of file diff --git a/snet/sdk/resources/proto/unixfs_pb2.py b/snet/sdk/resources/proto/unixfs_pb2.py deleted file mode 100644 index 394f454..0000000 --- a/snet/sdk/resources/proto/unixfs_pb2.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: unixfs.proto -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cunixfs.proto\x12\tunixfs.pb\"\xdc\x01\n\x04\x44\x61ta\x12&\n\x04Type\x18\x01 \x02(\x0e\x32\x18.unixfs.pb.Data.DataType\x12\x0c\n\x04\x44\x61ta\x18\x02 \x01(\x0c\x12\x10\n\x08\x66ilesize\x18\x03 \x01(\x04\x12\x12\n\nblocksizes\x18\x04 \x03(\x04\x12\x10\n\x08hashType\x18\x05 \x01(\x04\x12\x0e\n\x06\x66\x61nout\x18\x06 \x01(\x04\"V\n\x08\x44\x61taType\x12\x07\n\x03Raw\x10\x00\x12\r\n\tDirectory\x10\x01\x12\x08\n\x04\x46ile\x10\x02\x12\x0c\n\x08Metadata\x10\x03\x12\x0b\n\x07Symlink\x10\x04\x12\r\n\tHAMTShard\x10\x05\"\x1c\n\x08Metadata\x12\x10\n\x08MimeType\x18\x01 \x01(\t') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'unixfs_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - _globals['_DATA']._serialized_start=28 - _globals['_DATA']._serialized_end=248 - _globals['_DATA_DATATYPE']._serialized_start=162 - _globals['_DATA_DATATYPE']._serialized_end=248 - _globals['_METADATA']._serialized_start=250 - _globals['_METADATA']._serialized_end=278 -# @@protoc_insertion_point(module_scope) diff --git a/snet/sdk/resources/proto/unixfs_pb2_grpc.py b/snet/sdk/resources/proto/unixfs_pb2_grpc.py deleted file mode 100644 index 2daafff..0000000 --- a/snet/sdk/resources/proto/unixfs_pb2_grpc.py +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - diff --git a/snet/sdk/service_client.py b/snet/sdk/service_client.py index 21d5473..ca2e63a 100644 --- a/snet/sdk/service_client.py +++ b/snet/sdk/service_client.py @@ -23,7 +23,7 @@ from snet.sdk.custom_typing import ModuleName, ServiceStub from snet.sdk.utils.utils import (RESOURCES_PATH, add_to_path, find_file_by_keyword) -from snet.sdk.training.training_v2 import TrainingV2 +from snet.sdk.training.training import Training from snet.sdk.training.exceptions import NoTrainingException from snet.sdk.utils.call_utils import create_intercept_call_func @@ -35,7 +35,7 @@ def __init__( service_id: str, service_metadata: MPEServiceMetadata, group: dict, - service_stub: ServiceStub, + service_stubs: list[ServiceStub], payment_strategy, options: dict, mpe_contract: MPEContract, @@ -63,25 +63,36 @@ def __init__( self.expiry_threshold: int = self.group["payment"]["payment_expiration_threshold"] self.__base_grpc_channel = self._get_grpc_channel() - _intercept_call_func = create_intercept_call_func(self._get_service_call_metadata, self) + _intercept_call_func = create_intercept_call_func(self.payment_strategy.get_payment_metadata, self) self.grpc_channel = grpc.intercept_channel( self.__base_grpc_channel, generic_client_interceptor.create(_intercept_call_func) ) - self.service = self._generate_grpc_stub(service_stub) + self.service_stubs = service_stubs self.payment_channel_state_service_client = self._generate_payment_channel_state_service_client() self.payment_channels = [] self.last_read_block: int = 0 - self.__training = TrainingV2(self, training_added) + self.__training = Training(self, training_added) def call_rpc(self, rpc_name: str, message_class: str, **kwargs) -> Any: - rpc_method = getattr(self.service, rpc_name) + service = self._get_service_stub(rpc_name) + if "model_id" in kwargs: + kwargs["model_id"] = self._get_training_model_id(kwargs["model_id"]) + rpc_method = getattr(service, rpc_name) request = getattr(self.pb2_module, message_class)(**kwargs) return rpc_method(request) def _get_payment_expiration_threshold_for_group(self): pass + def _get_service_stub(self, rpc_name: str) -> Any: + for service_stub in self.service_stubs: + grpc_stub = self._generate_grpc_stub(service_stub) + if hasattr(grpc_stub, rpc_name): + print("yes") + return grpc_stub + raise Exception(f"Service stub for {rpc_name} not found") + def _generate_grpc_stub(self, service_stub: ServiceStub) -> Any: grpc_channel = self.__base_grpc_channel disable_blockchain_operations: bool = self.options.get( @@ -114,10 +125,6 @@ def _get_grpc_channel(self) -> grpc.Channel: else: raise ValueError('Unsupported scheme in service metadata ("{}")'.format(endpoint_object.scheme)) - def _get_service_call_metadata(self) -> list[tuple]: - metadata: list = self.payment_strategy.get_payment_metadata(self) - return metadata - def _filter_existing_channels_from_new_payment_channels( self, new_payment_channels: list[PaymentChannel] @@ -220,11 +227,14 @@ def get_service_details(self) -> tuple[str, str, str, str]: )[0]) @property - def training(self) -> TrainingV2: + def training(self) -> Training: if not self.__training.is_enabled: raise NoTrainingException(self.org_id, self.service_id) return self.__training + def _get_training_model_id(self, model_id: str) -> Any: + return self.training.get_model_id_object(model_id) + def get_concurrency_flag(self) -> bool: return self.options.get('concurrency', True) diff --git a/snet/sdk/training/training.py b/snet/sdk/training/training.py index c5ede80..e2f2f28 100644 --- a/snet/sdk/training/training.py +++ b/snet/sdk/training/training.py @@ -1,157 +1,375 @@ import enum -import importlib -from urllib.parse import urlparse - +from pathlib import PurePath, Path +import os +from zipfile import ZipFile +from typing import Any import grpc -import web3 +import importlib -from snet.sdk.resources.root_certificate import certificate +from snet.sdk import generic_client_interceptor +from snet.sdk.payment_strategies.training_payment_strategy import TrainingPaymentStrategy +from snet.sdk.utils.call_utils import create_intercept_call_func from snet.sdk.utils.utils import add_to_path, RESOURCES_PATH +from snet.sdk.training.exceptions import ( + WrongDatasetException, + WrongMethodException, + GRPCException +) +from snet.sdk.training.responses import ( + ModelStatus, + Model, + TrainingMetadata, + MethodMetadata, + ModelMethodMessage +) -# for local debug -# from snet.snet_cli.resources.proto import training_pb2_grpc -# from snet.snet_cli.resources.proto import training_pb2 +class Training: + def __init__(self, service_client, training_added=False): + with add_to_path(str(RESOURCES_PATH.joinpath("proto"))): + self.training_daemon = importlib.import_module("training_daemon_pb2") + self.training_daemon_grpc = importlib.import_module("training_daemon_pb2_grpc") + self.training = importlib.import_module("training_pb2") + + self.service_client = service_client + self.is_enabled = training_added and self._check_training() + self.payment_strategy = TrainingPaymentStrategy() + """FREE METHODS TO CALL""" -# from daemon code -class ModelMethodMessage(enum.Enum): - CreateModel = "__CreateModel" - GetModelStatus = "__GetModelStatus" - UpdateModelAccess = "__UpdateModelAccess" - GetAllModels = "__UpdateModelAccess" - DeleteModel = "__GetModelStatus" + def create_model(self, method_name: str, + model_name: str, + model_description: str="", + is_public_accessible: bool=False, + addresses_with_access: list[str]=None) -> Model: + if addresses_with_access is None: + addresses_with_access = [] + service_name, method_name = self._check_method_name(method_name) + new_model = self.training.NewModel(name=model_name, + description=model_description, + grpc_method_name=method_name, + grpc_service_name=service_name, + is_public=is_public_accessible, + address_list=addresses_with_access, + organization_id=self.service_client.org_id, + service_id=self.service_client.service_id, + group_id=self.service_client.group["group_id"]) + auth_details = self._get_auth_details(ModelMethodMessage.CreateModel) + create_model_request = self.training_daemon.NewModelRequest(authorization=auth_details, + model=new_model) + response = self._call_method("create_model", + request_data=create_model_request) + model = Model(model_id=response.model_id, + status=ModelStatus(response.status), + updated_date=response.updated_date, + name=response.name, + description=response.description, + grpc_method_name=response.grpc_method_name, + grpc_service_name=response.grpc_service_name, + address_list=response.address_list, + is_public=response.is_public, + training_data_link=response.training_data_link) + return model -class TrainingModel: + def validate_model_price(self, model_id: str) -> int: + auth_details = self._get_auth_details(ModelMethodMessage.ValidateModelPrice) + validate_model_price_request = self.training_daemon.AuthValidateRequest( + authorization=auth_details, + model_id=model_id, + training_data_link="" + ) + response = self._call_method("validate_model_price", + request_data=validate_model_price_request) + return response.price - def __init__(self): - with add_to_path(str(RESOURCES_PATH.joinpath("proto"))): - self.training_pb2 = importlib.import_module("training_pb2") + def train_model_price(self, model_id: str) -> int: + auth_details = self._get_auth_details(ModelMethodMessage.TrainModelPrice) + common_request = self.training_daemon.CommonRequest(authorization=auth_details, + model_id=model_id) + response = self._call_method("train_model_price", + request_data=common_request) + return response.price - with add_to_path(str(RESOURCES_PATH.joinpath("proto"))): - self.training_pb2_grpc = importlib.import_module("training_pb2_grpc") + def delete_model(self, model_id: str) -> ModelStatus: + auth_details = self._get_auth_details(ModelMethodMessage.DeleteModel) + common_request = self.training_daemon.CommonRequest(authorization=auth_details, + model_id=model_id) + response = self._call_method("delete_model", + request_data=common_request) + return ModelStatus(response.status) - def _invoke_model(self, service_client, msg: ModelMethodMessage): - org_id, service_id, group_id, daemon_endpoint = service_client.get_service_details() + def get_training_metadata(self) -> TrainingMetadata: + empty_request = self.training_daemon.google_dot_protobuf_dot_empty__pb2.Empty() + response = self._call_method("get_training_metadata", + request_data=empty_request) - endpoint_object = urlparse(daemon_endpoint) - if endpoint_object.port is not None: - channel_endpoint = endpoint_object.hostname + ":" + str(endpoint_object.port) - else: - channel_endpoint = endpoint_object.hostname - - if endpoint_object.scheme == "http": - print("creating http channel: ", channel_endpoint) - channel = grpc.insecure_channel(channel_endpoint) - elif endpoint_object.scheme == "https": - channel = grpc.secure_channel(channel_endpoint, - grpc.ssl_channel_credentials(root_certificates=certificate)) + training_metadata = TrainingMetadata(training_enabled=response.trainingEnabled, + training_in_proto=response.trainingInProto, + training_methods=response.trainingMethods) + + return training_metadata + + def get_all_models(self, statuses: list[ModelStatus]=None, + is_public: bool=None, + grpc_method_name: str="", + grpc_service_name: str="", + model_name: str="", + created_by_address: str="") -> list[Model]: + if statuses is not None: + statuses = [getattr(self.training.Status, status.value) for status in statuses] + auth_details = self._get_auth_details(ModelMethodMessage.GetAllModels) + all_models_request = self.training_daemon.AllModelsRequest( + authorization=auth_details, + statuses=statuses, + is_public=None, + grpc_method_name=grpc_method_name, + grpc_service_name=grpc_service_name, + name=model_name, + created_by_address=created_by_address, + page_size=0, + page=0 + ) + response = self._call_method("get_all_models", + request_data=all_models_request) + models = [] + for model in response.list_of_models: + models.append(Model(model_id=model.model_id, + status=ModelStatus(model.status), + updated_date=model.updated_date, + name=model.name, + description=model.description, + grpc_method_name=model.grpc_method_name, + grpc_service_name=model.grpc_service_name, + address_list=model.address_list, + is_public=model.is_public, + training_data_link=model.training_data_link)) + + return models + + def get_model(self, model_id: str) -> Model: + auth_details = self._get_auth_details(ModelMethodMessage.GetModel) + common_request = self.training_daemon.CommonRequest(authorization=auth_details, + model_id=model_id) + response = self._call_method("get_model", + request_data=common_request) + model = Model(model_id=response.model_id, + status=ModelStatus(response.status), + updated_date=response.updated_date, + name=response.name, + description=response.description, + grpc_method_name=response.grpc_method_name, + grpc_service_name=response.grpc_service_name, + address_list=response.address_list, + is_public=response.is_public, + training_data_link=response.training_data_link) + + return model + + def get_method_metadata(self, method_name: str, model_id: str= "") -> MethodMetadata: + + if model_id: + requirements_request = self.training_daemon.MethodMetadataRequest( + grpc_method_name="", + grpc_service_name="", + model_id=model_id + ) else: - raise ValueError('Unsupported scheme in service metadata ("{}")'.format(endpoint_object.scheme)) - - current_block_number = service_client.get_current_block_number() - signature = service_client.generate_training_signature(msg.value, web3.Web3.to_checksum_address( - service_client.account.address), current_block_number) - auth_req = self.training_pb2.AuthorizationDetails(signature=bytes(signature), - current_block=current_block_number, - signer_address=service_client.account.address, - message=msg.value) - return auth_req, channel - - # params from AI-service: status, model_id - # params pass to daemon: grpc_service_name, grpc_method_name, address_list, - # description, model_name, training_data_link, is_public_accessible - def create_model(self, service_client, grpc_method_name: str, - model_name: str, description: str = '', - training_data_link: str = '', grpc_service_name='service', - is_publicly_accessible=False, address_list: list[str] = None): - if address_list is None: - address_list = [] - try: - auth_req, channel = self._invoke_model(service_client, ModelMethodMessage.CreateModel) - model_details = self.training_pb2.ModelDetails(grpc_method_name=grpc_method_name, - description=description, - training_data_link=training_data_link, - grpc_service_name=grpc_service_name, - model_name=model_name, address_list=address_list, - is_publicly_accessible=is_publicly_accessible) - stub = self.training_pb2_grpc.ModelStub(channel) - response = stub.create_model( - self.training_pb2.CreateModelRequest(authorization=auth_req, model_details=model_details)) - return response - except Exception as e: - print("Exception: ", e) - return e + service_name, method_name = self._check_method_name(method_name) + requirements_request = self.training_daemon.MethodMetadataRequest( + grpc_method_name=method_name, + grpc_service_name=service_name, + model_id="" + ) + response = self._call_method("get_method_metadata", + request_data=requirements_request) - # params from AI-service: status - # params to daemon: grpc_service_name, grpc_method_name, model_id - def get_model_status(self, service_client, model_id: str, grpc_method_name: str, grpc_service_name='service'): - try: - auth_req, channel = self._invoke_model(service_client, ModelMethodMessage.GetModelStatus) - model_details = self.training_pb2.ModelDetails(grpc_method_name=grpc_method_name, - grpc_service_name=grpc_service_name, - model_id=str(model_id)) - stub = self.training_pb2_grpc.ModelStub(channel) - response = stub.get_model_status( - self.training_pb2.ModelDetailsRequest(authorization=auth_req, model_details=model_details)) - return response - except Exception as e: - print("Exception: ", e) - return e - - # params from AI-service: status - # params to daemon: grpc_service_name, grpc_method_name, model_id - def delete_model(self, service_client, model_id: str, - grpc_method_name: str, grpc_service_name='service'): - try: - auth_req, channel = self._invoke_model(service_client, ModelMethodMessage.DeleteModel) - model_details = self.training_pb2.ModelDetails(grpc_method_name=grpc_method_name, - grpc_service_name=grpc_service_name, - model_id=str(model_id)) - stub = self.training_pb2_grpc.ModelStub(channel) - response = stub.delete_model( - self.training_pb2.UpdateModelRequest(authorization=auth_req, update_model_details=model_details)) - return response - except Exception as e: - print("Exception: ", e) - return e - - # params from AI-service: None - # params to daemon: grpc_service_name, grpc_method_name, model_id, address_list, is_public, model_name, desc - # all params required - def update_model_access(self, service_client, model_id: str, grpc_method_name: str, - model_name: str, is_public: bool, - description: str, grpc_service_name: str = 'service', - address_list: list[str] = None): + method_metadata = MethodMetadata(default_model_id = response.default_model_id, + max_models_per_user = response.max_models_per_user, + dataset_max_size_mb = response.dataset_max_size_mb, + dataset_max_count_files = response.dataset_max_count_files, + dataset_max_size_single_file_mb = response.dataset_max_size_single_file_mb, + dataset_files_type = response.dataset_files_type, + dataset_type = response.dataset_type, + dataset_description = response.dataset_description) + return method_metadata + + def update_model(self, model_id: str, + model_name: str="", + description: str="", + addresses_with_access: list[str]=None) -> Model: + if addresses_with_access is None: + addresses_with_access = [] + auth_details = self._get_auth_details(ModelMethodMessage.UpdateModel) + update_model_request = self.training_daemon.UpdateModelRequest( + authorization=auth_details,model_id=model_id, + model_name=model_name, + description=description, + address_list=addresses_with_access + ) + response = self._call_method("update_model", + request_data=update_model_request) + return response + + """PAID METHODS TO CALL""" + + def upload_and_validate(self, model_id: str, + zip_path: str | Path | PurePath, price: int) -> ModelStatus: + f = open(zip_path, 'rb') + file_size = os.path.getsize(zip_path) + + file_name = os.path.basename(zip_path) + file_size = file_size + batch_size = 1024*1024 + batch_count = file_size // batch_size + if file_size % batch_size != 0: + batch_count += 1 + + self._check_dataset(model_id, zip_path) + + auth_details = self._get_auth_details(ModelMethodMessage.UploadAndValidate) + + def request_iter(file): + batch = file.read(batch_size) + batch_number = 1 + while batch: + upload_input = self.training.UploadInput( + model_id = model_id, + data = batch, + file_name = file_name, + file_size = file_size, + batch_size = batch_size, + batch_number = batch_number, + batch_count = batch_count + ) + yield self.training_daemon.UploadAndValidateRequest( + authorization=auth_details, + upload_input=upload_input + ) + batch = file.read(batch_size) + batch_number += 1 + + self.payment_strategy.set_price(price) + self.payment_strategy.set_model_id(model_id) + + response = self._call_method("upload_and_validate", + request_data=request_iter(f), + paid=True) # TODO: change to paid + f.close() + + return ModelStatus(response.status) + + def train_model(self, model_id: str, price: int) -> ModelStatus: + auth_details = self._get_auth_details(ModelMethodMessage.TrainModel) + common_request = self.training_daemon.CommonRequest(authorization=auth_details, + model_id=model_id) + self.payment_strategy.set_price(price) + self.payment_strategy.set_model_id(model_id) + + response = self._call_method("train_model", + request_data=common_request, + paid=True) # TODO: change to paid + + return ModelStatus(response.status) + + """PRIVATE METHODS""" + + def _call_method(self, method_name: str, + request_data, + paid=False) -> Any: try: - auth_req, channel = self._invoke_model(service_client, ModelMethodMessage.UpdateModelAccess) - model_details = self.training_pb2.ModelDetails(grpc_method_name=grpc_method_name, - description=description, - grpc_service_name=grpc_service_name, - address_list=address_list, - is_publicly_accessible=is_public, - model_name=model_name, - model_id=str(model_id)) - stub = self.training_pb2_grpc.ModelStub(channel) - response = stub.update_model_access( - self.training_pb2.UpdateModelRequest(authorization=auth_req, update_model_details=model_details)) + stub = self._get_training_stub(paid=paid) + response = getattr(stub, method_name)(request_data) return response - except Exception as e: - print("Exception: ", e) - return e + except grpc.RpcError as e: + raise GRPCException(e) + + def _get_training_stub(self, paid=False) -> Any: + grpc_channel = self.service_client.get_grpc_base_channel() + if paid: + grpc_channel = self._get_grpc_channel(grpc_channel) + return self.training_daemon_grpc.DaemonStub(grpc_channel) + + def _get_auth_details(self, method_msg: ModelMethodMessage) -> Any: + current_block_number = self.service_client.get_current_block_number() + address = self.service_client.account.address + signature = self.service_client.generate_training_signature(method_msg.value, + address, + current_block_number) + auth_details = self.training_daemon.AuthorizationDetails( + signature=bytes(signature), + current_block=current_block_number, + signer_address=address, + message=method_msg.value + ) + return auth_details - # params from AI-service: None - # params to daemon: grpc_service_name, grpc_method_name - def get_all_models(self, service_client, grpc_method_name: str, grpc_service_name='service'): + def _check_method_name(self, method_name: str) -> tuple[str, str]: + services_methods, _ = self.service_client.get_services_and_messages_info() + for service, methods in services_methods.items(): + for method in methods: + if method[0] == method_name: + return service, method[0] + raise WrongMethodException(method_name) + + def _check_training(self) -> bool: try: - auth_req, channel = self._invoke_model(service_client, ModelMethodMessage.GetAllModels) - stub = self.training_pb2_grpc.ModelStub(channel) - response = stub.get_all_models( - self.training_pb2.AccessibleModelsRequest(authorization=auth_req, - grpc_service_name=grpc_service_name, - grpc_method_name=grpc_method_name)) - return response - except Exception as e: - print("Exception: ", e) - return e + service_methods = self.get_training_metadata().training_methods + except GRPCException as e: + return False + if len(service_methods.keys()) == 0: + return False + n_methods = 0 + for service, methods in service_methods.items(): + n_methods += len(methods) + if n_methods == 0: + return False + else: + return True + + def _check_dataset(self, model_id: str, zip_path: str | Path | PurePath) -> None: + method_metadata = self.get_method_metadata("", model_id) + max_size_mb = method_metadata.dataset_max_size_mb + max_count_files = method_metadata.dataset_max_count_files + max_size_mb_single = method_metadata.dataset_max_size_single_file_mb + file_types = method_metadata.dataset_files_type + file_types = file_types.replace(' ', '').split(',') + + failed_checks = [] + zip_file = ZipFile(zip_path) + + if os.path.getsize(zip_path) > max_size_mb * 1024 * 1024: + failed_checks.append(f"Too big dataset size: " + f"{os.path.getsize(zip_path)} > {max_size_mb} MB") + + files_list = zip_file.infolist() + if len(files_list) > max_count_files: + failed_checks.append(f"Too many files: {len(files_list)} > {max_count_files}") + + for file_info in files_list: + _, extension = os.path.splitext(file_info.filename) + extension = extension[1:] if extension.startswith('.') else extension + if extension not in file_types: + failed_checks.append(f"Wrong file type: `{extension}` in file: " + f"`{file_info.filename}`. Allowed file types: " + f"{', '.join(file_types)}") + if file_info.file_size > max_size_mb_single * 1024 * 1024: + failed_checks.append(f"Too big file `{file_info.filename}` size: " + f"{file_info.file_size / 1024 / 1024} > " + f"{max_size_mb_single} MB") + + if len(failed_checks) > 0: + raise WrongDatasetException(failed_checks) + + def _get_grpc_channel(self, base_channel: grpc.Channel) -> grpc.Channel: + intercept_call_func = create_intercept_call_func(self.payment_strategy.get_payment_metadata, + self.service_client) + grpc_channel = grpc.intercept_channel( + base_channel, + generic_client_interceptor.create(intercept_call_func) + ) + return grpc_channel + + def get_model_id_object(self, model_id: str) -> Any: + return self.training.ModelID(model_id=model_id) + diff --git a/snet/sdk/training/training_v2.py b/snet/sdk/training/training_v2.py deleted file mode 100644 index f4cf7d7..0000000 --- a/snet/sdk/training/training_v2.py +++ /dev/null @@ -1,367 +0,0 @@ -import enum -from pathlib import PurePath, Path -import os -from zipfile import ZipFile -from typing import Any -import grpc -import importlib - -from snet.sdk import generic_client_interceptor -from snet.sdk.payment_strategies.training_payment_strategy import TrainingPaymentStrategy -from snet.sdk.utils.call_utils import create_intercept_call_func -from snet.sdk.utils.utils import add_to_path, RESOURCES_PATH -from snet.sdk.training.exceptions import ( - WrongDatasetException, - WrongMethodException, - GRPCException -) -from snet.sdk.training.responses import ( - ModelStatus, - Model, - TrainingMetadata, - MethodMetadata, - ModelMethodMessage -) - - -class TrainingV2: - def __init__(self, service_client, training_added=False): - with add_to_path(str(RESOURCES_PATH.joinpath("proto"))): - self.training_daemon = importlib.import_module("training_daemon_pb2") - self.training_daemon_grpc = importlib.import_module("training_daemon_pb2_grpc") - self.training = importlib.import_module("training_v2_pb2") - - self.service_client = service_client - self.is_enabled = training_added and self._check_training() - self.payment_strategy = TrainingPaymentStrategy() - - """FREE METHODS TO CALL""" - - def create_model(self, method_name: str, - model_name: str, - model_description: str="", - is_public_accessible: bool=False, - addresses_with_access: list[str]=None) -> Model: - if addresses_with_access is None: - addresses_with_access = [] - - service_name, method_name = self._check_method_name(method_name) - new_model = self.training.NewModel(name=model_name, - description=model_description, - grpc_method_name=method_name, - grpc_service_name=service_name, - is_public=is_public_accessible, - address_list=addresses_with_access, - organization_id=self.service_client.org_id, - service_id=self.service_client.service_id, - group_id=self.service_client.group["group_id"]) - auth_details = self._get_auth_details(ModelMethodMessage.CreateModel) - create_model_request = self.training_daemon.NewModelRequest(authorization=auth_details, - model=new_model) - response = self._call_method("create_model", - request_data=create_model_request) - model = Model(model_id=response.model_id, - status=ModelStatus(response.status), - updated_date=response.updated_date, - name=response.name, - description=response.description, - grpc_method_name=response.grpc_method_name, - grpc_service_name=response.grpc_service_name, - address_list=response.address_list, - is_public=response.is_public, - training_data_link=response.training_data_link) - return model - - def validate_model_price(self, model_id: str) -> int: - auth_details = self._get_auth_details(ModelMethodMessage.ValidateModelPrice) - validate_model_price_request = self.training_daemon.AuthValidateRequest( - authorization=auth_details, - model_id=model_id, - training_data_link="" - ) - response = self._call_method("validate_model_price", - request_data=validate_model_price_request) - return response.price - - def train_model_price(self, model_id: str) -> int: - auth_details = self._get_auth_details(ModelMethodMessage.TrainModelPrice) - common_request = self.training_daemon.CommonRequest(authorization=auth_details, - model_id=model_id) - response = self._call_method("train_model_price", - request_data=common_request) - return response.price - - def delete_model(self, model_id: str) -> ModelStatus: - auth_details = self._get_auth_details(ModelMethodMessage.DeleteModel) - common_request = self.training_daemon.CommonRequest(authorization=auth_details, - model_id=model_id) - response = self._call_method("delete_model", - request_data=common_request) - return ModelStatus(response.status) - - def get_training_metadata(self) -> TrainingMetadata: - empty_request = self.training_daemon.google_dot_protobuf_dot_empty__pb2.Empty() - response = self._call_method("get_training_metadata", - request_data=empty_request) - - training_metadata = TrainingMetadata(training_enabled=response.trainingEnabled, - training_in_proto=response.trainingInProto, - training_methods=response.trainingMethods) - - return training_metadata - - def get_all_models(self, status: ModelStatus=None, - is_public: bool=False, - ) -> list[Model]: - if status: - status = getattr(self.training.Status, status.value) - auth_details = self._get_auth_details(ModelMethodMessage.GetAllModels) - all_models_request = self.training_daemon.AllModelsRequest( - authorization=auth_details, - status=status, - is_public=is_public, - page_size=0, - page=0 - ) - response = self._call_method("get_all_models", - request_data=all_models_request) - models = [] - for model in response.list_of_models: - models.append(Model(model_id=model.model_id, - status=ModelStatus(model.status), - updated_date=model.updated_date, - name=model.name, - description=model.description, - grpc_method_name=model.grpc_method_name, - grpc_service_name=model.grpc_service_name, - address_list=model.address_list, - is_public=model.is_public, - training_data_link=model.training_data_link)) - - return models - - def get_model(self, model_id: str) -> Model: - auth_details = self._get_auth_details(ModelMethodMessage.GetModel) - common_request = self.training_daemon.CommonRequest(authorization=auth_details, - model_id=model_id) - response = self._call_method("get_model", - request_data=common_request) - model = Model(model_id=response.model_id, - status=ModelStatus(response.status), - updated_date=response.updated_date, - name=response.name, - description=response.description, - grpc_method_name=response.grpc_method_name, - grpc_service_name=response.grpc_service_name, - address_list=response.address_list, - is_public=response.is_public, - training_data_link=response.training_data_link) - - return model - - def get_method_metadata(self, method_name: str, model_id: str= "") -> MethodMetadata: - - if model_id: - requirements_request = self.training_daemon.MethodMetadataRequest( - grpc_method_name="", - grpc_service_name="", - model_id=model_id - ) - else: - service_name, method_name = self._check_method_name(method_name) - requirements_request = self.training_daemon.MethodMetadataRequest( - grpc_method_name=method_name, - grpc_service_name=service_name, - model_id="" - ) - response = self._call_method("get_method_metadata", - request_data=requirements_request) - - method_metadata = MethodMetadata(default_model_id = response.default_model_id, - max_models_per_user = response.max_models_per_user, - dataset_max_size_mb = response.dataset_max_size_mb, - dataset_max_count_files = response.dataset_max_count_files, - dataset_max_size_single_file_mb = response.dataset_max_size_single_file_mb, - dataset_files_type = response.dataset_files_type, - dataset_type = response.dataset_type, - dataset_description = response.dataset_description) - return method_metadata - - def update_model(self, model_id: str, - model_name: str="", - description: str="", - addresses_with_access: list[str]=None) -> Model: - if addresses_with_access is None: - addresses_with_access = [] - auth_details = self._get_auth_details(ModelMethodMessage.UpdateModel) - update_model_request = self.training_daemon.UpdateModelRequest( - authorization=auth_details,model_id=model_id, - model_name=model_name, - description=description, - address_list=addresses_with_access - ) - response = self._call_method("update_model", - request_data=update_model_request) - return response - - """PAID METHODS TO CALL""" - - def upload_and_validate(self, model_id: str, - zip_path: str | Path | PurePath, price: int) -> ModelStatus: - f = open(zip_path, 'rb') - file_size = os.path.getsize(zip_path) - - file_name = os.path.basename(zip_path) - file_size = file_size - batch_size = 1024*1024 - batch_count = file_size // batch_size - if file_size % batch_size != 0: - batch_count += 1 - - self._check_dataset(model_id, zip_path) - - auth_details = self._get_auth_details(ModelMethodMessage.UploadAndValidate) - - def request_iter(file): - batch = file.read(batch_size) - batch_number = 1 - while batch: - upload_input = self.training.UploadInput( - model_id = model_id, - data = batch, - file_name = file_name, - file_size = file_size, - batch_size = batch_size, - batch_number = batch_number, - batch_count = batch_count - ) - yield self.training_daemon.UploadAndValidateRequest( - authorization=auth_details, - upload_input=upload_input - ) - batch = file.read(batch_size) - batch_number += 1 - - self.payment_strategy.set_price(price) - self.payment_strategy.set_model_id(model_id) - - response = self._call_method("upload_and_validate", - request_data=request_iter(f), - paid=True) # TODO: change to paid - f.close() - - return ModelStatus(response.status) - - def train_model(self, model_id: str, price: int) -> ModelStatus: - auth_details = self._get_auth_details(ModelMethodMessage.TrainModel) - common_request = self.training_daemon.CommonRequest(authorization=auth_details, - model_id=model_id) - self.payment_strategy.set_price(price) - self.payment_strategy.set_model_id(model_id) - - response = self._call_method("train_model", - request_data=common_request, - paid=True) # TODO: change to paid - - return ModelStatus(response.status) - - """PRIVATE METHODS""" - - def _call_method(self, method_name: str, - request_data, - paid=False) -> Any: - try: - stub = self._get_training_stub(paid=paid) - response = getattr(stub, method_name)(request_data) - return response - except grpc.RpcError as e: - raise GRPCException(e) - - def _get_training_stub(self, paid=False) -> Any: - grpc_channel = self.service_client.get_grpc_base_channel() - if paid: - grpc_channel = self._get_grpc_channel(grpc_channel) - return self.training_daemon_grpc.DaemonStub(grpc_channel) - - def _get_auth_details(self, method_msg: ModelMethodMessage) -> Any: - current_block_number = self.service_client.get_current_block_number() - address = self.service_client.account.address - signature = self.service_client.generate_training_signature(method_msg.value, - address, - current_block_number) - auth_details = self.training_daemon.AuthorizationDetails( - signature=bytes(signature), - current_block=current_block_number, - signer_address=address, - message=method_msg.value - ) - return auth_details - - def _check_method_name(self, method_name: str) -> tuple[str, str]: - services_methods, _ = self.service_client.get_services_and_messages_info() - for service, methods in services_methods.items(): - for method in methods: - if method[0] == method_name: - return service, method[0] - raise WrongMethodException(method_name) - - def _check_training(self) -> bool: - try: - service_methods = self.get_training_metadata().training_methods - except GRPCException as e: - return False - if len(service_methods.keys()) == 0: - return False - n_methods = 0 - for service, methods in service_methods.items(): - n_methods += len(methods) - if n_methods == 0: - return False - else: - return True - - def _check_dataset(self, model_id: str, zip_path: str | Path | PurePath) -> None: - method_metadata = self.get_method_metadata("", model_id) - max_size_mb = method_metadata.dataset_max_size_mb - max_count_files = method_metadata.dataset_max_count_files - max_size_mb_single = method_metadata.dataset_max_size_single_file_mb - file_types = method_metadata.dataset_files_type - file_types = file_types.replace(' ', '').split(',') - - failed_checks = [] - zip_file = ZipFile(zip_path) - - if os.path.getsize(zip_path) > max_size_mb * 1024 * 1024: - failed_checks.append(f"Too big dataset size: " - f"{os.path.getsize(zip_path)} > {max_size_mb} MB") - - files_list = zip_file.infolist() - if len(files_list) > max_count_files: - failed_checks.append(f"Too many files: {len(files_list)} > {max_count_files}") - - for file_info in files_list: - _, extension = os.path.splitext(file_info.filename) - extension = extension[1:] if extension.startswith('.') else extension - print(extension) - if extension not in file_types: - failed_checks.append(f"Wrong file type: `{extension}` in file: " - f"`{file_info.filename}`. Allowed file types: " - f"{', '.join(file_types)}") - if file_info.file_size > max_size_mb_single * 1024 * 1024: - failed_checks.append(f"Too big file `{file_info.filename}` size: " - f"{file_info.file_size / 1024 / 1024} > " - f"{max_size_mb_single} MB") - - if len(failed_checks) > 0: - raise WrongDatasetException(failed_checks) - - def _get_grpc_channel(self, base_channel: grpc.Channel) -> grpc.Channel: - intercept_call_func = create_intercept_call_func(self.payment_strategy.get_payment_metadata, - self.service_client) - grpc_channel = grpc.intercept_channel( - base_channel, - generic_client_interceptor.create(intercept_call_func) - ) - return grpc_channel - - diff --git a/snet/sdk/utils/utils.py b/snet/sdk/utils/utils.py index 4adbe4f..cd839e3 100644 --- a/snet/sdk/utils/utils.py +++ b/snet/sdk/utils/utils.py @@ -79,7 +79,9 @@ def compile_proto( compiler_args.extend([str(p) for p in entry_path.glob("**/*.proto")]) if add_training: - compiler_args.append(str(training_include.joinpath("training_v2.proto"))) + compiler_args.append(str(training_include.joinpath("training.proto"))) + + print(compiler_args) if not compiler(compiler_args): return True diff --git a/tests/unit_tests/test_files.zip b/tests/unit_tests/test_files.zip new file mode 100644 index 0000000000000000000000000000000000000000..47a85fc3395a534ad1516fcf202c0437dcf6f192 GIT binary patch literal 25855000 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
  • SP$Jo3)q%{PJRE?1D}Ct#Bqewa5~rAkX(GG@MuL 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

    >)^> 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𝔞HSeRtk{jjL!!kSQ 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ȟ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

    R*H9%E7YfO7*m*I(0(iUEU+ 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νE3?^VZrfRW)TwHHd~Y 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 cYU38+51$2Oxe%HRnOnzL7cycD7ahBSsK5 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ⅈ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

    r`>8QC;d#3;l^*Q8ZSo(73z0%WEFD%gjmo$7lP$ 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 z�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

    (uZ02zq1Ch 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

    HxHORI?E_IFtfFW$0~bYB$l{E+LE5 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%0D?e$zkcC;3Wv=}5UE$6Q1UVU!-IR+ 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