code: def test_build_simple_func_dag(serve_instance):
      ray_dag = Add.bind()
      with _DAGNodeNameGenerator() as node_name_generator:
          serve_root_dag = ray_dag.apply_recursive(
              lambda node: transform_ray_dag_to_serve_dag(
                  node, node_name_generator, "default"
              )
          )
  
      # serve_root_dag = ray_dag.apply_recursive(transform_ray_dag_to_serve_dag)
      deployments = extract_deployments_from_serve_dag(serve_root_dag)
      assert len(deployments) == 1
      deployments[0]._deploy()
  
      deployment_handle = deployments[0]._get_handle()
      # Because the bound kwarg is stored in dag, so it has to be explicitly passed in.
      assert (
          ray.get(deployment_handle.remote(1, 2, kwargs_output=1)) == 4
      )
  
file_path: ray/python/ray/serve/tests/test_deployment_graph_build.py
imports: import pytest
  import requests
  import ray
  from ray import serve
  from ray.dag.utils import _DAGNodeNameGenerator
  from ray.serve._private import api
  from ray.serve._private.deployment_graph_build import extract_deployments_from_serve_dag, transform_ray_dag_to_serve_dag
  from ray.serve.handle import DeploymentHandle
  from ray.serve.tests.common.test_modules import NESTED_HANDLE_KEY, Combine, Model
label_desc: Use image node_id 2 for calling a global function with example usage: test_build_simple_func_dag(serve_instance) without return types