§
    æ˜ºhå
  ã                   ór   — d Z ddlZddlmZmZmZ ddlmZmZ  ej	        e
¦  «        Z G d„ de¦  «        ZdS )z4Utils for interacting with the Semantic Scholar API.é    N)ÚAnyÚDictÚOptional)Ú	BaseModelÚroot_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¦   «         dedefd„¦   «         Zdedefd„ZdS )Ú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ÚvaluesÚreturnc                 óx   — 	 ddl m}  |¦   «         }|j        |d<   n# t          $ r t          d¦  «        ‚w xY w|S )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       úu/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/langchain_community/utilities/semanticscholar.pyÚvalidate_environmentz.SemanticScholarAPIWrapper.validate_environment5   sq   € ð		Ø7Ð7Ð7Ð7Ð7Ð7à!�/Ñ#Ô#ˆCØ/2Ô/?ˆFÐ+Ñ,Ð,øÝð 	ð 	ð 	ÝðHñô ð ð	øøøð
 ˆs   ‚ �7Úqueryc                 ó´  — |                       || j        | j        ¬¦  «        }g }|d| j        …         D ]}d                     d„ t          |dg ¦  «        D ¦   «         ¦  «        }|                     dt          |dd¦  «        › dt          |d	d¦  «        › d
|› dt          |dd¦  «        › d�	¦  «         Œ€|r"d                     |¦  «        d| j        …         S dS )zRun the Semantic Scholar API.)ÚlimitÚfieldsNz, c              3   ó&   K  — | ]}|d          V — ŒdS )ÚnameN© )Ú.0Úauthors     r#   ú	<genexpr>z0SemanticScholarAPIWrapper.run.<locals>.<genexpr>K   s7   è è € ð  ð  Ø#)��v”ð ð  ð  ð  ð  ð  ó    r   zPublished year: r   z
Title: r   z

Authors: z

Astract: r   ú
z

zNo results found.)r
   r   Úreturned_fieldsr   ÚjoinÚgetattrÚappendr   )Úselfr%   ÚresultsÚ	documentsÚitemr   s         r#   ÚrunzSemanticScholarAPIWrapper.runD   sD  € à×-Ò-Ø˜Ô+°DÔ4Hð .ñ 
ô 
ˆð ˆ	ØÐ0˜dÔ0Ð0Ô1ð 		ð 		ˆDØ—i’ið  ð  Ý-4°T¸9ÀbÑ-IÔ-Ið ñ  ô  ñ ô ˆGð ×Òð@¥7¨4°¸Ñ#>Ô#>ð @ð @Ý! $¨°Ñ6Ô6ð@ð @à#ð@ð @õ $ D¨*°dÑ;Ô;ð@ð @ð @ñô ð ð ð ð 	'Ø—;’;˜yÑ)Ô)Ð*F¨DÔ,FÐ*FÔGÐGà&Ð&r/   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   Úintr   r   r   r   r1   r   r   r$   Ústrr9   r+   r/   r#   r	   r	   
   sÞ   € € € € € € ðð ð2  ÐÐÑØ€M�3ÐÐÑØ"Ð˜Ð"Ð"Ñ"Ø€M�3ÐÐÑØ+/Ð˜8 Cœ=Ð/Ð/Ñ/ð
ð 
ð 
€Oð €^ÑÔð¨$ð °4ð ð ð ñ Ôðð'˜ð ' ð 'ð 'ð 'ð 'ð 'ð 'r/   r	   )r=   ÚloggingÚtypingr   r   r   Úlangchain_core.pydantic_v1r   r   Ú	getLoggerr:   Úloggerr	   r+   r/   r#   ú<module>rF      sš   ðØ :Ð :Ø €€€Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à @Ð @Ð @Ð @Ð @Ð @Ð @Ð @à	ˆÔ	˜8Ñ	$Ô	$€ðN'ð N'ð N'ð N'ð N' 	ñ N'ô N'ð N'ð N'ð N'r/   