code: def process_messages(
      texts: List[Text],
      model_name: Text,
      model_weights: Text,
      create_language_model_featurizer: Callable[
          [Dict[Text, Any]], LanguageModelFeaturizer
      ],
      whitespace_tokenizer: WhitespaceTokenizer,
  ) -> List[Message]:
      """Creates a featurizer and processes messages"""
      config = create_pretrained_transformers_config(
          model_name, model_weights
      )
      lm_featurizer = create_language_model_featurizer(config)
  
      messages = []
      for text in texts:
          message = Message.build(text=text)
          whitespace_tokenizer.process([message])
          messages.append(message)
      lm_featurizer.process(messages)
      return messages
  
imports: import os
  from typing import Text, List, Dict, Tuple, Any, Callable
  import numpy
  import pytest
  import logging
  from _pytest.monkeypatch import MonkeyPatch
  from _pytest.logging import LogCaptureFixture
  from rasa.engine.graph import ExecutionContext
  from rasa.engine.storage.storage import ModelStorage
  from rasa.engine.storage.resource import Resource
  from rasa.nlu.constants import TOKENS_NAMES, NUMBER_OF_SUB_TOKENS
  from rasa.nlu.tokenizers.whitespace_tokenizer import WhitespaceTokenizer
  from rasa.shared.nlu.training_data.training_data import TrainingData
  from rasa.shared.nlu.training_data.message import Message
  from rasa.nlu.featurizers.dense_featurizer.lm_featurizer import LanguageModelFeaturizer
  from rasa.shared.nlu.constants import TEXT, INTENT
  from rasa.nlu.tokenizers.tokenizer import Token
label_desc: Use image node_id 6 for calling a global function with example usage: process_messages(texts, model_name, model_weights, create_language_model_featurizer, whitespace_tokenizer) and returns: messages