Expand session mgmt with explanations

Need: calling the explanation of a prediction based on the context of a prediction on a model.

Expected: allow invocation to be related to the explainer model-key though having reference to the model session (related with another model-key).

Flow:

  • create session 1 on model-key A
  • create invocation 1 for prediction on session 1 toward model-key A
  • right now you can just create another session (2) with its invocation (2) on explainer-key B for explanation
  • but it would be useful to have invocation 2 related to model-key B and on session 1 in order to have access the session 1 context

Solution proposed:

  • allow invocation to have reference to a model-key B different from the belonging session model-key A with the clause of the model-key B being one of the explainers of the model-key A

Moreover:

  • Broadcast issue to other related projecs.
  • Change map_request(self, tango_request: TangoRequest) -> object to def map_request(self, tango_request: TangoRequest, session: WorkingSession = None) method in the TANGO Model interface in order to allow model to receive the entire session.
  • Add need_context (similar to real_time and allow_download) to model meta attributes.
  • Add a flag to the invocation to drive context feeding when forwarding invocation.
Edited by Marco Angheben