Ë
    µŒj  ã                   ór   — d Z ddlZddlmZmZmZmZ ddlmZm	Z	  ej                  e«      Z G d„ de«      Zy)z4Utils for interacting with the Semantic Scholar API.é    N)ÚAnyÚDictÚListÚOptional)Ú	BaseModelÚmodel_validatorc                   ó´   — e Zd ZU dZeed<   dZeed<   dZeed<   dZ	eed<   d	Z
ee   ed
<   g d¢Zee   ed<    ed¬«      ededefd„«       «       Zdedefd„Zy)ÚSemanticScholarAPIWrapperaØ  Wrapper around semanticscholar.org API.
    https://github.com/danielnsilva/semanticscholar

    You should have this library installed.

    `pip install semanticscholar`

    Semantic Scholar API can conduct searches and fetch document metadata
    like title, abstract, authors, etc.

    Attributes:
    top_k_results: number of the top-scored document used for the Semantic Scholar tool
    load_max_docs: a limit to the number of loaded documents

    Example:
    .. code-block:: python

    from langchain_community.utilities.semanticscholar import SemanticScholarAPIWrapper
    ss = SemanticScholarAPIWrapper(
        top_k_results = 3,
        load_max_docs = 3
    )
    ss.run("biases in large language models")
    Úsemanticscholar_searché   Útop_k_resultsi,  ÚS2_MAX_QUERY_LENGTHéd   Úload_max_docsi   Údoc_content_chars_max)	ÚtitleÚabstractÚvenueÚyearÚpaperIdÚcitationCountÚopenAccessPdfÚauthorsÚexternalIdsÚreturned_fieldsÚbefore)ÚmodeÚvaluesÚreturnc                 óp   — 	 ddl m}  |«       }|j                  |d<   |S # t        $ r t        d«      ‚w xY w)z7Validate that the python package exists in environment.r   )ÚSemanticScholarr   zfCould not import Semanticscholar python package. Please install it with `pip install semanticscholar`.)Úsemanticscholarr!   Úsearch_paperÚImportError)Úclsr   r!   Úschs       úw/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/utilities/semanticscholar.pyÚvalidate_environmentz.SemanticScholarAPIWrapper.validate_environment6   sN   € ð		Ý7á!Ó#ˆCØ/2×/?Ñ/?ˆFÐ+Ñ,ð ˆøô ò 	ÜðHóð ð	ús   ‚   5Úqueryc                 ó„  — | j                  || j                  | j                  ¬«      }g }|d| j                   D ]d  }dj	                  d„ t        |dg «      D «       «      }|j                  dt        |dd«      › dt        |d	d«      › d
|› dt        |dd«      › d�	«       Œf |rdj	                  |«      d| j                   S y)zRun the Semantic Scholar API.)ÚlimitÚfieldsNz, c              3   ó&   K  — | ]	  }|d    –— Œ y­w)ÚnameN© )Ú.0Úauthors     r'   Ú	<genexpr>z0SemanticScholarAPIWrapper.run.<locals>.<genexpr>M   s   è ø€ ð  Ù-I 6��v•Ñ-Iùs   ‚r   zPublished year: r   z
Title: r   z

Authors: z
Abstract: r   Ú
z

zNo results found.)r   r   r   r   ÚjoinÚgetattrÚappendr   )Úselfr)   ÚresultsÚ	documentsÚitemr   s         r'   ÚrunzSemanticScholarAPIWrapper.runF   sî   € à×-Ñ-Ø˜×+Ñ+°D×4HÑ4Hð .ó 
ˆð ˆ	ØÐ0˜d×0Ñ0Ó1ˆDØ—i‘iñ  Ü-4°T¸9ÀbÔ-Ió ó ˆGð ×ÑØ"¤7¨4°¸Ó#>Ð"?ð @Ü! $¨°Ó6Ð7ð 8Ø#˜9ð %Ü$ T¨:°tÓ<Ð=¸RðAõð	 2ñ Ø—;‘;˜yÓ)Ð*F¨D×,FÑ,FÐGÐGà&ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   Úintr   r   r   r   r   r   Ústrr   Úclassmethodr   r(   r;   r/   r<   r'   r
   r
      s‘   … ñð2  ÓØ€M�3ÓØ"Ð˜Ó"Ø€M�3ÓØ+/Ð˜8 C™=Ó/ò
"€O�T˜#‘Yó 
ñ ˜(Ô#Øð¨$ð °3ò ó ó $ðð'˜ð ' ô 'r<   r
   )r@   ÚloggingÚtypingr   r   r   r   Úpydanticr   r   Ú	getLoggerr=   Úloggerr
   r/   r<   r'   Ú<module>rJ      s4   ðÙ :ã ß ,Ó ,ç /à	ˆ×	Ñ	˜8Ó	$€ôO' 	õ O'r<   