
    si                     4    d dl Z ddlmZ  G d d          ZdS )    N   )InputExamplec                   "    e Zd ZdZddZd	dZdS )
LabelSentenceReaderzReads in a file that has at least two columns: a label and a sentence.
    This reader can for example be used with the BatchHardTripletLoss.
    Maps labels automatically to integers
    r   r   	c                 L    || _         i | _        || _        || _        || _        d S )N)folder	label_maplabel_col_idxsentence_col_idx	separator)selfr	   r   r   r   s        d/var/www/icac/venv/lib/python3.11/site-packages/sentence_transformers/readers/LabelSentenceReader.py__init__zLabelSentenceReader.__init__   s+    * 0"    c                    g }d}t          t          j                            | j        |          d          D ]}|                                                    | j                  }|| j                 }|| j	                 }|| j
        vrt          | j
                  | j
        |<   | j
        |         }	d||fz  }
|dz  }|                    t          |
|g|	                     d|cxk     r|k    rn  n|S )Nr   zutf-8)encodingz%s-%dr   )guidtextslabel)openospathjoinr	   stripsplitr   r   r   r
   lenappendr   )r   filenamemax_examplesexamplesidlinesplitsr   sentencelabel_idr   s              r   get_examplesz LabelSentenceReader.get_examples   s   dk8<<wOOO 	 	DZZ\\''77F4-.Ed34HDN**(+DN(;(;u%~e,Hh^+D!GBOOLd8*HUUUVVV<%%%%2%%%%% & r   N)r   r   r   )r   )__name__
__module____qualname____doc__r   r'    r   r   r   r      sF         
# # # #     r   r   )r    r   r   r,   r   r   <module>r.      sR    				      ! ! ! ! ! ! ! ! ! !r   