Skip to Content
Meet the New ecosystem.Ai Resources Hub! 🚀
DocsConfigurationPython Package

ecosystem-notebooks Python Package

The ecosystem-notebooks python package provides access to all of the ecosystem.Ai configuration options through a python interface.

Installation

Install ecosystem.Ai by following either the Local Installation Guide or the cloud Marketplace App Guide.

To use ecosystem-notebooks, install it using pip:

(.venv) $ pip install ecosystem-notebooks

Connect to ecosystem.Ai using the url of your ecosystem.Ai server and a valid username and password for your server:

from prediction import jwt_access auth = jwt_access.Authenticate("http://ecosystem-server:3001/api", "ecosystem_username", "ecosystem_password")

If everything is set up correctly a Login Successful. message will be displayed.

Get Started

The ecosystem-notebooks package provides two main modules: prediction and runtime. The prediction module is used to interact with the server APIs of ecosystem.Ai, while the runtime module is used to interact with the runtime APIs of ecosystem.Ai.

Here we’ll work through configuring your first deployment using a pretrained H2O.ai model using the server. Pushing the deployment to a runtime instance and testing the response received from the runtime instance.

#Import the required ecosystem.Ai modules from prediction.apis import deployment_management as dm from prediction.apis import ecosystem_generation_engine as ge from prediction.apis import data_management_engine as dme from prediction.apis import online_learning_management as ol from prediction.apis import prediction_engine as pe from prediction.apis import worker_file_service as fs from prediction import jwt_access from runtime.apis import predictor_engine as o from runtime import access import pprint #Authenticate with the ecosystem.Ai server auth = jwt_access.Authenticate("http://ecosystem-server:3001/api", "ecosystem_username", "ecosystem_password") #The name and details of of the project and deployment on which you will be working. project_id = "demo_project" project_description = "Demo project for ecosystem.Ai" project_type = "Recommender" purpose = "Demo" project_start_date = "2024-01-01" project_end_date = "2024-01-31" data_science_lead = "ecosystem.Ai" data_lead = "ecosystem.Ai" deployment_id = "simple_model_deployment" deployment_description = "Simple model deployment using a pretrained H2O.ai model" runtime_path="http://localhost:8014" #Create a project. This set is not required if you will be working in an existing project dm.create_project(auth,project_id,project_description,project_type,purpose,project_start_date,project_end_date,data_science_lead,data_lead) model_configuration = define_deployment_model_configuration(models_to_load=["model_id"]) #Configure the lookup to the customer feature store parameter_access = dm.define_deployment_parameter_access( auth, lookup_key="msisdn", lookup_type="int", database="prod_estore_gsm_recommender", table_collection="fs_score_all_estore_gsm_recommender_rel_1", datasource="mongodb", virtual_variables=virtual_variables ) #Create your deployment version = "001" deployment_step = dm.create_deployment( auth, project_id=project_id, deployment_id=deployment_id, description=deployment_description, version=version, plugin_post_score_class="PostScoreBasic.java", plugin_pre_score_class="PrePredictCustomer.java", scoring_engine_path_dev=runtime_path, mongo_connect="mongodb://mongouser:mongopassword@ecosystem-server:54445/?authSource=admin", parameter_access=parameter_access, model_configuration=model_configuration, ) #Push deployment and produce properties file push_result = ge.process_push(auth_local,deployment_step) if "ErrorMessage" in push_result: print(push_result["ErrorMessage"]) else: print(push_result["properties"]) #Test your deployment post_invocations_input = { "campaign": deployment_id , "subcampaign": "none" , "channel": "notebooks" , "customer": 12345 , "userid": "test" , "numberoffers": 2 , "params": "{}" } offer_response = o.invocations(auth_runtime, post_invocations_input) pp.pprint(offer_response)

For further detail on the functionality available in the python package see the Documentation .

Last updated on