code: def serve_inference(async_pipeline, port):
      async_pipeline.start()
      _do_serve(ModelResponse(async_pipeline=async_pipeline), port)
      async_pipeline.shutdown()
  
imports: import asyncio
  import queue
  import sys
  import threading
  from concurrent import futures
  from typing import Dict
  import grpc
  from google.protobuf import empty_pb2
  from mii.backend.client import create_channel
  from mii.constants import GenerationFinishReason, GRPC_MAX_MSG_SIZE, TERMINATE_METHOD, LB_MAX_WORKER_THREADS, SERVER_SHUTDOWN_TIMEOUT, STREAM_RESPONSE_QUEUE_TIMEOUT
  from mii.grpc_related.proto import modelresponse_pb2_grpc
  from mii.grpc_related.task_methods import TASK_METHODS_DICT, TaskMethods
label_desc: Use image node_id 3 for calling a global function with example usage: serve_inference(async_pipeline, port) without return types