
    dh1                     j    S r SSKrSSKJrJrJr  SSKrSSKJr  SSK	J
r
JrJr  SrSr " S S	\
5      rg)
zUtil that calls Golden.    N)AnyDictOptionalget_from_dict_or_env)	BaseModel
ConfigDictmodel_validatorzhttps://golden.comi  c                   z    \ rS rSr% SrSr\\   \S'   \	" SS9r
\" SS9\S	\S
\4S j5       5       rS\S
\4S jrSrg)GoldenQueryAPIWrapper   zWrapper 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                 (    [        USS5      nX!S'   U$ )z?Validate that api key and python package exists in environment.r   GOLDEN_API_KEYr   )clsr   r   s      b/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/utilities/golden_query.pyvalidate_environment*GoldenQueryAPIWrapper.validate_environment   s'     .$&6
 $2     queryc                 Z   SU R                   =(       d    S0n[        R                  " [         S3SU0U[        S9nUR
                  S:w  a  UR                  $ [        R                  " UR                  5      nUS   n[        R                  " [         SU S3U[        S	9nUR                  $ )
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   runGoldenQueryAPIWrapper.run*   s     T006B7==67E""	
 3&== **X--.4=<<"##:8* E  "
 }}r    )__name__
__module____qualname____firstlineno____doc__r   r   str__annotations__r	   model_configr
   classmethodr   r   r   r2   __static_attributes__r4   r   r   r   r      sf     %)NHSM(L (#$ 3   $  r   r   )r9   r!   typingr   r   r   r&   langchain_core.utilsr   pydanticr   r	   r
   r(   r)   r   r4   r   r   <module>rB      s3      & &  5 ; ;&5I 5r   