3hYDSSKrSSKrSSKJr SSKJrJr SSKJrJ r SSK J r SSK J r SSKJr SSKJr SS KJrJr SS KJr SS KJr SS KJr SS KJr "SS5rg)N)ChatGoogleGenerativeAI) AgentExecutorcreate_react_agent)ChatPromptTemplateMessagesPlaceholder)SQLChatMessageHistory)RunnableWithMessageHistory) TavilySearch)ParentDocumentRetriever)LocalFileStoreEncoderBackedStore)RecursiveCharacterTextSplitter)Chroma)GoogleGenerativeAIEmbeddings)Toolcb\rSrSrSrSrSrSrSSjrSr SS\ S \ 4S jjr S \ S \ 4S jr Srg)CognitiveService$u Il "cervello" di Jarvis. Gestisce l'agente conversazionale, la memoria, e l'accesso agli strumenti (RAG, ricerca web, ecc.). Questa versione è ottimizzata per l'interazione sincrona tramite API. cLXlX lSUlURS5 g)Nz!Servizio cognitivo inizializzato.)coreconfigagent_executorlog)selfcore_apirs -services/cognitiveservice/cognitiveservice.py__init__CognitiveService.__init__0s!  " 45cURS5 UR5 URS5 g![anURSU3S5 SnAgSnAff=f)u Avvia il servizio, preparando l'agente conversazionale. Questa versione è sincrona e non si basa più su eventi del filesystem. zAvvio servizio cognitivo...zAgente conversazionale pronto.z7ERRORE CRITICO durante l'inizializzazione dell'agente: errorN)r_initialize_agent Exception)res rstartCognitiveService.start<s^ ./ ]  " " $ HH5 6  ] HHNqcRT[ \ \ ]s!5 AAAc&URS5 g)zFerma il servizio.zServizio cognitivo fermato.N)r)rs rstopCognitiveService.stopXs ./rcBURRSU3U5 g)z+Metodo di logging standard per il servizio.z [COGNITIVE] N)rr)rmessagelevels rrCognitiveService.log`s WI.6rc* ^^^[TRRSS5TRRSS5S9n[TRRSS55Tl[ SS 9mTRRS S 5nTRRS S 5nTR RU5nTRRSS5R5nUS:XaSSK J n US:Xa#TRRSS5nW"US9n O"[TRRS5S9n TR RU5n [TR SS5n U S:Xa[R R#U5(dSTR RS 5n [R R#U 5(aTRSS5 U n[R R#U 5(dSTR RS 5n [R R#U 5(aTRSS5 U n [R R#U5(a[R R#U 5(aTRS5 [%S XIS!9n['U 5n[)US"[*R,[*R.5n[1UU[3S#S$S%9S&9mTRRS'5nS(TlOlTRS)SS*9 TRS+SS*9 TRS,SS*9 TRS-SS*9 TRS)SS*9 S.[6S/[84S0jnUmS1nSTlS.[6S/[64U4S2jjn[;TRRS3S45UUS59nW [;S7S8US59n[TS9S5(aDU4S:jn[;TRRS3S45UU"S;U5S59n[;S7SR@"S>[CS?S@9SASB/5RETRRSC5SD9n[GUUU5n[IUU[[TS9S55S(SESFSG[[TS9S55SH9Tl%TR RTRRSISJ55nUTl&TRSK5 g![a#nTRSUS3S5 SnSnAGNUSnAff=f![a Sn GNf=f![<a S.[6S/[64UU4S6jjnGNf=f)LzM Costruisce l'intera catena dell'agente: LLM, strumenti, memoria e prompt. model_namezgemini-2.5-flash temperaturegffffff?)modelr0debug_intermediate_stepsF) max_resultsvectorstore_path chroma_db docstore_path doc_storeembedding_providergooglehfr)HuggingFaceEmbeddingsz*Errore caricamento HuggingFaceEmbeddings: z. Ricado su Google embeddings.warningNembedding_modelz&sentence-transformers/all-MiniLM-L6-v2)r/)r1active_profileaurelioz;Percorso vectorstore nuovo assente, uso legacy per Aurelio.z8Percorso docstore nuovo assente, uso legacy per Aurelio.zHTrovato database RAG esistente. Caricamento del ParentDocumentRetriever. split_parents)collection_namepersist_directoryembedding_functioncU$N)keys r4CognitiveService._initialize_agent..ssri() chunk_size chunk_overlap) vectorstoredocstorechild_splitterrag_tool_descriptionTzP================================================================================)r,z$ATTENZIONE: DATABASE RAG NON TROVATOu'La memoria stoica di Aurelio è VUOTAz,Esegui indicizzazione di 'marco_aurelio.pdf'queryreturnc/$rFrG)rRs rdummy_retriever;CognitiveService._initialize_agent..dummy_retrievers rz@MEMORIA NON DISPONIBILE - database vuoto. Non usare questo tool.c>[T5(a[TS5(d T"U5nOTRU5nU(dg[5n/nUHwnUR=(d SnSR UR 55R5nU(dMNXb;dMUURU5 URU5 My SR U5$)NinvokezNessuna informazione trovata nella mia memoria per questa domanda. Suggerimento: riformula la domanda oppure indicizza i testi (scripts/indicizza_documenti.py). z --- ) callablehasattrrXset page_contentjoinsplitloweraddappend)rRdocsseenunique_contentsdoccontent content_norm retrievers rrun_rag_retriever=CognitiveService._initialize_agent..run_rag_retrievers ""79h+G+G '!''.t5D O++1r"xx 8>>@ TRU5$![a nTRSU3S5 SnAgSnAff=f)Nz4Tavily non disponibile o errore durante la ricerca: r=z~Ricerca web non disponibile al momento. Suggerimenti: 1) verifica 'TAVILY_API_KEY'; 2) controlla la rete; 3) riprova tra poco.)rXr#r)rRr$r tavily_tools r tavily_safe7CognitiveService._initialize_agent..tavily_safe0sM&--e44 HHSTUSVWYbcqs >9>#Ricerca_Web_e_Calcolatrice_AvanzatauLa tua finestra sul mondo moderno. Usalo per trovare informazioni non presenti nei tuoi scritti. Essenziale per dati in tempo reale, news e calcoli. Include fallback con messaggi guidati quando il servizio non è disponibile.debug_intermediatec>^^UUU4SjnU$)Nc >SSKnUR5nT"U0UD6UR5U- S-nTRSTSUSS3S5 $!UR5U- S-nTRSTSUSS3S5 f=f)Nrg@@zTool 'z' eseguito in z.0fz msinfo)time perf_counterr)argskwargsr{t0dtfnrors r_wrappedDCognitiveService._initialize_agent.._timed.._wrappedGs**,BS!4262"//1B6&@6$~bXS!I6R#//1B6&@6$~bXS!I6Rs A2BrG)rorrrs`` r_timed2CognitiveService._initialize_agent.._timedFsS r rag_retrieverzLa tua finestra sul mondo moderno. Usalo per trovare informazioni non presenti nei tuoi scritti. Essenziale per dati in tempo reale, news e calcoli. Include fallback con messaggi guidati quando il servizio non ?? disponibile. tavily_search)systema{agent_prompt} Hai accesso ai seguenti strumenti: {tools} Usa ESATTAMENTE questo formato: Thought: [il tuo ragionamento su cosa fare] Action: [una tra: {tool_names}] Action Input: [l'input da passare allo strumento] Observation: [il risultato dello strumento verra inserito qui] ... (questo ciclo Thought/Action/Action Input/Observation puo ripetersi N volte) Thought: Ho trovato la risposta finale Final Answer: [la tua risposta completa in italiano] Begin! chat_history) variable_name)humanzDomanda: {input}) assistantz{agent_scratchpad} agent_prompt)r-generate)agenttoolsverbosehandle_parsing_errorsmax_iterationsmax_execution_timeearly_stopping_methodreturn_intermediate_stepschat_memory_dbzmemory/memoria_chat.sqlitez&AgentExecutor con prompt ReAct creato.)'rrgetboolrwr r get_data_pathralangchain_community.embeddingsr<r#rrgetattrospathexistsrr r pickledumpsloadsr rmemory_availablestrlistr NameErrorr from_messagesrpartialrrrchat_memory_path)rllmvectorstore_rel docstore_relr5embeddings_providerr<r$r/ embeddingsr7active legacy_vec legacy_docrNfsstorerag_descriptionrUrkrag_toolrttavily_safe_toolrrprompt_templaterrrjrss` @@rr""CognitiveService._initialize_agenths,%++//,0BC  s;  #'t{{7QSX'Y"Z#q1 ++//*>"233!YY44[A 77>>*--HHZ\ef'1$77>>-00!YY44[A 77>>*--HHWYbc$.M 77>>* + +}0M0M HH_ ` TdEK .B&r?FLL&,,WE0'=\^_ I#kkoo.DEO$(D ! HHXYH / HH;9H M HH>iH P HHCIH V HHXYH /  s t (I aO$)D !" 7S" 7S" 7R2IJ'"     6a  4-u 5 5 [[___6MN+O->?H $:cO[9  "8, -:: 4 n = ) /A"< " D 7  ?7 @E H#3?,';UCD"&!",&*749Mu+U&V . 99224;;??CSUq3rs 0 9:y /EaSHfgirs&.# /  F ^  3 3   s<9T,&U&U/, U6UU U,+U,/VVrR session_idc.UR(dURSS5 gURU5(a[USS5(dg[ USUR 3S9n[UR5nURRUUS .5n[US S5(ak[U[5(aVS U;aPURS /5n[US S 9H/upxUup[U SS5n URSUSU 3S5 M1 URU5 URURSS55 URSS5n [U [ 5(a<U R#5R%5n U R'S5(dSU ;agU $![a GNlf=f![a USpNf=f![a Nf=f![a'nURSUSU3S5 SU3sSnA$SnAff=f)z Metodo pubblico per interrogare l'agente. Punto di ingresso per le richieste API. Gestisce manualmente la memoria conversazionale. u(ERRORE: L'agente non è inizializzato.r!uDMi dispiace, il mio nucleo cognitivo non è attualmente operativo.rFuLa mia memoria stoica non è disponibile o non è stata indicizzata. Esegui l'indicizzazione con: 'python scripts/indicizza_documenti.py data/marco_aurelio.pdf' e riprova.z sqlite:///)r connection)inputrrwintermediate_steps)r%Ntoolunknownz [DEBUG] Step z: tool=rzoutputrYz+Non sono riuscito a formulare una risposta.zagent stopped due to iterationz time limitufRisposta non conclusa per limite di passi/tempo. Riprova oppure riformula la domanda (più specifica).z:ERRORE durante l'invocazione dell'agente per la sessione 'z': u(Si è verificato un errore cognitivo: )rr_is_stoic_queryrr#rrrmessagesrX isinstancedictr enumerateadd_user_messageadd_ai_messagerstripra startswith)rrRrrhistory_messagesresponsestepsistepaction observation tool_namerout_lr$s raskCognitiveService.asksB"" HH? IY ##E**74ASUZ3[3[!E B1%'(=(='>? L $L$9$9: **11 0 3Ht1599jSW>X>X]qu}]} $LL)=rBE#,U!#<=26/F%,FFI$F =79+!FO $=  ) )% 0  ' ' Xr(B C\\(,YZF&#&& ,,.$$%EFF<[`K`P ME   P )=26K=!0 B HHQR\Q]]`ab`cdfm n=aSA A  Bs)F/A7G# !G+G/)GBG#-G#/ F=<F= G GGG G G#G  G## H-H HHtextrScf^U(dgUR5m/SQn[U4SjU55$)NF) stoicstoicauvirtùvirtulogos meditazioniz marco aurelior@epittetosenecaz saggio stoicoc3,># UH oT;v M g7frFrG).0kts r 3CognitiveService._is_stoic_query..s,8a68s)raany)rrkeywordsrs @rr CognitiveService._is_stoic_querys. JJL ,8,,,r)rrrrrwrN)rz)default)__name__ __module__ __qualname____firstlineno____doc__rr%r(rr"rrrr__static_attributes__rGrrrr$sP6]807B;L `B`B#`BP-C-D-rr)rrlangchain_google_genairlangchain.agentsrrlangchain_core.promptsrr.langchain_community.chat_message_histories.sqlr langchain_core.runnables.historyr langchain_tavilyr langchain.retrieversr langchain.storager r langchain.text_splitterrlangchain_chromarrlangchain.toolsrrrGrrrs?  9>JPG)8@B$? z-z-r