def _content_preprocessing(self) -> List[HuggingFacePreprocessedContent]:
        """
        Preprocess the content based on the modality.

        If it is a text modality, the content will be split, prefixed, and preprocessed as required by the
        preprocessing_config.

        However, if it's an image, audio, or video modality, this normally means the content is a URL from the
        search request. In this case, we just use a default TextPreprocessingConfig to preprocess the content.

        Returns:
            List[OpenCLIPPreprocessedContent]: The preprocessed content.
        """
        if self.inference_request.modality == Modality.TEXT:
            results = split_prefix_preprocess_text(
                self.inference_request.contents,
                self.model.get_preprocessor(),
                self.inference_request.preprocessing_config
            )
        elif self.inference_request.modality in [Modality.IMAGE, Modality.AUDIO, Modality.VIDEO]:
            results = split_prefix_preprocess_text(
                self.inference_request.contents,
                self.model.get_preprocessor(),
                TextPreprocessingConfig() # Use a default TextPreprocessingConfig
            )
        else:
            # TODO - Raise an unsupported modality error
            raise ValueError(f"Unsupported modality: {self.inference_request.modality}")
        return results

        Preprocess the content based on the modality.

        If it is a text modality, the content will be split, prefixed, and preprocessed as required by the
        preprocessing_config.

        However, if it's an image, audio, or video modality, this normally means the content is a URL from the
        search request. In this case, we just use a default TextPreprocessingConfig to preprocess the content.

        Returns:
            List[OpenCLIPPreprocessedContent]: The preprocessed content.
        
src/marqo/inference/native_inference/inference_pipeline/hugging_face_model_inference_pipeline.py