
    dh                         S SK Jr  S SKJrJrJrJrJr  S SKJ	r	J
r
  S SKJr  S SKJr  S SKJr  \ " S S\5      5       r " S	 S
\5      rg)    )abstractmethod)AnyOptionalProtocolSequenceruntime_checkable)AsyncCallbackManagerForToolRunCallbackManagerForToolRun)BaseTool)Field)TrainResultc                   d    \ rS rSrSr\S\\   S\S\	4S j5       r
\S\\   S\S\	4S j5       rSrg	)
TrainableLLM   z'Protocol for trainable language models.inputskwargsreturnc                     g N selfr   r   s      _/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/tools/memorize/tool.pytrain_unsupervisedTrainableLLM.train_unsupervised   s    
     c                    #    g 7fr   r   r   s      r   atrain_unsupervised TrainableLLM.atrain_unsupervised   s
     
 s   r   N)__name__
__module____qualname____firstlineno____doc__r   r   strr   r   r   r   __static_attributes__r   r   r   r   r      sk    1  
	    
	 r   r   c                       \ rS rSr% SrSr\\S'   Sr\\S'   \	" 5       r
\\S'    SS	\S
\\   S\4S jjr SS	\S
\\   S\4S jjrSrg)Memorize!   z"Tool that trains a language model.memorizenamezUseful whenever you observed novel information from previous conversation history, i.e., another tool's action outputs or human comments. The action input should include observed information in detail, then the tool will fine-tune yourself to remember it.descriptionllmNinformation_to_learnrun_managerr   c                 J    U R                   R                  U45      nSUS    3$ NzTrain complete. Loss: loss)r-   r   r   r.   r/   train_results       r   _runMemorize._run.   s/    
 xx224H3JK'V(<'=>>r   c                 f   #    U R                   R                  U45      I S h  vN nSUS    3$  N7fr1   )r-   r   r3   s       r   _arunMemorize._arun6   s;     
 "XX99;O:QRR'V(<'=>> Ss    1/1r   r   )r    r!   r"   r#   r$   r+   r%   __annotations__r,   r   r-   r   r   r
   r5   r	   r8   r&   r   r   r   r(   r(   !   s    ,D#	@   C
 <@?!? 78? 
	? AE?!? <=? 
	? ?r   r(   N)abcr   typingr   r   r   r   r   langchain_core.callbacksr	   r
   langchain_core.toolsr   pydanticr   $langchain_community.llms.gradient_air   r   r(   r   r   r   <module>rA      sE     G G *  < 8  $?x ?r   