Ë
    õ¡Ÿjv  ã                  óP   — d Z ddlmZ ddlZddlmZ ddlmZ d	d„Z	 G d„ d«      Z
y)
zM
author: Yagnik Poshiya
organization: Webbrains Technologies Private Limited
é    )ÚannotationsN)Úgenai)Útypesc                ó&  — t        j                  | t         j                  ¬«      }t         j                  j	                  |«      }t        j
                  |«      r|dk  r| S ||z  }|j                  t         j                  «      j                  «       S )N)Údtyper   )ÚnpÚasarrayÚfloat32ÚlinalgÚnormÚisfiniteÚastypeÚtolist)ÚvecÚaÚns      úO/var/www/html/agent-engine/apps/agents/rag-agent/src/embeddings/gemini_embed.pyÚ
_normalizer      sc   € Ü
�
‰
�3œbŸj™jÔ)€AÜ
�	‰	�‰�qÓ€AÜ�;‰;�qŒ>˜Q !šVØˆ
Ø	ˆA‰€AØ�8‰8”B—J‘JÓ×&Ñ&Ó(Ð(ó    c                  ó   — e Zd Zdd„Zdd„Zy)ÚGeminiEmbedderc               óh   — t        j                  |¬«      | _        || _        t	        |«      | _        y )N)Úapi_key)r   ÚClientÚ_clientÚ_modelÚintÚ_dim)Úselfr   ÚmodelÚoutput_dimensionalitys       r   Ú__init__zGeminiEmbedder.__init__   s&   € Ü—|‘|¨GÔ4ˆŒØˆŒÜÐ-Ó.ˆ�	r   c                ó*  — | j                   j                  j                  | j                  |gt	        j
                  d| j                  ¬«      ¬«      }|j                  st        d«      ‚t        t        |j                  d   j                  «      «      S )NÚRETRIEVAL_QUERY)Ú	task_typer!   )r    ÚcontentsÚconfigz No embedding returned for query.r   )r   ÚmodelsÚembed_contentr   r   ÚEmbedContentConfigr   Ú
embeddingsÚRuntimeErrorr   ÚlistÚvalues)r   ÚtextÚress      r   Úembed_queryzGeminiEmbedder.embed_query   sy   € Ø�l‰l×!Ñ!×/Ñ/Ø—+‘+Ø�VÜ×+Ñ+Ø+Ø&*§i¡iôð 0ó 
ˆð �~Š~ÜÐAÓBÐBÜœ$˜sŸ~™~¨aÑ0×7Ñ7Ó8Ó9Ð9r   N)r   Ústrr    r2   r!   r   )r/   r2   Úreturnúlist[float])Ú__name__Ú
__module__Ú__qualname__r"   r1   © r   r   r   r      s   „ ó/ô
:r   r   )r   r4   r3   r4   )Ú__doc__Ú
__future__r   Únumpyr   Úgoogler   Úgoogle.genair   r   r   r8   r   r   ú<module>r>      s'   ðñõ
 #ã Ý Ý ó)÷:ò :r   