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                   @  s2   e Zd ZdZdddddejfddZdd	d
ZdS )TripletReaderzReads in the a Triplet Dataset: Each line contains (at least) 3 columns, one anchor column (s1),
    one positive example (s2) and one negative example (s3)
    r   r      F	c                 C  s.   || _ || _|| _|| _|| _|| _|| _d S )N)dataset_folder
s1_col_idx
s2_col_idx
s3_col_idx
has_header	delimiterquoting)selfr   r	   r
   r   r   r   r    r   g/var/www/html/assistant/venv/lib/python3.9/site-packages/sentence_transformers/readers/TripletReader.py__init__   s    
zTripletReader.__init__c           
      C  s   t jttj| j|dd| j| jd}g }| j	r:t
| t|D ]T\}}|| j }|| j }|| j }	|t|||	gd |dkrBt||krB qqB|S )Nzutf-8)encoding)r   r   )Ztextsr   )csvreaderopenospathjoinr   r   r   r   next	enumerater	   r
   r   appendr   len)
r   filenameZmax_examplesdataZexamplesidrows1s2Zs3r   r   r   get_examples*   s     


zTripletReader.get_examplesN)r   )__name__
__module____qualname____doc__r   
QUOTE_NONEr   r$   r   r   r   r   r      s   
r   )r(   
__future__r   r   r    r   r   r   r   r   r   <module>   s
   
