
    g	                         d dl mZ ddlmZmZmZmZmZmZ ee	e
ee	   ee
   f   Zeed   ef   Z G d de      Z G d de      Zy	)
   )CohereObject    )AnyDictIteratorListLiteralUnion)
prediction
confidencetextc                   z    e Zd Zdeeef   ddfdZdefdZe	defd       Z
e	dee   fd       Ze	defd       Zy)	ClassificationclassificationreturnNc                     || _         y N)r   )selfr   s     i/var/www/openai/venv/lib/python3.12/site-packages/cohere/manually_maintained/cohere_aws/classification.py__init__zClassification.__init__	   s     -    c                     t        | j                  t              ryt        | j                  t        t        f      ryt        | j                  d   t              S )NTFr   
isinstancer   listintstrr   s    r   is_multilabelzClassification.is_multilabel   sD    d))40++c3Z8$--l;TBBr   c                     t        | j                  t        t        t        f      r| j                  S | j                  d   S )Nr   r   r   s    r   r   zClassification.prediction   s6    d))D#s+;<&&&""<00r   c                     t        | j                  t        t        t        f      rt        d      | j                  d   S )NzlConfidence scores are not available for version prior to 2.0 of Cohere Classification Finetuning AWS packager   r   r   r   r   r   
ValueErrorr   s    r   r   zClassification.confidence   s<    d))D#s+;<~  ""<00r   c                     t        | j                  t        t        t        f      rt        d      | j                  d   S )NzgOriginal text is not available for version prior to 2.0 of Cohere Classification Finetuning AWS packager   r"   r   s    r   r   zClassification.text$   s<    d))D#s+;<y  ""6**r   )__name__
__module____qualname__r
   
PredictionClassificationDictr   boolr   propertyr   r   floatr   r   r    r   r   r   r      s    -uZ9K-K'L -QU -Ct C 1J 1 1
 1DK 1 1 +c + +r   r   c                   F    e Zd Zdee   ddfdZdefdZdefdZ	de
fdZy)Classificationsclassificationsr   Nc                     || _         t        | j                         dkD  rJt        | j                   D cg c]#  }|j                         | j                         k(  % c}      sJ d       y y c c}w )Nr   zJAll classifications must be of the same type (single-label or multi-label))r0   lenallr   )r   r0   cs      r   r   zClassifications.__init__.   sp    .t##$q(DHDXDXYDXq"d&8&8&::DXY \[\  )Ys   (A+c                 ,    t        | j                        S r   )iterr0   r   s    r   __iter__zClassifications.__iter__5   s    D(())r   c                 ,    t        | j                        S r   )r2   r0   r   s    r   __len__zClassifications.__len__8   s    4''((r   c                 p    t        | j                        dkD  xr | j                  d   j                         S )Nr   )r2   r0   r   r   s    r   r   zClassifications.is_multilabel;   s1    4''(1,X1E1Ea1H1V1V1XXr   )r%   r&   r'   r   r   r   r   r7   r   r9   r*   r   r-   r   r   r/   r/   -   sC    \^(< \ \*( *) )Yt Yr   r/   N)responser   typingr   r   r   r   r	   r
   r   r   r(   r)   r   r/   r-   r   r   <module>r=      sZ    " < <3T#YS	12
'"DEsJK "+\ "+JYl Yr   