microsoft / responsible-ai-toolbox

Responsible AI Toolbox is a suite of tools providing model and data exploration and assessment user interfaces and libraries that enable a better understanding of AI systems. These interfaces and libraries empower developers and stakeholders of AI systems to develop and monitor AI more responsibly, and take better data-driven actions.
https://responsibleaitoolbox.ai/
MIT License
1.37k stars 359 forks source link

Empty Error Analysis Dashboard and no access to Remote Proxy VM hosted #1684

Open monika173 opened 2 years ago

monika173 commented 2 years ago

Describe the bug Hi team, we are trying to run the Explanation Dashboard on a proxy server. But, unable to get some of the views like the tree view as they are being searched for in the localhost. Saw an option to add a public ip in the parameters of the Explanation Dashboard, which unfortunately is not working in our case. Is there a way to pass the proxy url instead? Eg : ErrorAnalysisDashboard(explanation=global_explanation, model=dashboard_pipeline, dataset=X_test_original_full, true_y=y_test, categorical_features=categorical_features, true_y_dataset=y_test_full, port=5000, public_ip="40.113.65.18")

Instead of the public_ip, is there a way to pass the proxyurl as 'https://proxyurl/endpoint'?

Thanks! To Reproduce Steps to reproduce the behavior: Copy the Test Error Analysis Dashboard jupyter notebook on a proxy server. On trying to access this on the remote url, getting empty views.

image image

Stack trace If applicable, please add the sdk stack trace for the error.

Expected behavior

image

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

imatiach-msft commented 2 years ago

hi @monika173 we pass the public ip to flask service that we start here: https://github.com/microsoft/responsible-ai-toolbox/blob/main/raiwidgets/raiwidgets/dashboard.py#L70

This FlaskHelper, which starts flask with the optional public ip, is defined here: https://github.com/microsoft/responsible-ai-toolbox/blob/main/rai_core_flask/rai_core_flask/flask_helper.py

Is there some way to start flask or WSGIServer (see where it is called in flask_helper) with proxyurl? Otherwise I'm not aware of a way to make this work.

I do want to add a static view of error analysis though. That would in some sense mitigate this issue, since it wouldn't call back to the python backend then, but the experience would be more restrictive since it would be a static app and you wouldn't be able to retrain the Error Analysis tree on demand. This static view is already available for spark/databricks scenario, and it should be simple to extend it to work for python scenario.

If we can figure out how to make this work with proxyurl that would be ideal though.

ruloweb commented 11 months ago

I had a similar issue trying to run it with Docker on Mac, it worked after I added the parameter public_ip="0.0.0.0" with a fixed port=5050.