§
    šŠtj•  ã                   óŽ   — d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZmZ d dlmZ  G d„ d	e¦  «        Zd
S )é    )Úpartial)ÚAnyÚDictÚListÚMappingÚOptionalÚSet)ÚCallbackManagerForLLMRun)ÚLLM)Úpre_init)Ú
ConfigDictÚField)Úenforce_stop_tokensc                   ó.  — e Zd ZU dZeed<   	  edd¬¦  «        Zee         ed<    edd¬¦  «        Z	e
ed<   	  edd	¬¦  «        Ze
ed	<   	  ed
d¬¦  «        Ze
ed<   	  edd¬¦  «        Zeed<   	  edd¬¦  «        Zeed<   	  edd¬¦  «        Zeed<   	  edd¬¦  «        Zeed<   	  edd¬¦  «        Zeed<   	  edd¬¦  «        Zee
         ed<   	 dZee
         ed<   	 dZee         ed<   	 dZee         ed<   	 dZee
         ed<   	 dZee         ed<   	 g Zeee                  ed<   	 dZee
         ed<   	 d Zee         ed!<   	  ed"d#¬¦  «        Ze
ed#<   	 dZeed$<   	 dZ eed%<   	  ed&d'¬¦  «        Z!ee         ed'<   	 dZ"e#ed(<    e$d)¬*¦  «        Z%e&d+e'e         fd,„¦   «         Z(d+e)ee#f         fd-„Z*e+d.e)d+e)fd/„¦   «         Z,e-d+e.ee#f         fd0„¦   «         Z/e-d+efd1„¦   «         Z0	 	 d6d2edeee                  d3ee1         d4e#d+ef
d5„Z2dS )7ÚGPT4Alla¹  GPT4All language models.

    To use, you should have the ``gpt4all`` python package installed, the
    pre-trained model file, and the model's config information.

    Example:
        .. code-block:: python

            from langchain_community.llms import GPT4All
            model = GPT4All(model="./models/gpt4all-model.bin", n_threads=8)

            # Simplest invocation
            response = model.invoke("Once upon a time, ")
    ÚmodelNÚbackend)ÚaliaséÈ   Ú
max_tokenséÿÿÿÿÚn_partsr   ÚseedFÚf16_kvÚ
logits_allÚ
vocab_onlyÚ	use_mlockÚ	embeddingé   Ú	n_threadsé   Ú	n_predictgffffffæ?Útempgš™™™™™¹?Útop_pé(   Útop_kÚechoÚstopé@   Úrepeat_last_ngáz®Gáò?Úrepeat_penaltyé   Ún_batchÚ	streamingÚallow_downloadÚcpuÚdeviceÚclientÚforbid)ÚextraÚreturnc                  ó
   — h d£S )N>	   r#   r&   r$   r-   r"   r.   r   r*   r+   © r7   ó    ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/llms/gpt4all.pyÚ_model_param_nameszGPT4All._model_param_namesg   s   € ð

ð 

ð 

ð 
	
r8   c           
      ót   — | j         | j        | j        | j        | j        | j        | j        | j        | j        dœ	S )N©	r   r"   r&   r$   r#   r-   r+   r*   r.   r<   ©Úselfs    r9   Ú_default_paramszGPT4All._default_paramsu   s@   € àœ/ØœØ”ZØ”ZØ”IØ”|Ø"Ô1Ø!Ô/Øœð

ð 

ð 
	
r8   Úvaluesc                 ó´  — 	 ddl m} n# t          $ r t          d¦  «        ‚w xY w|d         }|                     d¦  «        \  }}}||z  } |||pd|d         |d         |d	         ¬
¦  «        |d<   |d         �&|d         j                             |d         ¦  «         	 |d         j        |d<   n%# t          $ r |d         j        j        |d<   Y nw xY w|S )z;Validate that the python package exists in the environment.r   )r   zVCould not import gpt4all python package. Please install it with `pip install gpt4all`.r   ú/Nr   r/   r1   )Ú
model_pathÚ
model_typer/   r1   r2   r    )Úgpt4allr   ÚImportErrorÚ
rpartitionr   Úset_thread_countrD   ÚAttributeError)Úclsr@   ÚGPT4AllModelÚ	full_pathrC   Ú	delimiterÚ
model_names          r9   Úvalidate_environmentzGPT4All.validate_environment‚   sG  € ð	Ø7Ð7Ð7Ð7Ð7Ð7Ð7øÝð 	ð 	ð 	Ýð@ñô ð ð	øøøð ˜7”Oˆ	Ø,5×,@Ò,@ÀÑ,EÔ,EÑ)ˆ
�I˜zØ�iÑˆ
à'˜<ØØ!Ð) TØ˜iÔ(Ø!Ð"2Ô3Ø˜(Ô#ð
ñ 
ô 
ˆˆxÑð �+ÔÐ*à�8ÔÔ"×3Ò3°F¸;Ô4GÑHÔHÐHð	BØ & xÔ 0Ô ;ˆF�9ÑÐøÝð 	Bð 	Bð 	Bà & xÔ 0Ô 6Ô AˆF�9ÑÐÐð	Bøøøð ˆs   ‚	 ‰#Â"B3 Â3CÃCc                 óˆ   ‡ — d‰ j         i‰                      ¦   «         ¥ˆ fd„‰ j                             ¦   «         D ¦   «         ¥S )zGet the identifying parameters.r   c                 óH   •— i | ]\  }}|‰                      ¦   «         v ¯||“ŒS r7   )r:   )Ú.0ÚkÚvr>   s      €r9   ú
<dictcomp>z/GPT4All._identifying_params.<locals>.<dictcomp>ª   s<   ø€ ð ð ð Ù˜˜A¸!¸t×?VÒ?VÑ?XÔ?XÐ:XÐ:X��1Ð:XÐ:XÐ:Xr8   )r   r?   Ú__dict__Úitemsr=   s   `r9   Ú_identifying_paramszGPT4All._identifying_params¤   sc   ø€ ð �T”Zð
à×"Ò"Ñ$Ô$ð
ðð ð ð Ø!%¤×!4Ò!4Ñ!6Ô!6ðñ ô ð
ð 	
r8   c                 ó   — dS )zReturn the type of llm.rE   r7   r=   s    r9   Ú	_llm_typezGPT4All._llm_type¯   s	   € ð ˆyr8   ÚpromptÚrun_managerÚkwargsc                 óì   — d}|rt          |j        | j        ¬¦  «        }d}i |                      ¦   «         ¥|¥} | j        j        |fi |¤ŽD ]}|r ||¦  «         ||z  }Œ|�t          ||¦  «        }|S )a¡  Call out to GPT4All's generate method.

        Args:
            prompt: The prompt to pass into the model.
            stop: A list of strings to stop generation when encountered.

        Returns:
            The string generated by the model.

        Example:
            .. code-block:: python

                prompt = "Once upon a time, "
                response = model.invoke(prompt, n_predict=55)
        N)ÚverboseÚ )r   Úon_llm_new_tokenr_   r?   r2   Úgenerater   )	r>   r[   r(   r\   r]   Útext_callbackÚtextÚparamsÚtokens	            r9   Ú_callzGPT4All._call´   s¬   € ð, ˆØð 	XÝ# KÔ$@È$Ì,ÐWÑWÔWˆMØˆØ5�D×(Ò(Ñ*Ô*Ð5¨fÐ5ˆØ)�T”[Ô)¨&Ð;Ð;°FÐ;Ð;ð 	ð 	ˆEØð %Ø�˜eÑ$Ô$Ð$Ø�E‰MˆDˆDØÐÝ& t¨TÑ2Ô2ˆDØˆr8   )NN)3Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r   r   r   r   Úintr   r   r   Úboolr   r   r   r   r    r"   r#   Úfloatr$   r&   r'   r(   r   r*   r+   r-   r.   r/   r1   r2   r   r   Úmodel_configÚstaticmethodr	   r:   r   r?   r   rO   Úpropertyr   rX   rZ   r
   rg   r7   r8   r9   r   r      s  € € € € € € ðð ð €J€J�JØ5à"˜U 4¨yÐ9Ñ9Ô9€GˆX�cŒ]Ð9Ð9Ñ9à�e˜C |Ð4Ñ4Ô4€J�Ð4Ð4Ñ4Øà�5˜ 9Ð-Ñ-Ô-€GˆSÐ-Ð-Ñ-ð?ð ��a˜vÐ&Ñ&Ô&€Dˆ#Ð&Ð&Ñ&Ø-à�5˜ hÐ/Ñ/Ô/€FˆDÐ/Ð/Ñ/Ø1à�u˜U¨,Ð7Ñ7Ô7€J�Ð7Ð7Ñ7Ø@à�u˜U¨,Ð7Ñ7Ô7€J�Ð7Ð7Ñ7Ø/à�e˜E¨Ð5Ñ5Ô5€IˆtÐ5Ð5Ñ5Ø,à�e˜E¨Ð5Ñ5Ô5€IˆtÐ5Ð5Ñ5Ø"à$˜u Q¨kÐ:Ñ:Ô:€Iˆx˜Œ}Ð:Ð:Ñ:Ø#à"€Iˆx˜Œ}Ð"Ð"Ñ"Ø3à€Dˆ(�5Œ/ÐÐÑØ.à €Eˆ8�EŒ?Ð Ð Ñ Ø.à€Eˆ8�CŒ=ÐÐÑØ.à €Dˆ(�4Œ.Ð Ð Ñ Ø%à "€Dˆ(�4˜”9Ô
Ð"Ð"Ñ"Ø@à#%€M�8˜C”=Ð%Ð%Ñ%Øà&*€N�H˜U”OÐ*Ð*Ñ*Ø2à�5˜ )Ð,Ñ,Ô,€GˆSÐ,Ð,Ñ,Ø+à€IˆtÐÐÑØ/à €N�DÐ Ð Ñ ØDà!˜E %¨xÐ8Ñ8Ô8€FˆH�SŒMÐ8Ð8Ñ8ØBà€FˆCÐÐÑà�:Øðñ ô €Lð ð
  C¤ð 
ð 
ð 
ñ „\ð
ð
  c¨3 h¤ð 
ð 
ð 
ð 
ð ð¨$ð °4ð ð ð ñ „XððB ð
 W¨S°#¨XÔ%6ð 
ð 
ð 
ñ „Xð
ð ð˜3ð ð ð ñ „Xðð %)Ø:>ð	!ð !àð!ð �t˜C”yÔ!ð!ð Ð6Ô7ð	!ð
 ð!ð 
ð!ð !ð !ð !ð !ð !r8   r   N)Ú	functoolsr   Útypingr   r   r   r   r   r	   Úlangchain_core.callbacksr
   Ú#langchain_core.language_models.llmsr   Úlangchain_core.utilsr   Úpydanticr   r   Úlangchain_community.llms.utilsr   r   r7   r8   r9   ú<module>r{      så   ðØ Ð Ð Ð Ð Ð Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :à =Ð =Ð =Ð =Ð =Ð =Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø )Ð )Ð )Ð )Ð )Ð )Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à >Ð >Ð >Ð >Ð >Ð >ðIð Ið Ið Ið Iˆcñ Iô Ið Ið Ið Ir8   