
    +sg                    @    d dl mZ d dlZd dlZddlmZ  G d d      Zy)    )annotationsN   )InputExamplec                  @    e Zd ZdZdddddej
                  fdZd
dZy	)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                f    || _         || _        || _        || _        || _        || _        || _        y )N)dataset_folder
s1_col_idx
s2_col_idx
s3_col_idx
has_header	delimiterquoting)selfr   r   r   r   r   r   r   s           ^/var/www/html/venv/lib/python3.12/site-packages/sentence_transformers/readers/TripletReader.py__init__zTripletReader.__init__   s6     -$$$$"    c                   t        j                  t        t        j                  j                  | j                  |      d      | j                  | j                        }g }| j                  rt        |       t        |      D ]g  \  }}|| j                     }|| j                     }|| j                     }	|j                  t!        |||	g             |dkD  sWt#        |      |k\  sf |S  |S )Nzutf-8)encoding)r   r   )textsr   )csvreaderopenospathjoinr   r   r   r   next	enumerater   r   r   appendr   len)
r   filenamemax_examplesdataexamplesidrows1s2s3s
             r   get_exampleszTripletReader.get_examples    s    zzd118<wOnnLL

 ??J  	GBT__%BT__%BT__%BOOLB|<=aCM\$A	 r   N)r   )__name__
__module____qualname____doc__r   
QUOTE_NONEr   r,    r   r   r   r   	   s)     $r   r   )
__future__r   r   r    r   r   r2   r   r   <module>r5      s    " 
 	 * *r   