a
    h                     @  s>   d Z ddlmZ ddlZddlZddlmZ G d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                   @  s>   e Zd ZdZdd ZdddZedd Zd	d
 Zdd Z	dS )NLIDataReaderz@Reads in the Stanford NLI dataset and the MultiGenre NLI datasetc                 C  s
   || _ d S N)dataset_folder)selfr    r	   g/var/www/html/assistant/venv/lib/python3.9/site-packages/sentence_transformers/readers/NLIDataReader.py__init__   s    zNLIDataReader.__init__r   c              	   C  s   t jtj| jd| ddd }t jtj| jd| ddd }t jtj| jd| ddd }g }d}t|||D ]\\}}	}
d||f }|d	7 }|t	|||	g| 
|
d
 d|  k rt|krn q qq|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   z%s-%dr   )guidZtextslabel)gzipopenospathjoinr   	readlineszipappendr   	map_labellen)r   filenameZmax_exampless1s2labelsZexamplesidZ
sentence_aZ
sentence_br   r   r	   r	   r
   get_examples   s    $$
zNLIDataReader.get_examplesc                   C  s   ddddS )Nr   r      )ZcontradictionZ
entailmentZneutralr	   r	   r	   r	   r
   
get_labels1   s    zNLIDataReader.get_labelsc                 C  s   t |  S r   )r   r"   )r   r	   r	   r
   get_num_labels5   s    zNLIDataReader.get_num_labelsc                 C  s   |   |   S r   )r"   striplower)r   r   r	   r	   r
   r   8   s    zNLIDataReader.map_labelN)r   )
__name__
__module____qualname____doc__r   r    staticmethodr"   r#   r   r	   r	   r	   r
   r      s   

r   )r)   
__future__r   r   r    r   r   r	   r	   r	   r
   <module>   s
   
