code: def infer(self, server_url, model_name, model_version, inputs):
      fastdeploy_client = self._create_client(server_url)
      input_metadata, output_metadata = self.get_model_meta(
          server_url, model_name, model_version
      )
      inputs, outputs = prepare_request(
          input_metadata, inputs, output_metadata
      )
      response = fastdeploy_client.infer(
          model_name,
          inputs,
          model_version=model_version,
          outputs=outputs,
      )
  
      results = {}
      for output in output_metadata:
          result = response.as_numpy(output["name"])  # datatype: numpy
          if output["datatype"] == "BYTES":  # datatype: bytes
              try:
                  value = result
                  if len(result.shape) == 1:
                      value = result[0]
                  elif len(result.shape) == 2:
                      value = result[0][0]
                  elif len(result.shape) == 3:
                      value = result[0][0][0]
                  result = json.loads(value)  # datatype: json
              except Exception:
                  pass
          else:
              result = result[0]
          results[output["name"]] = result
      return results
  
file_path: VisualDL/visualdl/component/inference/fastdeploy_client/http_client_manager.py
imports: import json
  import re
  import numpy
  import requests
  import tritonclient.http
label_desc: Use image node_id 3 for calling the HttpClientManager obj's underlying member method code with example usage: obj.infer(server_url, model_name, model_version, inputs) and returns: results