
    bi                    L    d Z ddlmZ ddlZddlZddlmZ  G d d          ZdS )a@  
This file contains deprecated code that can only be used with the old `model.fit`-style Sentence Transformers v2.X training.
It exists for backwards compatibility with the `model.old_fit` method, but will be removed in a future version.

Nowadays, with Sentence Transformers v3+, it is recommended to use the `SentenceTransformerTrainer` class to train models.
See https://www.sbert.net/docs/sentence_transformer/training_overview.html for more information.

Instead, you should create a `datasets` `Dataset` for training: https://huggingface.co/docs/datasets/create_dataset
    )annotationsN   )InputExamplec                  B    e Zd ZdZd Zd	dZed             Zd Zd Z	dS )
NLIDataReaderz@Reads in the Stanford NLI dataset and the MultiGenre NLI datasetc                    || _         d S N)dataset_folder)selfr
   s     f/root/projects/butler/venv/lib/python3.11/site-packages/sentence_transformers/readers/NLIDataReader.py__init__zNLIDataReader.__init__   s    ,    r   c           
        t          j        t          j                            | j        d|z             dd                                          }t          j        t          j                            | j        d|z             dd                                          }t          j        t          j                            | j        d|z             dd                                          }g }d}t          |||          D ]k\  }}	}
| d| }|d	z  }|                    t          |||	g| 
                    |
          
                     d|cxk     rt          |          k    rn i nl|S )a  
        data_splits specified which data split to use (train, dev, test).
        Expects that self.dataset_folder contains the files s1.$data_split.gz,  s2.$data_split.gz,
        labels.$data_split.gz, e.g., for the train split, s1.train.gz, s2.train.gz, labels.train.gz
        zs1.rtzutf-8)modeencodingzs2.zlabels.r   -r   )guidtextslabel)gzipopenospathjoinr
   	readlineszipappendr   	map_labellen)r   filenamemax_exampless1s2labelsexamplesid
sentence_a
sentence_br   r   s               r   get_exampleszNLIDataReader.get_examples   sw    Yrw||D$79IJJQU`ghhhrrttYrw||D$79IJJQU`ghhhrrttGLL,i(.BCC$Y`
 
 

)++ 	 -0R-@-@ 	 	)J
E%%%%D!GBOOLd:z:RZ^ZhZhinZoZopppqqq<00003x==00000 1 r   c                     ddddS )Nr   r      )contradiction
entailmentneutral r0   r   r   
get_labelszNLIDataReader.get_labels1   s    !"!BBBr   c                D    t          |                                           S r	   )r    r1   )r   s    r   get_num_labelszNLIDataReader.get_num_labels5   s    4??$$%%%r   c                ~    |                                  |                                                                         S r	   )r1   striplower)r   r   s     r   r   zNLIDataReader.map_label8   s+      !4!4!6!677r   N)r   )
__name__
__module____qualname____doc__r   r*   staticmethodr1   r3   r   r0   r   r   r   r      sy        JJ- - -   0 C C \C& & &8 8 8 8 8r   r   )r:   
__future__r   r   r    r   r   r0   r   r   <module>r>      sy     # " " " " "  				      &8 &8 &8 &8 &8 &8 &8 &8 &8 &8r   