Exemple #1
0
    def deploy_spec(self, model_spec: ModelSpec):
        self._create_api_client()
        env_api = EnvironmentApi(self.api_client)
        user = env_api.read_user()

        print(user)

        # TODO: Use KubernetesSpec().spec
        sd = SeldonDeployment(
            kind="SeldonDeployment",
            api_version="machinelearning.seldon.io/v1",
            metadata=ObjectMeta(
                name=model_spec.model_details.name,
                namespace=model_spec.runtime_options.namespace,  # type: ignore
            ),
            spec=SeldonDeploymentSpec(predictors=[
                PredictorSpec(
                    graph=PredictiveUnit(
                        implementation=KubernetesSpec.Implementations[
                            model_spec.model_details.platform],
                        model_uri=model_spec.model_details.uri,
                        name="model",
                    ),
                    name="default",
                    replicas=model_spec.runtime_options.
                    replicas,  # type: ignore
                )
            ]),
        )

        dep_instance = SeldonDeploymentsApi(self.api_client)
        dep_instance.create_seldon_deployment(
            model_spec.runtime_options.namespace, sd)  # type: ignore
Exemple #2
0
def init_api():
    config = Configuration()
    config.host = deploy_api_host
    config.oidc_client_id = oidc_client_id
    config.oidc_server = oidc_server
    config.username = oidc_username
    config.password = oidc_password
    config.oidc_client_secret = oidc_client_secret
    config.auth_method = oidc_auth_method

    if not config.auth_method or config.auth_method is None:
        config.auth_method = 'password_grant'

    if not config.host or config.host is None:
        print('No DEPLOY_API_HOST - will not look up metadata from Deploy')
        return

    if not config.oidc_server or config.oidc_server is None:
        print(
            'No OIDC_PROVIDER - auth will not be used in connecting to metadata'
        )
        return

    auth = None
    if config.oidc_server:
        auth = OIDCAuthenticator(config)
        config.access_token = auth.authenticate()

    api_client = ApiClient(configuration=config, authenticator=auth)

    env_api = EnvironmentApi(api_client)
    print('connected to deploy')
    print(env_api.read_user())
    global metadata_api
    metadata_api = ModelMetadataServiceApi(api_client)
Exemple #3
0
def init_api():
    config = Configuration()
    config.host = deploy_api_host
    config.oidc_client_id = oidc_client_id
    config.oidc_server = oidc_server
    config.username = oidc_username
    config.password = oidc_password
    config.oidc_client_secret = oidc_client_secret
    config.oidc_resource = oidc_resource
    config.auth_method = oidc_auth_method
    if verify_ssl.lower() != "true":
        config.verify_ssl = False
        os.environ["CURL_CA_BUNDLE"] = ""

    if not config.auth_method:
        config.auth_method = "password_grant"

    if not config.host:
        print("No DEPLOY_API_HOST - will not look up metadata from Deploy")
        return

    if not config.oidc_server:
        print(
            "No OIDC_PROVIDER - auth will not be used in connecting to metadata"
        )

    auth = None
    if config.oidc_server:
        auth = OIDCAuthenticator(config)
        config.access_token = auth.authenticate()

    api_client = ApiClient(configuration=config, authenticator=auth)

    env_api = EnvironmentApi(api_client)
    print("connected to deploy")
    print(env_api.read_user())
    global metadata_api
    metadata_api = ModelMetadataServiceApi(api_client)
Exemple #4
0
                    "name": "Dog"
                }, {
                    "name": "Frog"
                }, {
                    "name": "Horse"
                }, {
                    "name": "Ship"
                }, {
                    "name": "Truck"
                }]
            }]
        }
    }
]

for model in models:
    body = V1Model(**model)
    try:
        env_api = EnvironmentApi(api_client)
        print(env_api.read_user())

        api_response = api_instance.model_metadata_service_create_model_metadata(
            body)
        print(str(api_response))

        metadata_list = api_instance.model_metadata_service_list_model_metadata(
        )
        print(str(metadata_list))
    except ApiException as e:
        print(e)
        print(f"Couldn't create model: {json.loads(e.body)['message']}")