Ë
    µŒj¬  ã                   ój   — d Z ddlmZmZmZmZmZ ddlZddlm	Z	 ddl
mZ ddlmZmZ  G d„ de«      Zy)	úWrapper for Rememberizer APIs.é    )ÚAnyÚDictÚListÚOptionalÚcastN)ÚDocument©Úget_from_dict_or_env)Ú	BaseModelÚmodel_validatorc                   óŒ   — e Zd ZU dZdZeed<   dZee	   ed<    e
d¬«      eded	efd
„«       «       Zde	d	efd„Zde	d	ee   fd„Zy)ÚRememberizerAPIWrapperr   é
   Útop_k_resultsNÚrememberizer_api_keyÚbefore)ÚmodeÚvaluesÚreturnc                 ó*   — t        |dd«      }||d<   |S )z%Validate that api key in environment.r   ÚREMEMBERIZER_API_KEYr
   )Úclsr   r   s      út/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/utilities/rememberizer.pyÚvalidate_environmentz+RememberizerAPIWrapper.validate_environment   s*   € ô  4ØÐ*Ð,Bó 
Ðð *>ˆÐ%Ñ&àˆó    Úqueryc                 ó
  — d|› d| j                   › �}t        j                  |dt        t        | j
                  «      i¬«      }|j                  «       }|j                  dk7  rt        d|› �«      ‚|j                  dg «      }|S )z+Search for a query in the Rememberizer API.z6https://api.rememberizer.ai/api/v1/documents/search?q=z&n=z	x-api-key)ÚheaderséÈ   zAPI Error: Úmatched_chunks)	r   ÚrequestsÚgetr   Ústrr   ÚjsonÚstatus_codeÚ
ValueError)Úselfr   ÚurlÚresponseÚdatar!   s         r   ÚsearchzRememberizerAPIWrapper.search   s…   € àFÀuÀgÈSÐQU×QcÑQcÐPdÐeˆÜ—<‘<Ø˜+¤t¬C°×1JÑ1JÓ'KÐLô
ˆð �}‰}‹ˆà×Ñ 3Ò&Ü˜{¨4¨&Ð1Ó2Ð2àŸ™Ð"2°BÓ7ˆØÐr   c                 ó~   — | j                  |«      }g }|D ]$  }|j                  t        |d   |d   ¬«      «       Œ& |S )NÚmatched_contentÚdocument)Úpage_contentÚmetadata)r,   Úappendr	   )r(   r   r!   ÚdocsÚmatched_chunks        r   ÚloadzRememberizerAPIWrapper.load*   sK   € ØŸ™ UÓ+ˆØˆÛ+ˆMØ�K‰KÜØ!.Ð/@Ñ!AØ*¨:Ñ6ôõð ,ð ˆr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚintÚ__annotations__r   r   r$   r   Úclassmethodr   r   r   Údictr,   r   r	   r5   © r   r   r   r      su   … Ù(à€M�3ÓØ*.Ð˜( 3™-Ó.á˜(Ô#Øð¨$ð °3ò ó ó $ðð˜Cð  Dó ð
˜#ð 
 $ x¡.ô 
r   r   )r9   Útypingr   r   r   r   r   r"   Úlangchain_core.documentsr	   Úlangchain_core.utilsr   Úpydanticr   r   r   r>   r   r   Ú<module>rC      s&   ðÙ $ç 2Õ 2ã Ý -Ý 5ß /ô)˜Yõ )r   