rh1ddlmZmZmZmZmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZmZmZddlZddlZddlZddlZddlZddlmZddlZddlZdd lmZed d d Zeedgddgdgdada da!da"dZ#e$dej%e#d&ej'(dsej)de*de ddGdde Z+Gdde Z,Gdde Z-e.d e-!d"Z/e0d#e,!d$e+fd%Z1e0d&e,!ed'd(fd)ed*e2fd+Z3e.d,d-Z4e.d.d/Z5e0d0d1Z6e.d2d3Z7e.d4d5Z8e9d6krEe$d7e:ej;.d8d9Z<ej=d:d;e(((#'M8C='''+/%/////rFrQ/health)response_modelc Kd}trtjtz }tduo+ttdotjo t dk}t |rdnd|tj t tdut|}td| |S)Nr"r#healthyr)rRrSrTr(rUrVrWzHealth check: ) r'r&r*r+r"r(rQrnow isoformatr,r)dict) init_timer"rIs r1 health_checkr`js I <IKK";;  D  ) n-- )! ) ( (zchat..s)WWWQAJJvDVDVWqWWWrFc~tjtj|SNospathgetctimejoinx images_dirs r1zchat..s)273C3CBGLLQ[]^D_D_3`3`rFTkeyreverse/images/ text_responserJrM)rIrJrKrLrMu❌ Error in chat endpoint: z0I encountered an error processing your request: r=r%)r*rHr=r(r+r"r)r;r&process_educational_querygetrtruexistslistdirsortr-r.)rb start_timeresultrLrK image_filesr0rzs @r1chatrsj9  U%,_ dyzz !+  |^44 L>>Y[[ 77HH)++ 2 AOAAAABBB ::n % % <+Jw~~j)) <WW"*Z*@*@WWW <$$)`)`)`)`jn$ooo ;;q> ; ;IO,J'+9%          0Q00111PAPP!(3q66BBa&&           s+(FAF1DF G<AG71G<7G</voice.r<audior=c K t tjstd|dddddStd|d d ddd S#t$r;}td |t |d ddt |cYd}~Sd}~wwxYw)Nz-AI models are not ready for voice processing. not_ready)r=rRrFrerfzEVoice processing is not fully implemented yet. Please use text input.voice)r=r?z Voice processing not implementedzError processing voice input.r)r*r"rHr-r.)rr=r0s r1 process_voicers   |'@ H%, DD !+  \!('BB4         4!(3q66::a&&           s")AA B 0B?B B  /subjectscKdgdiS)Nsubjects) MathematicsPhysicsBiology ChemistryHistory Geography LiteraturezComputer Science Economicsr<rErErFr1 get_subjectsrs$       rF /analyticsc@K tddiSttdg}t|}i}i}|D]}|didd}|didd}||dd z||<||dd z||<|||t d |Dt |d z d S#t $r}dt|icYd}~Sd}~wwxYw) Nr%AI assistant not initializedr@rJr=unknown query_typerc3BK|]}|ddVdS)rLrN)r)rncs r1 z get_analytics..s1*X*X11551BA+F+F*X*X*X*X*X*XrF) total_queriesr query_typesaverage_processing_time)r*getattrlenrsummaxr-r.)historyrrr conversationr=rr0s r1 get_analyticsrsf!  ;< <,(>CCG  # I IL"&&z266::9iPPG%))*b99==lIVVJ ( Wa 8 81 .4s*bbbQAJJG`.5s(rw'7'7 ZQR8S8S'T'TrFTr|cg|] }|d|d S)r)filenameurlrErms r1rpzlist_images..8s&SSS!Annn==SSSrFr%)rtrurrrr-r.)rr0rzs @r1 list_imagesr-s !' w~~j)) "b> !bb"*Z"8"8bbb TTTT^bccc SS{SSS   !!!Q       !s#$A0AA00 B:B BB/cKd}trtjtz }tduo+ttdotjo t dk}dd|t |t tduddddd d d d S) Nr"r#rrunningrarrXrrr)rrhealthr analyticsr7)r;rRai_readyr(rWrVrU endpoints)r'r&r*r+r"r(r,)r_r"s r1rootr>s I <IKK";;  D  ) n-- )! ) ( / !6(-%T1#%$     rF__main__u*🚀 Starting Advanced Classroom AI API...PORTi@zapp:appz0.0.0.0)hostportreload)>fastapirrrrrfastapi.middleware.corsrfastapi.responsesr fastapi.staticfilesr pydanticr typingr r rrasynciouvicornrtjsonbase64r threadingr& ai_modelsrappadd_middlewarer*r(r'r,r2r)Threadstartrurmakedirsmountr:rHrQrr`postrr.rrrrrrrAintenvironrrunrErFr1rs}MMMMMMMMMMMMMM222222******++++++,,,,,,,,,,,,  ))))))g %\ %%%  " B>???  d33399;;; w~~())$BK"### )[[+=>>>X NNN>>>>>)>>>      9   00000Y000>2232<',//< < < < 0/< ~(<00S # # # # # # 10# L"!!!< !!! ! ! ! B z E 6777 3rz~~fd++ , ,DGK   rF