
    g
                        S SK JrJrJr  S SKJr  S SKJr  S SKJ	r	  SSK
Jr  SSKJr  SSKJr  S S	KJr  SS
KJr  SSKJrJrJrJrJrJrJrJrJr  S SKJr   \ " 5         S SK!r!\!RD                  " S5      \!RF                  S'   \!RD                  " S5      \!RF                  S'   \!RD                  " S5      \!RF                  S'   \!RD                  " S5      \!RF                  S'   S SK$J%r%  \%" \" 5       5         " S S5      r&g)    )AgentExecutorcreate_tool_calling_agentcreate_structured_chat_agent)
ChatOpenAI)ChatDeepSeek)ConfigurableField   )PromptClass)MemoryClass)EmotionClass)InMemoryCache)get_user)	searchget_info_from_localcreate_todocheckScheduleSetScheduleSearchScheduleModifyScheduleDelScheduleConfirmDelSchedule)load_dotenvNOPENAI_API_KEYOPENAI_API_BASEDEEPSEEK_API_KEYDEEPSEEK_API_BASE)set_llm_cachec                        \ rS rSrS rS rSrg)
AgentClass   c           	      T   [        [        R                  " S5      S9n[        R                  " S5      U l        [	        U R                  S9R                  U/5      U l        [        [        [        [        [        [        [        [        [        /	U l        [        R                  " S5      U l        SSS.U l        ['        U R"                  U R$                  S9R)                  5       U l        [-        U R"                  U R                  S	9U l        [1        U R                  S9U l        [5        U R                  U R                   U R*                  5      U l        [9        U R6                  U R                   U R.                  R;                  5       S
S9R=                  [?        SSSS9S9U l         g )NBACKUP_MODEL)model
BASE_MODEL
MEMORY_KEYdefault   )feelingscore	memorykeyr(   )r+   r#   T)agenttoolsmemoryverboseagent_memoryzAgent MemoryzThe memory of the agent)idnamedescription)r.   )!r   osgetenv	modelnamer   with_fallbacks	chatmodelr   r   r   r   r   r   r   r   r   r-   r+   r(   r
   Prompt_Structurepromptr   r.   r   emotionr   r,   r   
set_memoryconfigurable_fieldsr   agent_chain)selffallback_llms     E   /Volumes/MOVESPEED/AI课程/xiaolang/DingTalk_langchain/src/Agents.py__init__AgentClass.__init__   sD   #"))N*CD<0#$..9HH,X0];Weft  vA  BT  U
<0"+A6!DNN4<<Paac!DNNP#$..9.NNJJKK


 )****;;))+	

 
$!#5  
 	    c                 p   U R                   R                  U5      U l        [        U R                  U R                  S9R                  5       U l        [        SU R                  5        U R                  R                  SU R                  R                  [        S5      S905      R                  SU05      nU$ )Nr*   zself.promptr0   userid)
session_idinput)r;   Emotion_Sensingr(   r
   r+   r9   r:   printr>   with_configr.   r<   r   invoke)r?   rH   ress      rA   	run_agentAgentClass.run_agent5   s    ||33E:!DNN4<<PaacmDKK(**DKK22hx>P2Q,
 6e
 	
 
rD   )
r,   r>   r8   r;   r(   r.   r+   r6   r:   r-   N)__name__
__module____qualname____firstlineno__rB   rN   __static_attributes__ rD   rA   r   r      s    
8
rD   r   )'langchain.agentsr   r   r   langchain_openair   langchain_deepseekr   langchain_core.runnablesr   Promptr
   Memoryr   Emotionr   langchain_core.cachesr   Storager   Toolsr   r   r   r   r   r   r   r   r   dotenvr   _load_dotenvr4   r5   environlangchain_core.globalsr   r   rU   rD   rA   <module>rd      s    a a ' + 6   ! /  Q  Q  Q .  	!yy)9:

  "		*; <

 !#+=!>

 "$)),?"@

  0 mo ' 'rD   