§
     ÂiF/  ã                  óü  — U d dl mZ d dlZd dlmZmZmZmZmZm	Z	 d dl
mc mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ dZdZej        Zeeeef         Zi ej        ej        “d ej        “dej        “dej        “ej         ej         “dej         “dej         “dej         “ej!        ej!        “dej!        “dej!        “dej!        “ej"        ej"        “dej"        “dej"        “dej"        “ej#        ej#        “dej#        dej#        ej$        ej$        dej$        dej$        dej%        dej%        dej%        ej%        ej%        dej&        d ej&        d!ej&        ej&        ej&        i¥Z'd"e(d#<   dLd(„Z)	 ej*        Z+n# e,$ r  ed)¦  «        Z-dMd/„Z+Y nw xY we	 	 	 	 	 dNdOd?„¦   «         Z.e	 	 	 	 	 dNdPdB„¦   «         Z.	 	 	 	 	 dNdQdF„Z.e	 	 	 	 	 dNdRdH„¦   «         Z/e	 	 	 	 	 dNdSdI„¦   «         Z/	 	 	 	 	 dNdTdK„Z/dS )Ué    )ÚannotationsN)ÚAnyÚIterableÚoverloadÚTypeVarÚUnionÚMapping)Úprotos)Úget_default_generative_client)Ú#get_default_generative_async_client)Úhelper_types)Úmodel_types)Ú
text_types)Úcontent_typeszmodels/embedding-001éd   Útask_type_unspecifiedÚunspecifiedé   Úretrieval_queryÚqueryé   Úretrieval_documentÚdocumenté   Úsemantic_similarityÚ
similarityé   Úclassificationé   Ú
clusteringé   Úquestion_answeringÚqaé   Úfact_verificationÚverificationz1dict[EmbeddingTaskTypeOptions, EmbeddingTaskType]Ú_EMBEDDING_TASK_TYPEÚxÚEmbeddingTaskTypeOptionsÚreturnÚEmbeddingTaskTypec                ón   — t          | t          ¦  «        r|                      ¦   «         } t          |          S ©N)Ú
isinstanceÚstrÚlowerr'   )r(   s    úg/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/google/generativeai/embedding.pyÚto_task_typer2   H   s,   € Ý�!•SÑÔð Ø�GŠG‰IŒIˆÝ Ô"Ð"ó    ÚTÚiterableúIterable[T]ÚnÚintúIterable[list[T]]c              #  ó¶   K  — |dk     rt          d|› d�¦  «        ‚g }| D ]0}|                     |¦  «         t          |¦  «        |k    r|V — g }Œ1|r|V — d S d S )Nr   zKInvalid input: The batch size 'n' must be a positive integer. You entered: z'. Please enter a number greater than 0.)Ú
ValueErrorÚappendÚlen)r5   r7   ÚbatchÚitems       r1   Ú_batchedr@   T   s¡   è è € ØˆqŠ5ˆ5Ýð IÐ^_ð  Ið  Ið  Iñô ð ð ˆØð 	ð 	ˆDØ�LŠL˜ÑÔÐÝ�5‰zŒz˜QŠˆØ���Ø�øàð 	ØˆKˆKˆKˆKˆKð	ð 	r3   Úmodelú model_types.BaseModelNameOptionsÚcontentúcontent_types.ContentTypeÚ	task_typeúEmbeddingTaskTypeOptions | NoneÚtitleú
str | NoneÚoutput_dimensionalityú
int | NoneÚclientú"glm.GenerativeServiceClient | NoneÚrequest_optionsú&helper_types.RequestOptionsType | Noneútext_types.EmbeddingDictc                ó   — d S r-   © ©rA   rC   rE   rG   rI   rK   rM   s          r1   Úembed_contentrS   d   s	   € ð  #˜sr3   ú#Iterable[content_types.ContentType]útext_types.BatchEmbeddingDictc                ó   — d S r-   rQ   rR   s          r1   rS   rS   p   s	   € ð %( Cr3   ú?content_types.ContentType | Iterable[content_types.ContentType]úglm.GenerativeServiceClientú8text_types.EmbeddingDict | text_types.BatchEmbeddingDictc                ó–  ‡ ‡‡‡— t          j        ‰ ¦  «        Š |€i }|€t          ¦   «         }‰r1t          ‰¦  «        t          j        urt          d‰› d‰› d�¦  «        ‚‰r‰dk     rt          d‰› d�¦  «        ‚‰rt          ‰¦  «        Št          |t          ¦  «        r¼t          |t          t          f¦  «        s dg i}ˆ ˆˆˆfd„|D ¦   «         }t          |t          ¦  «        D ]s}	t          j        ‰ |	¬	¦  «        }
 |j        |
fi |¤Ž}t!          |¦  «                             |¦  «        }|d                              d
„ |d         D ¦   «         ¦  «         Œt|S t          j        ‰ t)          j        |¦  «        ‰‰‰¬¦  «        }
 |j        |
fi |¤Ž}t!          |¦  «                             |¦  «        }|d         d         |d<   |S )a™  Calls the API to create embeddings for content passed in.

    Args:
        model:
            Which [model](https://ai.google.dev/models/gemini#embedding) to
            call, as a string or a `types.Model`.

        content:
            Content to embed.

        task_type:
            Optional task type for which the embeddings will be used. Can only
            be set for `models/embedding-001`.

        title:
            An optional title for the text. Only applicable when task_type is
            `RETRIEVAL_DOCUMENT`.

        output_dimensionality:
            Optional reduced dimensionality for the output embeddings. If set,
            excessive values from the output embeddings will be truncated from
            the end.

        request_options:
            Options for the request.

    Return:
        Dictionary containing the embedding (list of float values) for the
        input content.
    NúsInvalid task type: When a title is specified, the task must be of a 'retrieval document' type. Received task type: ú and title: ú.r   úQInvalid value: `output_dimensionality` must be a non-negative integer. Received: Ú	embeddingc              3  ón   •K  — | ]/}t          j        ‰t          j        |¦  «        ‰‰‰¬ ¦  «        V — Œ0dS ©©rA   rC   rE   rG   rI   N©r
   ÚEmbedContentRequestr   Ú
to_content©Ú.0ÚcrA   rI   rE   rG   s     €€€€r1   ú	<genexpr>z embed_content.<locals>.<genexpr>º   óe   øè è € ð 	
ð 	
ð õ Ô&ØÝ%Ô0°Ñ3Ô3Ø#ØØ&;ðñ ô ð	
ð 	
ð 	
ð 	
ð 	
ð 	
r3   ©rA   Úrequestsc              3  ó&   K  — | ]}|d          V — ŒdS ©ÚvaluesNrQ   ©rg   Úes     r1   ri   z embed_content.<locals>.<genexpr>Ë   ó&   è è € Ð&YÐ&Y°q q¨¤{Ð&YÐ&YÐ&YÐ&YÐ&YÐ&Yr3   Ú
embeddingsrb   ro   )r   Úmake_model_namer   r2   r+   ÚRETRIEVAL_DOCUMENTr;   r.   r   r/   r	   r@   ÚEMBEDDING_MAX_BATCH_SIZEr
   ÚBatchEmbedContentsRequestÚbatch_embed_contentsÚtypeÚto_dictÚextendrd   r   re   rS   ©rA   rC   rE   rG   rI   rK   rM   Úresultrl   r>   Úembedding_requestÚembedding_responseÚembedding_dicts   ` ```        r1   rS   rS   |   s�  øøøø€ õN Ô'¨Ñ.Ô.€EàÐØˆà€~Ý.Ñ0Ô0ˆàð 
•˜iÑ(Ô(Õ0AÔ0TÐTÐTÝð bð  CLð  bð  bð  Z_ð  bð  bð  bñ
ô 
ð 	
ð ð 
Ð!6¸Ò!:Ð!:ÝØxÐ`uÐxÐxÐxñ
ô 
ð 	
ð ð ,Ý  Ñ+Ô+ˆ	å�'�8Ñ$Ô$ð #­Z¸Å#ÅwÀÑ-PÔ-Pð #Ø˜rÐ"ˆð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð ð	
ñ 	
ô 	
ˆõ ˜hÕ(@ÑAÔAð 	Zð 	ZˆEÝ &Ô @ÀuÐW\Ð ]Ñ ]Ô ]ÐØ!< Ô!<Ø!ð"ð "à!ð"ð "Ðõ "Ð"4Ñ5Ô5×=Ò=Ð>PÑQÔQˆNØ�;Ô×&Ò&Ð&YÐ&Y¸NÈ<Ô<XÐ&YÑ&YÔ&YÑYÔYÐYÐYØˆå"Ô6ØÝ!Ô,¨WÑ5Ô5ØØØ"7ð
ñ 
ô 
Ðð 2˜VÔ1Øð
ð 
àð
ð 
Ðõ Ð0Ñ1Ô1×9Ò9Ð:LÑMÔMˆØ&4°[Ô&AÀ(Ô&Kˆ�{Ñ#ØÐr3   ú'glm.GenerativeServiceAsyncClient | Nonec              ƒ  ó
   K  — d S r-   rQ   rR   s          r1   Úembed_content_asyncrƒ   Þ   s   è è € ð  #˜sr3   c              ƒ  ó
   K  — d S r-   rQ   rR   s          r1   rƒ   rƒ   ê   s   è è € ð %( Cr3   ú glm.GenerativeServiceAsyncClientc              ƒ  ó²  ‡ ‡‡‡K  — t          j        ‰ ¦  «        Š |€i }|€t          ¦   «         }‰r1t          ‰¦  «        t          j        urt          d‰› d‰› d�¦  «        ‚‰r‰dk     rt          d‰› d�¦  «        ‚‰rt          ‰¦  «        Št          |t          ¦  «        rÂt          |t          t          f¦  «        s¦dg i}ˆ ˆˆˆfd„|D ¦   «         }t          |t          ¦  «        D ]y}	t          j        ‰ |	¬	¦  «        }
 |j        |
fi |¤Žƒ d{V —†}t!          |¦  «                             |¦  «        }|d                              d
„ |d         D ¦   «         ¦  «         Œz|S t          j        ‰ t)          j        |¦  «        ‰‰‰¬¦  «        }
 |j        |
fi |¤Žƒ d{V —†}t!          |¦  «                             |¦  «        }|d         d         |d<   |S )z?Calls the API to create async embeddings for content passed in.Nr[   r\   r]   r   r^   r_   c              3  ón   •K  — | ]/}t          j        ‰t          j        |¦  «        ‰‰‰¬ ¦  «        V — Œ0dS ra   rc   rf   s     €€€€r1   ri   z&embed_content_async.<locals>.<genexpr>  rj   r3   rk   c              3  ó&   K  — | ]}|d          V — ŒdS rn   rQ   rp   s     r1   ri   z&embed_content_async.<locals>.<genexpr>(  rr   r3   rs   rb   ro   )r   rt   r   r2   r+   ru   r;   r.   r   r/   r	   r@   rv   r
   rw   rx   ry   rz   r{   rd   r   re   rS   r|   s   ` ```        r1   rƒ   rƒ   ö   sÌ  øøøøè è € õ Ô'¨Ñ.Ô.€EàÐØˆà€~Ý4Ñ6Ô6ˆàð 
•˜iÑ(Ô(Õ0AÔ0TÐTÐTÝð bð  CLð  bð  bð  Z_ð  bð  bð  bñ
ô 
ð 	
ð ð 
Ð!6¸Ò!:Ð!:ÝØxÐ`uÐxÐxÐxñ
ô 
ð 	
ð ð ,Ý  Ñ+Ô+ˆ	å�'�8Ñ$Ô$ð #­Z¸Å#ÅwÀÑ-PÔ-Pð #Ø˜rÐ"ˆð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð ð	
ñ 	
ô 	
ˆõ ˜hÕ(@ÑAÔAð 	Zð 	ZˆEÝ &Ô @ÀuÐW\Ð ]Ñ ]Ô ]ÐØ'B vÔ'BØ!ð(ð (à!ð(ð (ð "ð "ð "ð "ð "ð "Ðõ "Ð"4Ñ5Ô5×=Ò=Ð>PÑQÔQˆNØ�;Ô×&Ò&Ð&YÐ&Y¸NÈ<Ô<XÐ&YÑ&YÔ&YÑYÔYÐYÐYØˆå"Ô6ØÝ!Ô,¨WÑ5Ô5ØØØ"7ð
ñ 
ô 
Ðð $8 6Ô#7Øð$
ð $
àð$
ð $
ð 
ð 
ð 
ð 
ð 
ð 
Ðõ Ð0Ñ1Ô1×9Ò9Ð:LÑMÔMˆØ&4°[Ô&AÀ(Ô&Kˆ�{Ñ#ØÐr3   )r(   r)   r*   r+   )r5   r6   r7   r8   r*   r9   )NNNNN)rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r*   rO   )rA   rB   rC   rT   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r*   rU   )rA   rB   rC   rW   rE   rF   rG   rH   rI   rJ   rK   rX   rM   rN   r*   rY   )rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   r�   rM   rN   r*   rO   )rA   rB   rC   rT   rE   rF   rG   rH   rI   rJ   rK   r�   rM   rN   r*   rU   )rA   rB   rC   rW   rE   rF   rG   rH   rI   rJ   rK   r…   rM   rN   r*   rY   )0Ú
__future__r   Ú	itertoolsÚtypingr   r   r   r   r   r	   Úgoogle.ai.generativelanguageÚaiÚgenerativelanguageÚglmÚgoogle.generativeair
   Úgoogle.generativeai.clientr   r   Úgoogle.generativeai.typesr   r   r   r   ÚDEFAULT_EMB_MODELrv   ÚTaskTyper+   r8   r/   r)   ÚTASK_TYPE_UNSPECIFIEDÚRETRIEVAL_QUERYru   ÚSEMANTIC_SIMILARITYÚCLASSIFICATIONÚ
CLUSTERINGÚQUESTION_ANSWERINGÚFACT_VERIFICATIONr'   Ú__annotations__r2   Úbatchedr@   ÚAttributeErrorr4   rS   rƒ   rQ   r3   r1   ú<module>rŸ      sš  ðð #Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ Cà *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø &Ð &Ð &Ð &Ð &Ð &à DÐ DÐ DÐ DÐ DÐ DØ JÐ JÐ JÐ JÐ JÐ Jà 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à*Ð ØÐ à”OÐ à   cÐ+<Ð!<Ô=Ð ðKØÔ+Ð->Ô-TðKàÐÔ.ðKð Ð.ÔDðKð Ð$Ô:ð	Kð
 Ô%Ð'8Ô'HðKð ÐÔ(ðKð Ð(Ô8ðKð ÐÔ.ðKð Ô(Ð*;Ô*NðKð ÐÔ+ðKð Ð+Ô>ðKð Ð!Ô4ðKð Ô)Ð+<Ô+PðKð ÐÔ,ðKð Ð,Ô@ðKð  Ð#Ô7ð!Kð" Ô$Ð&7Ô&Fð#Kð$ ÐÔ'ØÐ'Ô6ØÔ Ð"3Ô">ØÐÔ#ØÐ#Ô.ØÐÔ+ØÐ+Ô>ØÐ
Ô
.ØÔ(Ð*;Ô*NØÐÔ*ØÐ*Ô<ØÐ%Ô7ØÔ'Ð):Ô)Lð=Kð KÐ ð ð ð ñ ðD#ð #ð #ð #ðàÔ €H€HøØð ð ð Øˆ�‰Œ€Aðð ð ð ð ð ðøøøð& 
ð 26ØØ(,Ø15Ø>Bð#ð #ð #ð #ñ 
„ð#ð 
ð 26ØØ(,Ø15Ø>Bð(ð (ð (ð (ñ 
„ð(ð 26ØØ(,Ø*.Ø>Bð_ð _ð _ð _ð _ðD 
ð 26ØØ(,Ø6:Ø>Bð#ð #ð #ð #ñ 
„ð#ð 
ð 26ØØ(,Ø6:Ø>Bð(ð (ð (ð (ñ 
„ð(ð 26ØØ(,Ø/3Ø>BðBð Bð Bð Bð Bð Bð Bs   Å>F ÆFÆF