code: def build_graph(
      tileables: List[TileableType],
      tile: bool = False,
      fuse_enabled: bool = True,
      **chunk_graph_build_kwargs,
  ) -> Union[TileableGraph, ChunkGraph]:
      tileables = list(
          itertools.chain(
              *(tileable.op.outputs for tileable in tileables)
          )
      )
      tileable_graph = TileableGraph(tileables)
      tileable_graph_builder = TileableGraphBuilder(tileable_graph)
      tileable_graph = next(tileable_graph_builder.build())
      if not tile:
          return tileable_graph
      chunk_graph_builder = ChunkGraphBuilder(
          tileable_graph,
          fuse_enabled=fuse_enabled,
          **chunk_graph_build_kwargs,
      )
      return next(chunk_graph_builder.build())
  
file_path: mars/mars/core/graph/builder/utils.py
imports: import itertools
  from typing import List, Union
  from ....typing import TileableType
  from ...mode import enter_mode
  from ..entity import TileableGraph, ChunkGraph
  from .tileable import TileableGraphBuilder
  from .chunk import ChunkGraphBuilder
label_desc: Use image node_id 1 for calling a global function with example usage: build_graph(tileables, tile, fuse_enabled) and returns: next, tileable_graph