
    si                     >    d dl Z d dlZddlmZ  G d de          ZdS )    N   )InputExamplec                   8    e Zd ZdZdddddej        fdZ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                 h    || _         || _        || _        || _        || _        || _        || _        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   s           ^/var/www/icac/venv/lib/python3.11/site-packages/sentence_transformers/readers/TripletReader.py__init__zTripletReader.__init__   s:     -$$$$"    c                    t          j        t          t          j                            | j        |          d          | j        | j                  }g }| j	        rt          |           t          |          D ]m\  }}|| j                 }|| j                 }|| j                 }	|                    t!          |||	g                     |dk    rt#          |          |k    r nn|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    zd18<<wOOOnL
 
 

 ? 	JJJ  	 	GBT_%BT_%BT_%BOOLB|<<<===aCMM\$A$Ar   N)r   )__name__
__module____qualname____doc__r   
QUOTE_NONEr   r+    r   r   r   r      s\             $     r   r   )r   r    r   objectr   r1   r   r   <module>r4      s]    



 				      * * * * *F * * * * *r   