from taipy.gui import Gui import hashlib import json import codecs, os from taipy.gui import Html import pandas as pd import requests import statistics from databases import db import time pwd = os.getcwd() def extractConfig(nameModel="SystemData",relPath=os.path.join(pwd,"conf/experiment_config.json"),dataOut="keyantrophics"): configPath=os.path.join(os.getcwd(),relPath) with open(configPath, 'r', encoding='utf-8') as file: config = json.load(file)[nameModel] Output= config[dataOut] return Output mode_list=extractConfig(nameModel="SystemData",dataOut="mode_list") def getmetricvoice(model): rows = db(db.analitic_voice.model==model).select() rows_list = rows.as_list() data=pd.DataFrame(rows_list) durationL=list() for i in rows_list: durationL.append(db(db.trusted.path == i["path"] ).select().last().duration) duration=statistics.mean(durationL) time=pd.pivot_table(data,values=['time','similarity', 'similaritypartial'],index="model")['time'].values[0] similarity=pd.pivot_table(data,values=['time','similarity', 'similaritypartial'],index="model")['similarity'].values[0] similaritypartial=pd.pivot_table(data,values=['time','similarity', 'similaritypartial'],index="model")['similaritypartial'].values[0] efectivetime=time/duration return ({"model":model,"duration":duration,"time":time,"similarity":similarity,"similaritypartial":similaritypartial,"efectivetime":efectivetime}) def html_getmetricvoice(): models=list() t=time.time() for row in db().select(db.analitic_voice.model, distinct=True): models.append(row.model) data={} for model in models: data[model]=getmetricvoice(model) data=pd.DataFrame(data).T data_files={} for row in db().select(db.analitic_voice.ALL): data_files[row.id]=row.as_dict() #print(datafiles) data_files=pd.DataFrame(data_files).T #table = pd.pivot_table(data_files, values=['path', 'similarity','similaritypartial'], index=['path'], #columns=['model'], aggfunc="sum") #print(table,table.columns) html="""

Data general de los modelos

{data_voice}

Data de cada muestra

{data_files_voice} """ #{data_files_voice} print(time.time()-t) return html,data,data_files def getmetricllm_compra(model): rows = db(db.analitic_llm_compra.model==model).select() rows_list = rows.as_list() data=pd.DataFrame(rows_list) durationL=list() for i in rows_list: durationL.append(db(db.trusted.path == i["path"] ).select().last().duration) duration=statistics.mean(durationL) time=pd.pivot_table(data,values=['time','similarity', 'similaritypartial'],index="model")['time'].values[0] similarity=pd.pivot_table(data,values=['time','similarity', 'similaritypartial'],index="model")['similarity'].values[0] similaritypartial=pd.pivot_table(data,values=['time','similarity', 'similaritypartial'],index="model")['similaritypartial'].values[0] efectivetime=time/duration return ({"model":model,"duration":duration,"time":time,"similarity":similarity,"similaritypartial":similaritypartial,"efectivetime":efectivetime}) def html_getmetricllm_compra(): models=list() t=time.time() for row in db().select(db.analitic_llm_compra.model, distinct=True): models.append(row.model) data={} for model in models: data[model]=getmetricllm_compra(model) data=pd.DataFrame(data).T data_files={} for row in db().select(db.analitic_llm_compra.ALL): data_files[row.id]=row.as_dict() #print(datafiles) data_files=pd.DataFrame(data_files).T #table = pd.pivot_table(data_files, values=['path', 'similarity','similaritypartial'], index=['path'], #columns=['model'], aggfunc="sum") #print(table,table.columns) html="""

Data general de los modelos

{data_voice}

Data de cada muestra

{data_files_voice} """ #{data_files_voice} print(time.time()-t) return html,data,data_files def on_init(state): state.html_page_getmetricsvoice,state.data_voice,state.data_files_voice=html_getmetricvoice() pass html_page_getmetricsvoice,data_voice,data_files_voice=html_getmetricvoice() # mode="voice" # modetypedata="audio" # file="id2" # def changemenu(mode): # if mode_list[mode]=="audio": # pathori="example/audio" # if mode_list[mode]=="factura": # pathori="example/factura" # if mode_list[mode]=="texto": # pathori="example/texto" # seltypedata=mode_list[mode] # dir_list = os.listdir(pathori) # return pathori,seltypedata,dir_list data=pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]}) pages = { "getmetricsvoice": Html(html_page_getmetricsvoice), } app = Gui(pages=pages) app.on_init=on_init if __name__=="__main__": app.run(use_reloader=True,port=7882)#state.imageActive2,