code: def create_ui(self):
      with gr.Row():
          with gr.Column():
              select_model = gr.Dropdown(
                  label="Choose a model",
                  elem_id="od_models",
                  elem_classes="select_model",
                  choices=self.model_list,
                  value=self.model_list[0],
              )
          with gr.Column():
              image_input = gr.Image(
                  label="Image",
                  source="upload",
                  elem_classes="input_image",
                  type="filepath",
                  interactive=True,
                  tool="editor",
              )
              text_input = gr.Textbox(
                  label="text prompt",
                  elem_classes="input_text",
                  interactive=True,
              )
              output = gr.Image(
                  label="Result",
                  source="upload",
                  interactive=False,
                  elem_classes="result",
              )
              run_button = gr.Button(
                  "Run",
                  elem_classes="run_button",
              )
              run_button.click(
                  self.inference,
                  inputs=[select_model, image_input, text_input],
                  outputs=output,
              )
  
      with gr.Row():
          example_images = gr.Dataset(
              components=[image_input, text_input],
              samples=[
                  ["demo/demo.jpg", "There are a lot of cars here."]
              ],
          )
          example_images.click(
              fn=self.update,
              inputs=example_images,
              outputs=[image_input, text_input],
          )
  
imports: import gradio
  import torch
  from mmengine.logging import MMLogger
  from mmdet.apis import DetInferencer
  from projects.XDecoder.xdecoder.inference import ImageCaptionInferencer, RefImageCaptionInferencer, TextToImageRegionRetrievalInferencer
label_desc: Use image node_id 1 for calling the GroundingDetectionTab obj's underlying member method code with example usage: obj.create_ui() without return types