def _encode_processed_content(self, preprocessed_content_list: List[LanguagebindPreprocessedContent]) -> List[
        ndarray]:
        """
        Encode the preprocessed content into embeddings.

        Args:
            preprocessed_content_list: A list of preprocessed content.

        Returns:
            List[ndarray]: The embeddings. Each embedding is a numpy array with (Dimension, ) shape.
        """
        content_to_encode: List[Tensor] = self._collect_valid_content_to_encode(preprocessed_content_list)
        if not content_to_encode:
            return []

        embeddings: List[ndarray] = []
        for i in range(0, len(content_to_encode), self.MAX_BATCH_SIZE):
            batch: List[Tensor] = content_to_encode[i:i + self.MAX_BATCH_SIZE]
            batch_embeddings: List[ndarray] = self.model.encode(
                inputs=batch,
                modality=self.inference_request.modality,
                normalize=self.inference_request.model_config.normalize_embeddings
            )
            embeddings.extend(batch_embeddings)

        if len(embeddings) != len(content_to_encode):
            raise ValueError("The number of embeddings does not match the number of contents")

        return embeddings

        Encode the preprocessed content into embeddings.

        Args:
            preprocessed_content_list: A list of preprocessed content.

        Returns:
            List[ndarray]: The embeddings. Each embedding is a numpy array with (Dimension, ) shape.
        
src/marqo/inference/native_inference/inference_pipeline/languagebind_model_inference_pipeline.py