
    IXgo                         d dl Z d dlZd dlZd dlZd dlm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 Zd Zd Zd Zd Zdd
ZdS )    N)quote)unquotec                     d| z   }d|d}|S )NzERROR:    
statusCodebody )messerrrcs      3/home/debian/html/nutritwin/resources/KCALLMMain.pyErrorMsgr      s%    
d
C
 
B I    c                 .   i }	 | d         }n#  t          d          cY S xY wd}	 |d         }t          |          }n#  Y nxY wd}	 |d         }n#  Y nxY wd}	 |d         }n#  Y nxY wd}	 |d         }n#  Y nxY wd}	 |d	         }n#  Y nxY wd}	 |d
         }n#  Y nxY wd}	 |d         }n#  Y nxY wd}		 |d         }	n#  Y nxY wd}
	 t          |d                   }
n#  Y nxY wd}	 |d         }n#  Y nxY wd}	 |d         }n#  Y nxY wd}	 t          |d                   }n#  Y nxY wd}	 t          |d                   }n#  Y nxY w|dk    s|dk    r,t	          j        |||||||	|
||||          }|dk    rd|dS |S t          d          S )NqueryStringParameterszWrong URL parameters speechimage64	imagePathr   testcommentappiddeviceversionageoriginugenderg     f@	longitudeg     V@latituder   r   zSpeech content is null)r   r   intfloatKCALLMMainSpeechToDataexecute)eventr   r   r   r   r   r   appIdr   r   r   r   r   r    r!   resps                   r   runEventr)      s   
 0 %&= >0.///// F&x0 G'	2 I)+6		 D$V, G'	2 E%g. F&x0 G'	2 C'.// F&x0 F&x0 I/<==		 H.z:;;
 ||w"}}%-fi'SXZ`biknpv  yB  DL  NR  S  SR<<!  
 K 0111s     > AA AA$ $A(.A7 7A;B
 
BB B!'B0 0B4:C CC# #C'-C6 6C: D	 	DD) )D-3E	 	Ec                     |dk    r|                     |          dk    s|dk    rBi }||d<   t          j        |          |d<   ||d<   d|d<   d|d<   |                     |           d S )Nr   r   r   contextpromptr   r   )findcopydeepcopyappend)queriesqueryFilterr   r+   r,   newEntrys         r   addNewSemanticTestr4      s    rfkk+66!;;r@Q@Q%#}W55# " x   
Fr   c                     |                     |          dk    rBi }||d<   ||d<   d|d<   ||d<   t          j        |          |d<   |                     |           d S )Nr   r   r+   r   r,   r   r   )r-   KCALLMUtilitiesencodeImager0   )r1   r2   r   r+   r   r3   s         r   addNewImageTestr8      sr    ~~k""a''%% )-9)DDx   
Fr   c                 ,   d}t           j        }g }g d}t          j                            t          j                    ddd          }t          j        |          D ]#}|D ]}d|z   |v r|                    |           $g }	|D ]}
t          j                            ||
          }t          j                            |          sBt          d           t          d|z   d	z              t          d           t          d
           t          | ||||           d}t           j        g}t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d           t          | |||d            t          | |||d!           t          | |||d"           t          | |||d#           t          | |||d$           t          | |||d%           t          | |||d&           t          | |||d'           t          | |||d(           t          | |||d)           t          | |||d*           t          | |||d+           t          | |||d,           t          | |||d-           t          | |||d.           t          | |||d/           t          | |||d0           t          | |||d1           t          | |||d2           t          | |||d3           t          | |||d4           t          | |||d5           t          | |||d6           t          | |||d7           t          | |||d8           t          | |||d4           t          | |||d9           t          | |||d:           t          | |||d;           t          | |||d<           t          | |||d=           t          | |||d>           t          | |||d?           t          | |||d@           t          | |||dA           t          | |||dB           t          | |||dC           t          | |||dD           t          | |||dE           t          | |||dF           dG}t           j        g}t          | |||d7           t          | |||dH           t          | |||d6           t          | |||dI           t          | |||dJ           t          | |||dK           t          | |||dL           t          | |||dM           dN}t           j        g}t          | |||dO           t          | |||dP           t          | |||dQ           t          | |||dR           t          | |||dS           t          | |||dT           t          | |||dU           t          | |||dV           t          | |||dW           t          | |||dX           t          | |||dY           t          | |||dZ           t          | |||d[           t          | |||d\           t          | |||d]           t          | |||d^           t          | |||d_           t          | |||d`           t          | |||da           t          | |||db           t          | |||dc           t          | |||dd           de}t           j        g}t          | |||df           t          | |||dg           t          | |||dh           t          | |||di           t          | |||dj           dk}t           j        t           j        g}t          | |||dl           t          | |||dm           t          | |||dn           t          | |||do           t          | |||dp           t          | |||dq           t          | |||dr           ds}t           j        t           j        g}t          | |||dt           t          | |||du           t          | |||dv           t          | |||dw           t          | |||dx           t          | |||dy           t          | |||dz           t          | |||d{           t          | |||d|           t          | |||d}           t          | |||d~           t          | |||d           d S )NzSimple case for food with image)pngjpgjpegdatasamplesimages.z<############################################################z##          Path 'z' does not exist            ##r   zSimple case for foodzUne orange.zj'ai bu un verre de coca.u   J'ai bu deux tasses de café.z%J'ai bu un demi verre de lait entier.u*   J'ai mangé deux tranches de jambon blanc.u'   J'ai mangé une tranche de pain de mie.zUn grand verre de lait.u!   Ce matin, j'ai mangé une orange.u+   J'ai mangé deux portions de Vache qui Rit.u   J'ai mangé deux Vache qui Rit.u!   Ce matin, j'ai mangé une banane.zDeux verres de whisky.u(   Ce matin j'ai mangé un quignon de pain.u    J'ai mangé trois noix ce matin.z'Ce soir je vais boire un verre de coca.z/Ce matin j'ai bu un grand verre de lait entier.u   Une tasse de café.zUne tranche de foie gras.u   J'ai bu une tasse de café.u)   Ce midi, j'ai mangé un tartare de boeuf.u3   Ce midi, j'ai mangé une part de tarte à la pomme.z(Je vais boire une demie canette de coca.u'   J'ai mangé un quart de coupe de glace.z+Je voudrais boire une demi canette de coca.z Je voudrais boire 20 cl de coca.z!J'ai bu deux verres de vin rouge.u   J'ai mangé un croissant.zUn quignon de pain.u6   Deux tranches de pain avec une cuillère de confiture.u   250 g de carottes râpées.zUn verre et demi de d'eau.z200 g de carotte cuites.u*   A midi, j'ai mangé 30 grammes de carotte.zUne grande souscoupe de soupe.u   Deux grands verres de bière.u"   Trois quarts d'un verre de bière.u   Deux verres de bière.u   J'ai bu deux cafés.u   Un morceau de beurre allégé.zJus d'orange.zUn verre de vin rouge.u   Une chope de bière.zUn Danone nature.zUn yaourt nature Danone.zUn demi melon.u   Deux steaks hachés.zUne demi tranche de pain.u   Un café avec un sucre.u   Deux cafés avec un sucre.u*   J'ai mangé à midi un sandwich au jambon.u   Six huîtres.zDeux pommes.u0   J'ai mangé un Danone nature au lever du soleil.zUn petit verre de jus d'orange.zUn grand bol de lait entier.z%Un grand verre d'eau avec des bulles.u&   J'ai mangé un cassoulet aux morilles.u%   J'ai dégusté un smoothie aux kiwis.z!Deux parts de tarte aux mytilles.zSimple case for food with brandu'   Ce matin j'ai mangé un yaourt Activia.u   J'ai mangé un Petits Filous.zUne cannette de Coca-Cola.zJ'ai bu deux verres de Coca.u>   Ce soir, j'ai mangé une barquette de couscous de chez Picard.u*   j'ai mangé un yaourt à la fraise Danone.zComplex case for foodu>   J'ai bu deux tasse de thé ce matin et j'ai mangé une banane.u(   J'ai bu une bière et mangé une orange.z;Ce soir je vais manger une tomate et une tranche de jambon.z;Ce soir je mangerai une tomate et trois tranches de jambon.uF   Ce matin, j'ai mangé une tomate accompagnée d'une tranche de jambon.u=   Ce matin j'ai bu un grand verre de lait et mangé une banane.u   Finalement j'ai mangé du saumon avec une pomme de terre. J'ai bu un demi-verre de vin blanc. Et la tarte aux pommes en dessert était excellente.uB   Je vais donc manger un pavé de saumon avec une portion de frites.uy   Ce matin j'avais super faim et je me suis fait 2 oeufs au plat avec des toasts grillés, du jus d'orange et un capuccino.u   Ma caesar salad de ce soir au resto était copieuse. Ils m'a proposé une IPA mais j'aurais préféré un Perrier. Enfin, j'ai mangé 2 cheesecakes.u   Ma caesar salad de ce soir au resto était copieuse. Ils m'a proposé une IPA mais j'ai préféré un Perrier. Enfin, j'ai mangé 2 cheesecakes.un   Hier soir, j'ai mangé un couscous de chez Picard, non pas avec un verre de vin mais deux verres de Coca-cola.u   Comme il fait chaud, ce resto espagnol m'a servi un gaspacho, puis du poulpe grillé avec des poivrons grillés. Pour le dessert j'ai juste pris une salade de fruits. Pour arroser tout ça j'ai pris un verre de vino verde.zLUn grand bol de lait chaud avec du Nesquik avec une tranche de pain complet.uF   Ce matin, j'ai bu une grande tasse de thé sucré avec un peu de lait.z7Un grand bol de Nesquik avec deux morceaux de baguette.u   Ce matin, j'ai mangé une tartine de pain complet avec beaucoup de confiture et un peu de beurre accompagné d'un grand verre de lait chocolaté.u  J'aurais pu prendre une entrecôte mais le serveur m'a proposé un T-bone que je n'ai pas regretté. Je l'ai accompagné avec une écrasée de pommes de terre et des épinards à la crème. Je n'ai pas pris de fromage, par contre j'ai goûté la dernière glace de chez Picard.u   A l'apéro, avec des amis, nous avons mangé trois tranches de saucisson deux paquets de chips, et une poignée de cacahuètes grillées.u   Ce midi j'ai mangé trois saucisses avec des petits pois et en dessert une banane et j'ai couru l'après-midi pendant une heure trente.u   Ce matin j'ai mangé deux portions de Vache qui Rit avec un quignon de pain, j'ai également bu la moitié d'un grand verre de lait et mangé deux œufs. En fin de journée, j'ai couru deux heures dans le parc d'à côté à vive allure.u   Ce matin, j'ai mangé un croissant et deux morceaux de baguette avec de la confiture. Au lieu de boire un thé, j'ai bu deux cafés en écoutant de la musique classique, ensuite je suis parti faire deux heures de vélo à vive allure.zSimple case for sportu'   ce matin, j'ai fait une heure de vélo.u   ce matin, j'ai fait du vélo.u)   ce matin, j'ai fait de la course à pied.u9   Ce matin j'ai fait une heure de vélo très intensément.u<   Hier soir, j'ai fait 2 heures de judo, j'ai bien transpiré.zSimple case for food and sportuC   J'ai bu deux tasses de café et j'ai fait l'amour pendant 2 heures.u   En entrée j'ai pris une salade tomates et ensuite j'ai mangé un lieu noir avec des pommes de terre rissolée et une sauce au thym et enfin pour le dessert un gâteau basque.ua   Ce matin, j'ai bu une tasse de thé et je vais partir nager à la piscine pendant une demi-heure.ut   Ce matin j'ai bu un grand verre de lait manger une banane une pêche et je suis allé à vélo chercher de l'argent.u   Ce midi, je mangerais bien un tartare de boeuf avec des frites, et en dessert, une part de tarte aux pomme avec un café noir. J'irai courir une heure dans l'après midi.u<   J'ai bu deux coupes de champagne et j'ai skié comme un fou.z=J'ai bu un demi verre de jus d'orange et j'ai couru 3 heures.zComplex case for food and sportu$  Ce midi, j'ai mangé un pavé de saumon accompagné d'une pomme de terre et d'un demi verre de vin blanc. En dessert, la tarte au pomme était excellente, j'ai également mangé un yaourt nature Danone aux fraises! Au fait, aujourd'hui, j'ai marché 30mn et j'ai couru 2h dans le parc voisin.u   Tout compte fait, j'ai mangé une sole meunière accompagnée de haricots verts et d'un demi-verre de vin blanc. En dessert, la tarte au pomme était excellente! Dans deux heures, j'irai de toute façon courir 2h dans le parc voisin!u   Ce midi, je mangerais bien un tartare de boeuf avec des frites, et en dessert, une part de tarte à la pomme avec un café noir. J'irai courir une heure dans l'après midi.u   Ce matin j'ai bu deux cafés avec trois tranches de pain et de la confiture ensuite je suis parti faire une balade en vélo pendant 1h30.u   Ce matin, après une heure de ski intense, j'ai mangé à midi, non pas un potage aux poireaux, mais une raclette accompagnée de deux verres de vin rouge, j'ai fini la journée avec du parapente.z=Avant d'aller faire du ski, j'ai bu un verre de jus d'orange.u2   J'ai bu deux verres de Coca et j'ai fait du vélo.u9   J'ai bu deux verres de Coca et j'ai fait un peu de vélo.uO   J'ai bu un grand verre de lait je suis allé courir deux heures dans le jardin.uf   J'ai bu deux verres de Coca et j'ai fait du vélo à grande vitesse modérée pendant une après-midi.u   Ce matin, j'ai mangé un croissant et deux morceaux de baguette avec de la confiture, et j'ai bu deux cafés en écoutant de la musique classique, ensuite je suis parti faire deux heures de vélo à vive allure.u-  Tout compte fait ce midi j'ai mangé un pavé de saumon accompagné d'une pomme de terre et un demi verre de vin blanc en dessert la tarte au pomme était excellente j'ai également pris un yaourt nature danone au fait aujourd'hui j'ai marché 30 minutes et j'ai couru deux heures dans le parc voisin.)KCALLMConstINTENT_IMAGE_TO_FOODospathjoingetcwdlistdirr0   existsprintexitr8   INTENT_TEXT_TO_FOODr4   INTENT_TEXT_TO_ACTIVITY)r1   r2   r   r+   
imageNames
imaFormatsrootPathifileimaf
imagePaths	imageNamerD   s               r   getAllQueriesrT      s    0G.GJ'''Jw||BIKKXFFHH%% ) ) 	) 	)Dd
u$$!!%(((	) J F F	w||Hi00w~~d## 	PQQQ&-0PPQQQPQQQGGGgwEEEE %G./GwWg}MMMwWg?Z[[[wWg?^___wWg?fgggwWg?klllwWg?hiiiwWg?XYYYwWg?bcccwWg?lmmmwWg?`aaawWg?bcccwWg?WXXXwWg?ijjjwWg?bcccwWg?abbbwWg?hiiiwWg?pqqqwWg?TUUUwWg?Z[[[wWg?\]]]wWg?jkkkwWg?tuuuwWg?ijjjwWg?hiiiwWg?lmmmwWg?abbbwWg?bcccwWg?Z[[[wWg?TUUUwWg?wxxxwWg?\]]]wWg?[\\\wWg?YZZZwWg?klllwWg?_```wWg?^___wWg?cdddwWg?WXXXwWg?UVVVwWg?_```wWgOOOwWg?WXXXwWg?UVVVwWg?RSSSwWg?YZZZwWg?OPPPwWg?WXXXwWg?UVVVwWg?Z[[[wWg?XYYYwWg?[\\\wWg?klllwWgOOOwWg~NNNwWg?qrrrwWg?`aaawWg?]^^^wWg?fgggwWg?ghhhwWg?fgggwWg?bccc
 0G./GwWg?YZZZwWg?hiiiwWg?RSSSwWg?^___wWg?[\\\wWg?]^^^wWg?  A  A  AwWg?klll &G./GwWg?  A  A  AwWg?ijjjwWg?|}}}wWg?|}}}wWg  @H  I  I  IwWg?~wWg  @T  U  U  UwWg  @D  E  E  EwWg  @{  |  |  |wWg  @V  W  W  WwWg  @R  S  S  SwWg  @p  q  q  qwWg  @`  a  a  awWg  @N  O  O  OwWg  @H  I  I  IwWg?xyyywWg  @S  T  T  TwWg  @W  X  X  XwWg  @K  L  L  LwWg  @I  J  J  JwWg  @o  p  p  pwWg  @l  m  m  m &G23GwWg?hiiiwWg?^___wWg?jkkkwWg?z{{{wWg?}~~~ /G.0STGwWg  @E  F  F  FwWg  @q  r  r  rwWg  @c  d  d  dwWg  @v  w  w  wwWg  @l  m  m  mwWg?}~~~wWg?~ 0G.0STGwWg @t u u u wWg @7 8 8 8 wWg @_ ` ` `wWg  @K  L  L  LwWg @p q q qwWg?~wWg?stttwWg?z{{{wWg  @Q  R  R  RwWg  @h  i  i  iwWg  @U  V  V  VwWg @T U U U8 Fr   r   c           
         t                       t          d           t          d           t          d           t                       d}|dk    r1t          j                     t          d           t          d           d}g }| }d}t	          ||           d}t          |          }t          d	t          |          z              g }|D ]}|dk    rt                       t                       t                       t          d
           t          d
           t          dt          |dz             z   dz   t          |          z   dz              t          d
           t          d
           t                       |d         }	|d         }
|d         }|d         }|d         }
|d         }d}d}|dk    r8t          j        ||          dk    r|dk    rt          d|d         z              nt          j	        |          }|dk    r9|t          j
        k    rt          j        d           nt          j        d           t          |	          }d}t          j        ||
|||||          }d}t!          |          }|d k    r0|dk    r*t          j        ||
          }|                    |           |dz  }d S )Nz5=====================================================z'            EMULATOR SPEECH RECO KCALME      zDump clean is doner   Fz Deux parts de tarte aux mytilleszNumber of queries: zA=================================================================z [/z] Case to be checkedr,   r   r+   r   r   r   Tz---> Query already processed: 'g      ?g?DS)rI   KCALLMActivityUtilities
cleanDumpsrJ   rT   lenstralreadyExists
KCALLMCoregetModelFromFamily
MODEL_GPT4timesleepr   r6   
buildEventr)   recordResultr0   )defQuerydumpMode	doNotSaver1   r2   idx	nbQueriesdumpResultsquerytextr   ctxr   r   llmidr   modelr   r   r&   r+   resultdrs                          r   runMainTestsrs   ~  s   	GGG	
ABBB	
3444	
ABBB	GGG H 1}}*,,,"###Q
 I GK4K8 ';''' CGI	
#i..
0111K 7 7 q==GGGGGGGGGUVVVUVVV$S1W%+c)nn<?UUVVVUVVVUVVVGGG X+&	I	"+&		" q==4B5'RRVZZZ_hlq_q_q3eHoEFFFF
 1%88EaxxJ111JsOOOOJsOOO ;;D F#.tYRVX]_effEG e__F ~~)u"4"4,9&)LL""2&&&Qo7 7r   )r   )jsonrC   r.   rb   urllib.parser   r   rA   r_   r$   rZ   r6   r   r)   r4   r8   rT   rs   r
   r   r   <module>rv      s     				                                          w2 w2 w2t    K K K^x x x x x xr   