§
    æ˜ºhB  ã                   ón   — d Z ddlZddlmZmZ ddlZddlmZmZm	Z	 ddl
mZ dZdZ G d„ d	e¦  «        ZdS )
zUtil that calls Golden.é    N)ÚDictÚOptional)Ú	BaseModelÚExtraÚroot_validator©Úget_from_dict_or_envzhttps://golden.comiˆ  c                   óˆ   — e Zd ZU dZdZee         ed<    G d„ d¦  «        Z e	¦   «         de
de
fd„¦   «         Zd	edefd
„ZdS )ÚGoldenQueryAPIWrapperzáWrapper for Golden.

    Docs for using:

    1. Go to https://golden.com and sign up for an account
    2. Get your API Key from https://golden.com/settings/api
    3. Save your API Key into GOLDEN_API_KEY env variable

    NÚgolden_api_keyc                   ó    — e Zd ZdZej        ZdS )úGoldenQueryAPIWrapper.Configz'Configuration for this pydantic object.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚforbidÚextra© ó    úr/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/langchain_community/utilities/golden_query.pyÚConfigr      s   € € € € € Ø5Ð5à”ˆˆˆr   r   ÚvaluesÚreturnc                 ó2   — t          |dd¦  «        }||d<   |S )z?Validate that api key and python package exists in environment.r   ÚGOLDEN_API_KEYr   )Úclsr   r   s      r   Úvalidate_environmentz*GoldenQueryAPIWrapper.validate_environment   s.   € õ .ØÐ$Ð&6ñ
ô 
ˆð $2ˆÐÑ àˆr   Úqueryc                 ó(  — d| j         pdi}t          j        t          › d�d|i|t          ¬¦  «        }|j        dk    r|j        S t          j        |j	        ¦  «        }|d         }t          j
        t          › d|› d�|t          ¬	¦  «        }|j        S )
zBRun query through Golden Query API and return the JSON raw result.ÚapikeyÚ z/api/v2/public/queries/Úprompt)ÚjsonÚheadersÚtimeoutéÉ   Úidz/results/?pageSize=10)r%   r&   )r   ÚrequestsÚpostÚGOLDEN_BASE_URLÚGOLDEN_TIMEOUTÚstatus_codeÚtextr$   ÚloadsÚcontentÚget)Úselfr   r%   Úresponser0   Úquery_ids         r   ÚrunzGoldenQueryAPIWrapper.run)   s¿   € ð ˜TÔ0Ð6°BÐ7ˆå”=ÝÐ7Ð7Ð7Ø˜EÐ"ØÝ"ð	
ñ 
ô 
ˆð Ô 3Ò&Ð&Ø”=Ð å”*˜XÔ-Ñ.Ô.ˆØ˜4”=ˆå”<å"ð ð ¸8ð ð ð ð Ý"ð
ñ 
ô 
ˆð Œ}Ðr   )r   r   r   r   r   r   ÚstrÚ__annotations__r   r   r   r   r5   r   r   r   r   r      s·   € € € € € € ðð ð %)€N�H˜S”MÐ(Ð(Ñ(ðð ð ð ð ñ ô ð ð
 €^ÑÔð¨$ð °4ð ð ð ñ Ôðð˜ð  ð ð ð ð ð ð r   r   )r   r$   Útypingr   r   r)   Úlangchain_core.pydantic_v1r   r   r   Úlangchain_core.utilsr	   r+   r,   r   r   r   r   ú<module>r;      s£   ðØ Ð Ø €€€Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !à €€€Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ 5Ð 5Ð 5Ð 5Ð 5Ð 5à&€Ø€ð5ð 5ð 5ð 5ð 5˜Iñ 5ô 5ð 5ð 5ð 5r   