code: def test_ludwig_automl(self):
      create_predict_function = """
              CREATE OR REPLACE FUNCTION PredictHouseRentLudwig FROM
              ( SELECT * FROM HomeRentals )
              TYPE Ludwig
              PREDICT 'rental_price'
              TIME_LIMIT 120;
          """
      execute_query_fetch_all(self.evadb, create_predict_function)
  
      predict_query = """
              SELECT PredictHouseRentLudwig(*) FROM HomeRentals LIMIT 10;
          """
      result = execute_query_fetch_all(self.evadb, predict_query)
      self.assertEqual(len(result.columns), 1)
      self.assertEqual(len(result), 10)
  
file_path: evadb/test/integration_tests/long/test_model_train.py
imports: import unittest
  from test.markers import ludwig_skip_marker, sklearn_skip_marker, xgboost_skip_marker
  from test.util import get_evadb_for_testing, shutdown_ray
  import pytest
  from evadb.configuration.constants import EvaDB_ROOT_DIR
  from evadb.server.command_handler import execute_query_fetch_all
label_desc: Use image node_id 3 for calling the ModelTrainTests obj's underlying member method code with example usage: obj.test_ludwig_automl() without return types