Files
assist/src/__pycache__/agent_assistant.cpython-310.pyc

95 lines
13 KiB
Plaintext
Raw Normal View History

o
<00>R<EFBFBD>i`A<00>@s<>dZddlZddlZddlmZmZmZmZddlmZddl m
Z
ddl m Z e<01> e<0E>ZGdd<08>d<08>Zd d
<EFBFBD>Zed krDe<02>e<11><00>dSdS) uJ
TSP Agent助手 - 简化版本
提供基本的Agent功能和工具管理
<EFBFBD>N)<04>Dict<63>Any<6E>List<73>Optional)<01>datetime)<01>
get_config)<01>
LLMManagerc @s<eZdZdZdd<03>ZdEdedeeeffdd<08>Zded e fd
d <0B>Z
d e eeeffd d <0A>Z dEdedeeefd eeeffdd<11>Z dedeeefdede def
dd<16>Zd eeeffdd<18>ZdFded e eeeffdd<1C>Zd eeeffdd<1E>Zd eeeffdd <20>Zd!e d e fd"d#<23>Zd e fd$d%<25>Zd e fd&d'<27>Zd eeeffd(d)<29>Zd eeeffd*d+<2B>Zd,eeefd e efd-d.<2E>Zd eeeffd/d0<64>Z 1  2dGd3ed4ed5eed6e d eeeff
d7d8<EFBFBD>Zd eeeffd9d:<3A>Zd;ed<ed eeeffd=d><3E>Zd;ed?ed efd@dA<64>Z dBed<ed e eeeffdCdD<64>Z!dS)H<>TSPAgentAssistantuTSP Agent助手cCsDt<00>}t|j<02>|_d|_g|_i|_i|_d|_d|_ t
<EFBFBD> d<03>dS)NTFuTSP Agent助手初始化完成) rr<00>llmZ llm_manager<65> is_agent_mode<64>execution_history<72>tools<6C>tool_performance<63>ai_monitoring_activeZmonitoring_thread<61>logger<65>info)<02>self<6C>config<69>r<00>=/Users/macos/Desktop/tsp-assist/assist/src/agent_assistant.py<70>__init__s zTSPAgentAssistant.__init__N<5F>name<6D>metadatac
Cspz||pidddd<03>|j|<t<01>d|<01>d<05><03>WdSty7}zt<01>d|<01>d|<04><00><04>WYd}~d Sd}~ww)
u 注册工具rN)<05>functionr<00> usage_count<6E> success_count<6E> last_used<65>工具 u 注册成功Tu 注册工具 <20> 失败: F<>r rr<00> Exception<6F>error)rr<00>funcr<00>errr<00> register_tool$s <0C><08><02>zTSPAgentAssistant.register_tool<6F>returnc
Csnz||jvr|j|=t<01>d|<01>d<02><03>WdSWdSty6}zt<01>d|<01>d|<02><00><04>WYd}~dSd}~ww)u 注销工具ru 注销成功TFu 注销工具 rNr)rrr#rrr<00>unregister_tool4s
<08><02>z!TSPAgentAssistant.unregister_toolc
Cs~z"g}|j<00><01>D]\}}|<01>||d|d|d|dd<05><05>q|WSty>}zt<04>d|<04><00><02>gWYd}~Sd}~ww)u获取可用工具列表rrrr)rrrrru获取工具列表失败: N)r <00>items<6D>appendr rr!)rZ
tools_listr<00> tool_infor#rrr<00>get_available_tools@s 
<EFBFBD><08><02>z%TSPAgentAssistant.get_available_tools<6C> tool_name<6D>
parametersc
<00>sz<00>z<>||jvrdd|<01>d<03>iWS|j|}|d}|dd7<t<01><02><00><03>|d<t<01><02>}z=t<04>|<04>r@|di|p9i<00><01>IdH}n |di|pFi<00><01>}|d d7<t<01><02>|<00><06>}|<00>|||d
|<07>d
|||d <0B>WWSty<>}z#t<01><02>|<00><06>}|<00>||t |<08>d |<07>d t |<08>||d <0A>WYd}~WSd}~wwty<>}zt
<EFBFBD> d|<01>d|<08><00><04>dt |<08>iWYd}~Sd}~ww)u 执行工具r!ru
不存在rr<00>rNrT)<04>success<73>result<6C>execution_timer+F)r.r!r0r+u 执行工具 rr) r r<00>now<6F> isoformat<61>asyncio<69>iscoroutinefunction<6F> total_seconds<64>_record_executionr <00>strrr!) rr+r,r)r"<00>
start_timer/r0r#rrr<00> execute_toolQsH<02>



<EFBFBD><14><08><02>
<08><02>zTSPAgentAssistant.execute_toolr/r.r0c
Cs<>z(t<00><01><00><02>|||||d<01>}|j<03>|<06>t|j<03>dkr&|jdd<04>|_WdSWdStyC}zt<07>d|<07><00><02>WYd}~dSd}~ww)u记录执行历史)<06> timestampr+r,r/r.r0i<>i<18><><EFBFBD>Nu记录执行历史失败: ) rr1r2r r(<00>lenr rr!)rr+r,r/r.r0Zexecution_recordr#rrrr6<00>s 
<06> <06><08><02>z#TSPAgentAssistant._record_executionc
Cs<>z7t|j<01>}tdd<02>|j<01><03>D<00><01>}tdd<02>|j<01><03>D<00><01>}|dkr(||dnd}|||t|d<06>|<00><05>d<07>WStyS}zt<07>d|<05><00><02>iWYd }~Sd }~ww)
u获取工具性能报告cs<00><00>|]}|dVqdS)rNr<00><02>.0Ztoolrrr<00> <genexpr><3E><00><02>z@TSPAgentAssistant.get_tool_performance_report.<locals>.<genexpr>csr<)rNrr=rrrr?<00>r@r<00>d<00>)<05> total_tools<6C>total_executions<6E>total_successes<65> success_rater u 获取工具性能报告失败: N) r;r <00>sum<75>values<65>roundr*r rr!)rrCrDrErFr#rrr<00>get_tool_performance_report<72>s 
<08><08><02>z-TSPAgentAssistant.get_tool_performance_report<72>2<00>limitc
Cs\z|dkr|j| d<02>WS|jWSty-}zt<02>d|<02><00><02>gWYd}~Sd}~ww)u获取动作执行历史rNu获取动作历史失败: )r r rr!)rrLr#rrr<00>get_action_history<72>s"<08><02>z$TSPAgentAssistant.get_action_historyc
Cslzt|j<01>}|j<01><02>dd|<01>d<03>d<04>WSty5}zt<04>d|<02><00><02>dt|<02>d<07>WYd}~Sd}~ww) u清空执行历史Tu
已清空 u 条执行历史)r.<00>messageu清空执行历史失败: F<>r.r!N)r;r <00>clearr rr!r7)r<00>countr#rrr<00>clear_execution_history<72>s


<08><08><02>z)TSPAgentAssistant.clear_execution_historyc
Csvzd|j|jt|j<03>t|j<04>|<00><05>|<00><06>d<02>WSty:}zt<08> d|<01><00><02>dt
|<01>ddd<05>WYd}~Sd}~ww)u获取Agent状态T)r.<00> is_activerrCrDr <00> performanceu获取Agent状态失败: F)r.r!rSrN) r rr;r r r*rJr rr!r7<00>rr#rrr<00>get_agent_status<75>s$<08> <12><08><02>z"TSPAgentAssistant.get_agent_status<75>enabledc
Cs\z||_t<01>d|r dnd<03><00><02>WdSty-}zt<01>d|<02><00><02>WYd}~dSd}~ww)u切换Agent模式u Agent模式: u启用u禁用Tu切换Agent模式失败: NF)r rrr r!)rrWr#rrr<00>toggle_agent_mode<64>s<08><02>z#TSPAgentAssistant.toggle_agent_modec
CsZz|jsd|_t<01>d<02>WdSWdSty,}zt<01>d|<01><00><02>WYd}~dSd}~ww)u启动主动监控Tu主动监控已启动u启动主动监控失败: NF<4E>rrrr r!rUrrr<00>start_proactive_monitoring<6E>s
<08><02>z,TSPAgentAssistant.start_proactive_monitoringc
CsNz d|_t<01>d<02>WdSty&}zt<01>d|<01><00><02>WYd}~dSd}~ww)u停止主动监控Fu主动监控已停止Tu停止主动监控失败: NrYrUrrr<00>stop_proactive_monitoring<6E>s
<08><02>z+TSPAgentAssistant.stop_proactive_monitoringc
CsZz ddt<00><01><00><02>d<03>WSty,}zt<04>d|<01><00><02>dt|<01>d<06>WYd}~Sd}~ww)u运行主动监控检查Tu主动监控检查完成)r.rNr:u运行主动监控失败: FrON<>rr1r2r rr!r7rUrrr<00>run_proactive_monitoring<6E>s
<08><08><02>z*TSPAgentAssistant.run_proactive_monitoringc
Cszz|<00><00>}|<00>d<01>}|t|<02>|<01>dd<03>|<00>|<01>d<04>}|WSty<}zt<06>d|<04><00><02>dt|<04>iWYd}~Sd}~ww)u运行智能分析<E58886>rFr)rZrecent_activityrF<00>recommendationsu运行智能分析失败: r!N) rJrMr;<00>get<65>_generate_recommendationsr rr!r7)rrZrecent_executionsZanalysisr#rrr<00>run_intelligent_analysiss

<06><08><02>z*TSPAgentAssistant.run_intelligent_analysisrcCsDg}|<01>dd<02>}|dkr|<02>d<04>|<01>dd<06>}|dkr |<02>d<08>|S) u 生成建议rFrA<00>Zu0工具成功率较低建议检查工具实现rDr<00>
u3工具使用频率较低,建议增加工具调用)r`r()rrr_rFrDrrrras 
 
z+TSPAgentAssistant._generate_recommendationsc
CsRz dddt<00><01><00><02>d<03>WSty(}zt<04>d|<01><00><02>iWYd}~Sd}~ww)u获取LLM使用统计rg)<04>total_requests<74> total_tokens<6E>costZ last_updatedu获取LLM使用统计失败: N)rr1r2r rr!rUrrr<00>get_llm_usage_stats&s
<08><08><02>z%TSPAgentAssistant.get_llm_usage_stats<74>adminTrN<00>user_id<69> work_order_id<69>enable_proactivec
<00>sd<00>zdd|<01><00>||t<00><01><00><02>d<03>WSty1}zt<04>d|<05><00><02>dt|<05>iWYd}~Sd}~ww)u 处理消息TuAgent收到消息: )r.rNrjrkr:u处理消息失败: r!Nr\)rrNrjrkrlr#rrr<00>process_message_agent3s<02>
<08><08><02>z'TSPAgentAssistant.process_message_agentc
<00>sj<00>z|<00>dddi<01>IdH}dd|d<07>WSty4}zt<02>d|<02><00><02>d t|<02>d
<EFBFBD>WYd}~Sd}~ww) u触发示例动作Z sample_tool<6F>action<6F>testNTu示例动作已执行)r.rNr/u触发示例动作失败: FrO)r9r rr!r7)rr/r#rrr<00>trigger_sample_actionsDs<02><08><08><02>z(TSPAgentAssistant.trigger_sample_actions<6E> file_path<74>filenamec Cs<>z<>ddl}ddl}t<02>d|<02><00><02>|<04>|<01>\}}|j<05>|<02>d<00><07>}|<00>||<07>}|s8t<02> d|<02><00><02>ddd<08>WSt<02>d |<02>d
t
|<08><01><00><04>t<02>d <0B>|<00> ||<02>} t<02>d t
| <09><01>d <0A><03>d}
t | <09>D]D\} } z!t<02>d| d<00>dt
| <09><01>d| <0C> dd<12>dd<13><00>d<14><07>|
d7}
Wqaty<>} zt<02> d| d<00>d| <0A><00><04>WYd} ~ qad} ~ wwt<02>d|<02>d|
<EFBFBD>d<19><05>d|
t
| <09>|d<1B>WSty<>}zt<02> d|<0E><00><02>dt|<0E>d<08>WYd}~Sd}~ww)u处理文件并生成知识库rNu#开始处理知识库上传文件: r-u#文件读取失败或内容为空: Fu无法读取文件内容rOu文件读取成功: u , 字符数=u.正在对文件内容进行 AI 知识提取...u!知识提取完成: 共提取出 u 个潜在条目u正在保存知识条目 [<5B>/z]: <20>question<6F><00>z...u保存知识条目 u 时出错: u文件处理任务结束: u, 成功入库 u 条T)r.Zknowledge_countZtotal_extractedrru处理文件失败: )<10>os<6F> mimetypesrr<00>
guess_type<EFBFBD>path<74>splitext<78>lower<65>_read_file_contentr!r;<00>_extract_knowledge_from_content<6E> enumerater`r r7)rrqrrrwrxZ mime_type<70>_<>file_ext<78>content<6E>knowledge_entriesZ saved_count<6E>i<>entryZ
save_errorr#rrr<00>process_file_to_knowledgeSsD  
 6 &<08><02><08><08><02>z+TSPAgentAssistant.process_file_to_knowledger<65>c
Cs<>z4|dvr$t|ddd<04><03> }|<03><01>Wd<00>WS1swYWdS|dkr+WdS|dvr2Wd SWd
StyO}zt<03>d |<04><00><02>WYd}~d Sd}~ww) u读取文件内容)z.txtz.md<6D>rzutf-8)<01>encodingNz.pdfuPDF文件需要安装PyPDF2库)z.docz.docxu$Word文件需要安装python-docx库u不支持的文件格式u读取文件失败: ru)<05>open<65>readr rr!)rrqr<><00>fr#rrrr}<00>s(<28><08><02>z$TSPAgentAssistant._read_file_contentr<74>c
Cs<>z3g}|<01>d<01>}t|dd<03><00>D] \}}t|<06><03><00>dkr0|<03>d|<02>d|d<00><00>|<06><03>dd d
<EFBFBD><04>q|WStyO}zt<06>d |<07><00><02>gWYd}~Sd}~ww) u从内容中提取知识z
N<EFBFBD>r^u关于u 的问题r-u 文档知识gffffff<66>?)rt<00>answer<65>category<72>confidence_scoreu提取知识失败: )<08>splitrr;<00>stripr(r rr!)rr<>rr<00>entriesZ
paragraphsr<EFBFBD>Z paragraphr#rrrr~<00>s$
<08><02><08><02>z1TSPAgentAssistant._extract_knowledge_from_content)N)rK)riNT)"<22>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__rr7rrr$<00>boolr&rr*r9<00>floatr6rJ<00>intrMrRrVrXrZr[r]rbrarhrrmrpr<>r}r~rrrrr sN (1<02><02>
<EFBFBD>  
 
   <0C><02><02>

<EFBFBD>2&r c<00>sD<00>t<00>}td<01>|jddd<04>IdH}td|<01>|<00><03>}td|<02>dS)u主函数示例u=== TSP Agent助手测试 ===u9我的账户无法登录请帮助我解决这个问题Zuser123)rNrjNuAgent模式响应:u Agent状态:)r <00>printrmrV)<03>agent_assistant<6E>responseZ agent_statusrrr<00>main<69>s<02> <0C>
r<><00>__main__)r<><00>loggingr3<00>typingrrrrr<00>src.config.unified_configrZsrc.agent.llm_clientr<00> getLoggerr<72>rr r<><00>runrrrr<00><module>s    
!<04>