def explode_nested_content_field(self, inputs_df: pd.DataFrame) -> pd.DataFrame:
        """this is used to chunk the text content and then create a new entry for the model
        based on the chunked content,
        e.g. ['hello. this is a sentence. here is another.']
        if we split the text by sentence then we get
        e.g. ['hello.', 'this is a sentence.', 'here is another.']
        so now we need 3 rows when before we had 1. this function performs the proper
        remapping after splitting/chunking

        Args:
            inputs_df (pd.DataFrame): _description_

        Returns:
            pd.DataFrame: _description_
        """
        # used to allow chunking on text in the same way the inexing does it
        _func = partial(text_processor.split_text, split_length=self.split_length, split_overlap=self.split_overlap, split_by=self.split_method)
        inputs_df = inputs_df.merge(inputs_df[Columns.field_content].apply(_func).explode(), left_index=True, right_index=True)
        inputs_df[Columns.field_content_original] = inputs_df[Columns.field_content + '_x']
        inputs_df[Columns.field_content] = inputs_df[Columns.field_content + '_y']
        del inputs_df[Columns.field_content + '_x']
        del inputs_df[Columns.field_content + '_y']
        
        return inputs_df
this is used to chunk the text content and then create a new entry for the model
        based on the chunked content,
        e.g. ['hello. this is a sentence. here is another.']
        if we split the text by sentence then we get
        e.g. ['hello.', 'this is a sentence.', 'here is another.']
        so now we need 3 rows when before we had 1. this function performs the proper
        remapping after splitting/chunking

        Args:
            inputs_df (pd.DataFrame): _description_

        Returns:
            pd.DataFrame: _description_
        
src/marqo/s2_inference/reranking/cross_encoders.py