Currently, consumers who want to use RptInferenceClient directly (outside the automatic Fiori recommendation flow) must manually emit 3 event contexts in sequence:
RemoteService service = runtime.getServiceCatalog().getService(RemoteService.class, AICore_.CDS_NAME);
ResourceGroupContext rgCtx = ResourceGroupContext.create();
service.emit(rgCtx);
String rg = rgCtx.getResult();
DeploymentIdContext depCtx = DeploymentIdContext.create();
depCtx.setResourceGroupId(rg);
depCtx.setSpec(RptModelSpec.rpt1());
service.emit(depCtx);
InferenceClientContext infCtx = InferenceClientContext.create();
infCtx.setResourceGroupId(rg);
infCtx.setDeploymentId(depCtx.getResult());
service.emit(infCtx);
RptInferenceClient client = new RptInferenceClient(infCtx.getResult(), keyNames);
Add a static factory method on RptInferenceClient that encapsulates this:
RptInferenceClient client = RptInferenceClient.create(service, keyNames);
Currently, consumers who want to use RptInferenceClient directly (outside the automatic Fiori recommendation flow) must manually emit 3 event contexts in sequence: