o
    sh                     @   s0   d dl Z d dlZddlmZ G dd deZdS )    N   )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   i/var/www/html/alpaca_bot/venv/lib/python3.10/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 ]+\}}|| j }|| j }|| j }	|t|||	gd |dkrLt||krL |S q!|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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   r    r   objectr   r   r   r   r   <module>   s    