1414import pandas as pd
1515from sklearn .model_selection import train_test_split
1616import numpy as np
17- from sklearn .metrics import confusion_matrix , accuracy_score , precision_score , recall_score , f1_score
17+ from sklearn .metrics import (
18+ confusion_matrix ,
19+ accuracy_score ,
20+ precision_score ,
21+ recall_score ,
22+ f1_score ,
23+ )
1824from ibm_cloud_sdk_core .authenticators import IAMAuthenticator
1925from ibm_watson_openscale import *
2026from ibm_watson_openscale .supporting_classes .enums import *
5662 print ("Watson OpenScale GUID NOT FOUND" )
5763else :
5864 print (WOS_GUID )
59-
65+
6066ai_client = APIClient (aios_credentials = WOS_CREDENTIALS )
6167print (ai_client .version )
6268
7480
7581authenticator = IAMAuthenticator (apikey = credentials ["apikey" ])
7682wos_client = ibm_watson_openscale .APIClient (
77- authenticator = authenticator ,
78- service_url = "https://api.aiopenscale.cloud.ibm.com" )
79-
83+ authenticator = authenticator , service_url = "https://api.aiopenscale.cloud.ibm.com"
84+ )
8085
8186
8287KEEP_MY_INTERNAL_POSTGRES = True
153158subscription = None
154159
155160if subscription is None :
156- print (' Subscription already exists; get the existing one' )
161+ print (" Subscription already exists; get the existing one" )
157162 subscriptions_uids = ai_client .data_mart .subscriptions .get_uids ()
158163
159164 for sub in subscriptions_uids :
160- if ai_client .data_mart .subscriptions .get_details (sub )['entity' ]['asset' ]['name' ] == MODEL_NAME :
165+ if (
166+ ai_client .data_mart .subscriptions .get_details (sub )["entity" ]["asset" ][
167+ "name"
168+ ]
169+ == MODEL_NAME
170+ ):
161171 subscription = ai_client .data_mart .subscriptions .get (sub )
162172
163173
164- for deployment in wml_client .deployments .get_details ()['resources' ]:
165- if DEPLOYMENT_UID in deployment ['metadata' ]['id' ]:
174+ for deployment in wml_client .deployments .get_details ()["resources" ]:
175+ if DEPLOYMENT_UID in deployment ["metadata" ]["id" ]:
176+
177+ scoring_endpoint = deployment ["entity" ]["status" ]["online_url" ]["url" ]
166178
167- scoring_endpoint = deployment ['entity' ]['status' ]['online_url' ]['url' ]
168-
169179print (scoring_endpoint )
170180
171181
180190
181191# Payload Logging DAtASET
182192
183- payload_data_set_id = wos_client .data_sets .list (type = DataSetTypes .PAYLOAD_LOGGING ,
184- target_target_id = subscription_id ,
185- target_target_type = TargetTypes .SUBSCRIPTION ).result .data_sets [0 ].metadata .id
193+ payload_data_set_id = (
194+ wos_client .data_sets .list (
195+ type = DataSetTypes .PAYLOAD_LOGGING ,
196+ target_target_id = subscription_id ,
197+ target_target_type = TargetTypes .SUBSCRIPTION ,
198+ )
199+ .result .data_sets [0 ]
200+ .metadata .id
201+ )
186202print ("Payload data set id:" , payload_data_set_id )
187203
188204
197213
198214scoring_response = wml_client .deployments .score (DEPLOYMENT_UID , payload_scoring )
199215
200- print ('Logging' )
201- records = [PayloadRecord (request = payload_scoring , response = scoring_response , response_time = 72 )]
202- store_record_info = wos_client .data_sets .store_records (payload_data_set_id ,records )
216+ print ("Logging" )
217+ records = [
218+ PayloadRecord (request = payload_scoring , response = scoring_response , response_time = 72 )
219+ ]
220+ store_record_info = wos_client .data_sets .store_records (payload_data_set_id , records )
203221
204222
205223# Feedback Logging
206224
207- feedback_dataset = wos_client .data_sets .list (type = DataSetTypes .FEEDBACK ,
208- target_target_id = subscription_id ,
209- target_target_type = TargetTypes .SUBSCRIPTION ).result
225+ feedback_dataset = wos_client .data_sets .list (
226+ type = DataSetTypes .FEEDBACK ,
227+ target_target_id = subscription_id ,
228+ target_target_type = TargetTypes .SUBSCRIPTION ,
229+ ).result
210230
211231feedback_dataset_id = feedback_dataset .data_sets [0 ].metadata .id
212232if feedback_dataset_id is None :
213233 print ("Feedback data set not found. Please check quality monitor status." )
214234 sys .exit (1 )
215235
216- data = X_test .to_dict (' records' )
236+ data = X_test .to_dict (" records" )
217237
218238wos_client .data_sets .store_records (
219- feedback_dataset_id ,
220- request_body = data ,
239+ feedback_dataset_id ,
240+ request_body = data ,
221241 background_mode = False ,
222242 header = True ,
223- delimiter = ',' ,
224- csv_max_line_length = 1000 )
243+ delimiter = "," ,
244+ csv_max_line_length = 1000 ,
245+ )
225246
226247print (wos_client .data_sets .get_records_count (data_set_id = feedback_dataset_id ))
227248
231252
232253from ibm_watson_openscale .supporting_classes .enums import *
233254
234- print (' \n Data marts: ' )
255+ print (" \n Data marts: " )
235256datams = wos_client .data_marts .list ().result .data_marts
236257for d in datams :
237258 print (d .metadata .id )
238259datamart_id = d .metadata .id
239260
240- print (' \n Service providers: ' )
261+ print (" \n Service providers: " )
241262services = wos_client .service_providers .list ().result .service_providers
242263for service in services :
243- print (service .metadata .id + " / Name: " + service .entity .name )
264+ print (service .metadata .id + " / Name: " + service .entity .name )
244265service_id = service .metadata .id
245266
246- #wos_client.subscriptions.show()
247- #wos_client.data_sets.show()
267+ # wos_client.subscriptions.show()
268+ # wos_client.data_sets.show()
248269
249- print ('\n Subscriptions: ' )
250- subscriptions = wos_client .subscriptions .list (data_mart_id = datamart_id , service_provider_id = service_id ).result .subscriptions
270+ print ("\n Subscriptions: " )
271+ subscriptions = wos_client .subscriptions .list (
272+ data_mart_id = datamart_id , service_provider_id = service_id
273+ ).result .subscriptions
251274for s in subscriptions :
252- print (s .metadata .id + " " + s .entity .asset .name )
275+ print (s .metadata .id + " " + s .entity .asset .name )
253276subscription_id = s .metadata .id
254277
255- print (' \n ' )
278+ print (" \n " )
256279
257- payload_data_set_id = wos_client .data_sets .list (type = DataSetTypes .PAYLOAD_LOGGING ,
258- target_target_id = subscription_id ,
259- target_target_type = TargetTypes .SUBSCRIPTION ).result .data_sets [0 ].metadata .id
280+ payload_data_set_id = (
281+ wos_client .data_sets .list (
282+ type = DataSetTypes .PAYLOAD_LOGGING ,
283+ target_target_id = subscription_id ,
284+ target_target_type = TargetTypes .SUBSCRIPTION ,
285+ )
286+ .result .data_sets [0 ]
287+ .metadata .id
288+ )
260289print ("Payload data set id:" , payload_data_set_id )
261290
262291
266295 raise Exception ("Payload logging did not happen!" )
267296
268297
269-
270298# Create Monitor
271299
272300target = ibm_watson_openscale .base_classes .watson_open_scale_v2 .Target (
273- target_type = TargetTypes .SUBSCRIPTION ,
274- target_id = subscription .uid
275- )
276- parameters = {
277- "min_feedback_data_size" : 200
278- }
279- thresholds = [{
280- "metric_id" : "area_under_roc" ,
281- "type" : "lower_limit" ,
282- "value" : 0.75
283- }]
301+ target_type = TargetTypes .SUBSCRIPTION , target_id = subscription .uid
302+ )
303+ parameters = {"min_feedback_data_size" : 200 }
304+ thresholds = [{"metric_id" : "area_under_roc" , "type" : "lower_limit" , "value" : 0.75 }]
284305wos_client .monitor_instances .create (
285- data_mart_id = datamart_id ,
286- background_mode = False ,
287- monitor_definition_id = wos_client .monitor_definitions .MONITORS .QUALITY .ID ,
288- target = target ,
289- parameters = parameters ,
290- thresholds = thresholds
306+ data_mart_id = datamart_id ,
307+ background_mode = False ,
308+ monitor_definition_id = wos_client .monitor_definitions .MONITORS .QUALITY .ID ,
309+ target = target ,
310+ parameters = parameters ,
311+ thresholds = thresholds ,
291312)
292313
293314monitor_instances_info = wos_client .monitor_instances .show (
294315 data_mart_id = datamart_id ,
295- )
316+ )
296317
297318
298319# wos_client.monitor_instances.delete(
301322# )
302323
303324monitor_instance_run_info = wos_client .monitor_instances .run (
304- background_mode = False ,
305- monitor_instance_id = '5ddff093-25fa-44f8-abae-fd29659fd0d0'
306- )
325+ background_mode = False , monitor_instance_id = "5ddff093-25fa-44f8-abae-fd29659fd0d0"
326+ )
0 commit comments