code: def build_filter_trial(
      keep_trial_indices: List[int],
  ) -> Callable[[Observation], bool]:
      """Creates a callable that filters observations based on trial_index"""
  
      def trial_filter(obs: Observation) -> bool:
          return obs.features.trial_index in keep_trial_indices
  
      return trial_filter
  
imports: import math
  from collections import Counter
  from logging import Logger
  from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union
  import numpy
  from ax.core.generator_run import GeneratorRun
  from ax.core.observation import Observation, ObservationFeatures
  from ax.core.parameter import ChoiceParameter, FixedParameter, Parameter, ParameterType, RangeParameter
  from ax.core.types import TParameterization
  from ax.modelbridge.base import ModelBridge
  from ax.modelbridge.prediction_utils import _compute_scalarized_outcome, predict_at_point
  from ax.modelbridge.transforms.ivw import IVW
  from ax.plot.base import DECIMALS, PlotData, PlotInSampleArm, PlotOutOfSampleArm, Z
  from ax.utils.common.logger import get_logger
  from ax.utils.common.typeutils import not_none
label_desc: Use image node_id 24 for calling a global function with example usage: build_filter_trial(keep_trial_indices) and returns: trial_filter, unknown