def test_wiring_microservice_api_grpc_feedback(mock_handler): sc = SeldonClient() response = sc.microservice_feedback(prediction_pb2.SeldonMessage(), prediction_pb2.SeldonMessage(), 1.0, transport="grpc") assert mock_handler.call_count == 1
def test_feedback_microservice_rest(mock_post): sc = SeldonClient(deployment_name="mymodel") response = sc.microservice_feedback( prediction_request=prediction_pb2.SeldonMessage(), prediction_response=prediction_pb2.SeldonMessage(), reward=1.0, ) assert response.success == True assert response.response.data.tensor.shape == [1, 1] assert mock_post.call_count == 1
def run_send_feedback(args): """ Make a feedback call to microservice Parameters ---------- args Command line args """ contract = json.load(open(args.contract, "r")) contract = unfold_contract(contract) endpoint = args.host + ":" + str(args.port) sc = SeldonClient(microservice_endpoint=endpoint) for i in range(args.n_requests): batch = generate_batch(contract, args.batch_size, "features") if args.prnt: print("-" * 40) print("SENDING NEW REQUEST:") if not args.grpc: transport = "rest" else: transport = "grpc" if args.tensor: payload_type = "tensor" else: payload_type = "ndarray" response_predict = sc.microservice( data=batch, transport=transport, payload_type=payload_type, method="predict" ) response_feedback = sc.microservice_feedback( prediction_request=response_predict.request, prediction_response=response_predict.response, reward=1.0, transport=transport, ) if args.prnt: print(f"RECEIVED RESPONSE:\n{response_feedback}\n")