code: def make_rf_onnx_model() -> (
      tuple[
          onnx.ModelProto,
          tuple[ext.NpNDArray, tuple[ext.NpNDArray, ext.NpNDArray]],
      ]
  ):
      iris: sklearn.utils.Bunch = load_iris()
      X: ext.NpNDArray = iris.data
      y: ext.NpNDArray = iris.target
      X_train, X_test, y_train, _ = train_test_split(X, y)
      clr = RandomForestClassifier()
      clr.fit(X_train, y_train)
  
      initial_type = [("float_input", FloatTensorType([None, 4]))]
      onnx_model = t.cast(
          onnx.ModelProto,
          convert_sklearn(clr, initial_types=initial_type),
      )
      expected_input = t.cast("ext.NpNDArray", X_test[:2])
      expected_output1 = t.cast(
          "ext.NpNDArray", clr.predict(expected_input)
      )
      expected_output2 = t.cast(
          "ext.NpNDArray", clr.predict_proba(expected_input)
      )
      expected_output = (expected_output1, expected_output2)
      expected_data = (expected_input, expected_output)
      return (onnx_model, expected_data)
  
imports: from __future__ import annotations
  import os
  import tempfile
  import typing
  from typing import TYPE_CHECKING
  import numpy
  import onnx
  import onnxruntime
  import sklearn
  import torch
  import torch.nn
  from skl2onnx import convert_sklearn
  from skl2onnx.common.data_types import FloatTensorType
  from skl2onnx.common.data_types import Int64TensorType
  from skl2onnx.common.data_types import StringTensorType
  from sklearn.datasets import load_iris
  from sklearn.ensemble import RandomForestClassifier
  from sklearn.model_selection import train_test_split
  from sklearn.preprocessing import LabelEncoder
  import bentoml
  from .None import FrameworkTestModel
  from .None import FrameworkTestModelConfiguration
  from .None import FrameworkTestModelInput
label_desc: Use image node_id 5 for calling a global function with example usage: make_rf_onnx_model() and returns: onnx_model,  expected_data