
    (oKgS"                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd Zd Zy)    N)Decimalc                    t        j                          }t        j                  d| z          d }t        j                         }t        | ||||      }|d k(  ry d}	 t        |d   d         }d}	 t        |d   d         }t        j                          }||z
  |d<   t        j                  d       t        j                  d       t        j                  |       t        j                  d	       d
t        |d         z   }t        j                  |       | dk7  r|dk(  r}d}d}t        j                  j                  dd      }t        |dd      5 }t        j                  |      }|d   }|d   }|j                          d d d        d }d}t        j                   |||      }|j#                  d      }|j%                  d      }t        j                          }i }t'        t        j                                |d<   t        t)        j*                               j-                         |d<   | |d<   ||d<   ||d<   ||d<   ||d<   ||d<   ||d<   t/        |	      |d<   t/        |
      |d <   t        j0                  |      |d!<   |j3                  |"      }|d   |d#<   |S #  d}Y <xY w#  d}Y 2xY w# 1 sw Y   3xY w)$NzInput text: r   	solutionsingredientsactivitycputime zR--------------------------------- final result -----------------------------------zR----------------------------------------------------------------------------------zLLM CPU Time: keyszM3Dkeys.jsonrutf-8encodingAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYz	eu-west-3)aws_access_key_idaws_secret_access_keyregion_namedynamodbKCALME_PROMPT_V1V_RecordTimeV_UUIDV_PromptV_DeviceV_NutritionCountV_ActivityCountV_AppIdV_AgeV_GenderV_Longitude
V_Latitude	V_Results)Itemuuid)timeKCATraceTRACE
KCALLMCoregetDefaultModelexecuteLLMSinglelenstrospathjoinopenjsonloadcloseboto3SessionresourceTableintr#   uuid4upperr   dumpsput_item) text	imagePathimage64commentappIddeviceversionagegender	longitudelatitudetest
start_timejresultmodelomessnbnutnbactend_timescpur   r   keyPathfr
   sessionregNamer   tablecurrentTimeresultresponses                                    HE:\wamp.anq\www\apps\calme\nutritwin\resources\KCALLMMainSpeechToData.pyexecuterY      s    JNN>D() G &&(E T9gwFE } EE+&}56 EE+&z23
 yy{H*,E)NN2NNghNN5NNghc%	"233DNN4 rzdai  " '',,v~6'31Q99Q<D $%8 9$()@$A!GGI	 2 -- 1$9!
 ##J/12 iik!$TYY[!1~tzz|,224x!z#z%*!"$) !!yw#z '	 2}&x0|"jj/{ >> " 

 x(f LO, 21s$   J! /J+ 0J5!J(+J25J?c                 
   t         j                  j                  ddd      }t         j                  j                  ddd      }t         j                  j                  |d      }t         j                  j                  |d      }t         j                  j                  |d      }	t         j                  j                  |d      }
t        j                  d	|z          t        j                  d
|z          t        j                  d|	z          i }t        |dd      5 }t        j                  |      }d d d        j                          t        j                  d       t        j                  d| z          t        j                  d       t        j                         }t        j                  || ||      }i }| |d<   ||d<   ||d<   t        j                  |      |d<   g g i d|d<   d}d}|D ]7  }g }i }|t        j                  k(  s'|t        j                   k(  s|t        j"                  k(  rg |d<   d}|}|t        j"                  k(  rt        j                  }t%        j&                  | |||      }|t        j                   k(  rt)        d|z          t        j*                  |||      }t        j                  d       t        j                  d       t        j                  |       t        j                  d       t-        j.                  |d   ||      }||d   d<   |t        j"                  k(  sIt-        j0                  |||      }g |d<   t%        j&                  | |||      }t        j*                  |||d       }t        j                  d       t        j                  d       t        j                  |       t        j                  d       d!|d   d"}t        j                  |      |d   d<   |t        j2                  k(  s#g |d<   d}t        |	dd      5 }t        j                  |      }|D ]  }|d   d#   }|d   j5                  |         |j                          d d d        t%        j&                  | |||      }t        j*                  |||      }t        j                  d       t        j                  d       t        j                  |       t        j                  d       t7        j.                  |d         }t9        |      }||d   d$<   : |S # 1 sw Y   xY w# 1 sw Y   xY w)%N__deriveddata__DerivedObjectsData
FoodPictoszKcalMeDB_fr.sl3zPictoMatcherNetNG_fr.jsonzDerivedSportMET.jsonzNutritionGroundingDico.jsonz	DB path: zPicto path: zSport grounding path: r   r   r   z==================================================================================================================================zPrompt from user: promptrJ   r=   intents)	nutritionr   rW   r   r   typer	   zImage to be analyzed: zP--------------------------------- LLM result -----------------------------------zP--------------------------------------------------------------------------------rW   ra   nameFr<   )rb   datafrr   )r,   r-   r.   r%   r&   r/   r0   r1   r2   KCALLMConstgetIntentListKCALLMEnginegetIntentsFromPromptcopydeepcopyINTENT_TEXT_TO_FOODINTENT_IMAGE_TO_FOODINTENT_NUTRITION_QUESTIONKCALLMPromptgetPrepromptprintrunLLMKCALLMNutritionUtilitiesgetBestSolutionsextractPortraitRobotsINTENT_TEXT_TO_ACTIVITYappendKCALLMActivityUtilitiesr*   )r<   r=   r>   r?   rJ   dataLocation
pictosPathdbPath	pictoPathsportGroundingnutritionGroundingjVocarQ   listIntentsr`   rK   rL   rM   intentsolsmapperportraitRoboteffectiveIntentr_   rI   respjSportsspspns                                rX   r)   r)   |   s    77<< 13CVLL/1A<PJWW\\,(9:F\+FGIWW\\,0FGNl4QRNN;'(NN>I-.NN+n<= E	iw	/1		! 
0GGI NN  X  YNN'$./NN  X  Y ++-K//T7ERG EE(OE'N"E+}}W-E)')rrJE+EE
 [444+BbBb8bflp{  qV  qV  gV  F6NM %O>>>"-"A"A!..tV_m\F 999.:; #))&'5AGNN2NNmnNN7#NNmn+<<WZ=PRXZ_`D.2E+{+ >>> !9 N NtU[]g h "$v%224W '--fgueLr"qrw'qr &
0CD15t1Dk":. {:::  F6NMncG<))A,!BV*T*C6N))#. " 	 = "..tVV]SF #))&'5AG NN2NNmnNN7#NNmn*;;GJ<OQXYDIE-1E+z*o v Lc 
0	/p =<s   T,'A	T9,T69U	)r,   rj   r0   argparserequestssqlite3r$   r3   r#   decimalr   rs   rx   ro   rh   rf   r'   KCADBProcessorUtilitiesKCAProcKCALLMTracer%   rY   r)        rX   <module>r      sH    	                ) 
_FAr   