o
    iW                     @   s2   d dl mZ d dlmZ d dlZG dd dZdS )    N)settingsc                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
GeminiClientc                 C   sD   t tdd p
td}|stdtj|d td| _d| _	d S )NGOOGLE_API_KEYz=GOOGLE_API_KEY not found in settings or environment variables)api_keyzgemini-2.5-flashzmodels/text-embedding-004)
getattrr   osgetenv
ValueErrorgenai	configureGenerativeModelmodelembedding_model)selfr    r   3/var/www/html/crm_dreinet/ai_agent/gemini_client.py__init__   s   
zGeminiClient.__init__c              
   C   s>   z
| j |}|jW S  ty } ztd|   d}~ww )z&Generates content using Gemini 1.5 ProzError generating content: N)r   generate_contenttext	Exceptionprint)r   promptresponseer   r   r   r      s   zGeminiClient.generate_contentc              
   C   F   zt j| j|dd}|d W S  ty" } ztd|   d}~ww )z'Generates embeddings for the given textretrieval_documentr   content	task_type	embeddingzError embedding text: Nr
   embed_contentr   r   r   r   r   resultr   r   r   r   
embed_text      
zGeminiClient.embed_textc              
   C   r   )z Generates embeddings for a queryretrieval_queryr   r   zError embedding query: Nr    r"   r   r   r   embed_query%   r%   zGeminiClient.embed_queryN)__name__
__module____qualname__r   r   r$   r'   r   r   r   r   r      s
    		r   )google.generativeaigenerativeair
   django.confr   r   r   r   r   r   r   <module>   s    