Ë
    µŒj1  ã                   ój   — d Z ddlZddlmZmZmZ ddlZddlmZ ddl	m
Z
mZmZ dZdZ G d„ d	e
«      Zy)
zUtil that calls Golden.é    N)ÚAnyÚDictÚOptional©Úget_from_dict_or_env)Ú	BaseModelÚ
ConfigDictÚmodel_validatorzhttps://golden.comiˆ  c                   óz   — e Zd ZU dZdZee   ed<    ed¬«      Z	 e
d¬«      eded	efd
„«       «       Zded	efd„Zy)Ú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_keyÚforbid)ÚextraÚbefore)ÚmodeÚvaluesÚreturnc                 ó*   — t        |dd«      }||d<   |S )z?Validate that api key and python package exists in environment.r   ÚGOLDEN_API_KEYr   )Úclsr   r   s      út/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/utilities/golden_query.pyÚvalidate_environmentz*GoldenQueryAPIWrapper.validate_environment   s)   € ô .ØÐ$Ð&6ó
ˆð $2ˆÐÑ àˆó    Úqueryc                 óT  — d| j                   xs di}t        j                  t        › d�d|i|t        ¬«      }|j
                  dk7  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    Úresponser+   Úquery_ids         r   ÚrunzGoldenQueryAPIWrapper.run*   s²   € ð ˜T×0Ñ0Ò6°BÐ7ˆä—=‘=ÜÐÐ6Ð7Ø˜EÐ"ØÜ"ô	
ˆð ×Ñ 3Ò&Ø—=‘=Ð ä—*‘*˜X×-Ñ-Ó.ˆØ˜4‘=ˆä—<‘<ä"Ð#Ð#:¸8¸*ð Eð ð Ü"ô
ˆð �}‰}Ðr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚstrÚ__annotations__r	   Úmodel_configr
   Úclassmethodr   r   r   r0   © r   r   r   r      sf   … ñð %)€N�H˜S‘MÓ(áØô€Lñ ˜(Ô#Øð¨$ð °3ò ó ó $ðð˜ð  ô r   r   )r4   r   Útypingr   r   r   r$   Úlangchain_core.utilsr   Úpydanticr   r	   r
   r&   r'   r   r9   r   r   Ú<module>r=      s3   ðÙ ã ß &Ñ &ã Ý 5ß ;Ñ ;à&€Ø€ô5˜Iõ 5r   