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) if duration==0: duration=0.001 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] try: efectivetime=time/duration except: efectivetime=0 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() data_files=pd.DataFrame(data_files).T #table = pd.pivot_table(data_files, values=['path', 'similarity','similaritypartial'], index=['path'], #columns=['model'], aggfunc="sum") html="""

Data general de los modelos

{data_voice}

Data de cada muestra

{data_files_voice} """ #{data_files_voice} 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'],index="model")['time'].values[0] relevance=pd.pivot_table(data,values=["relevance"],index="model")['relevance'].values[0] bias=pd.pivot_table(data,values=["bias"],index="model")['bias'].values[0] toxic=pd.pivot_table(data,values=["toxic"],index="model")['toxic'].values[0] correctness=pd.pivot_table(data,values=["correctness"],index="model")['correctness'].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,"time":time,"relevance":relevance,"bias":bias,"toxic":toxic,"correctness":correctness}) 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() data_files=pd.DataFrame(data_files).T #table = pd.pivot_table(data_files, values=['path', 'similarity','similaritypartial'], index=['path'], #columns=['model'], aggfunc="sum") html="""

Data general de los modelos

{data_llm_compra}

Data de cada muestra

{data_files_llm_compra} """ #{data_files_voice} return html,data,data_files def getmetricllm_generaciontexto(model): rows = db(db.analitic_llm_generaciontexto.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'],index="model")['time'].values[0] relevance=pd.pivot_table(data,values=["relevance"],index="model")['relevance'].values[0] bias=pd.pivot_table(data,values=["bias"],index="model")['bias'].values[0] toxic=pd.pivot_table(data,values=["toxic"],index="model")['toxic'].values[0] correctness=pd.pivot_table(data,values=["correctness"],index="model")['correctness'].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,"time":time,"relevance":relevance,"bias":bias,"toxic":toxic,"correctness":correctness}) def html_getmetricllm_generaciontexto(): models=list() t=time.time() for row in db().select(db.analitic_llm_generaciontexto.model, distinct=True): models.append(row.model) data={} for model in models: data[model]=getmetricllm_generaciontexto(model) data=pd.DataFrame(data).T data_files={} for row in db().select(db.analitic_llm_generaciontexto.ALL): data_files[row.id]=row.as_dict() data_files=pd.DataFrame(data_files).T #table = pd.pivot_table(data_files, values=['path', 'similarity','similaritypartial'], index=['path'], #columns=['model'], aggfunc="sum") html="""

Data general de los modelos

{data_llm_generaciontexto}

Data de cada muestra

{data_files_llm_generaciontexto} """ #{data_files_voice} return html,data,data_files def getmetricllm_factura(model): rows = db(db.analitic_llm_factura.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'],index="model")['time'].values[0] relevance=pd.pivot_table(data,values=["relevance"],index="model")['relevance'].values[0] bias=pd.pivot_table(data,values=["bias"],index="model")['bias'].values[0] toxic=pd.pivot_table(data,values=["toxic"],index="model")['toxic'].values[0] correctness=pd.pivot_table(data,values=["correctness"],index="model")['correctness'].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,"time":time,"relevance":relevance,"bias":bias,"toxic":toxic,"correctness":correctness}) def html_getmetricllm_factura(): models=list() t=time.time() for row in db().select(db.analitic_llm_factura.model, distinct=True): models.append(row.model) data={} for model in models: data[model]=getmetricllm_factura(model) data=pd.DataFrame(data).T data_files={} for row in db().select(db.analitic_llm_factura.ALL): data_files[row.id]=row.as_dict() data_files=pd.DataFrame(data_files).T #table = pd.pivot_table(data_files, values=['path', 'similarity','similaritypartial'], index=['path'], #columns=['model'], aggfunc="sum") html="""

Data general de los modelos

{data_llm_factura}

Data de cada muestra

{data_files_llm_factura} """ #{data_files_voice} return html,data,data_files def on_init(state): state.html_page_getmetricsvoice,state.data_voice,state.data_files_voice=html_getmetricvoice() state.html_page_getmetricsllm_compra,state.data_llm_compra,state.data_files_llm_compra=html_getmetricllm_compra() state.html_page_getmetricsllm_generaciontexto,state.data_llm_generaciontexto,state.data_files_llm_generaciontexto=html_getmetricllm_generaciontexto() state.html_page_getmetricsllm_factura,state.data_llm_factura,state.data_files_llm_factura=html_getmetricllm_factura() pass html_page_getmetricsvoice,data_voice,data_files_voice=html_getmetricvoice() html_page_getmetricsllm_compra,data_llm_compra,data_files_llm_compra=html_getmetricllm_compra() html_page_getmetricsllm_generaciontexto,data_llm_generaciontexto,data_files_llm_generaciontexto=html_getmetricllm_generaciontexto() html_page_getmetricsllm_factura,data_llm_factura,data_files_llm_factura=html_getmetricllm_factura() # 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 initial=""" """ pages = { "/":Html(initial), "getmetricsvoice": Html(html_page_getmetricsvoice), "getmetricsllm_compra": Html(html_page_getmetricsllm_compra), "getmetricsllm_generaciontexto": Html(html_page_getmetricsllm_generaciontexto), "getmetricsllm_factura": Html(html_page_getmetricsllm_factura) } app = Gui(pages=pages) app.on_init=on_init if __name__=="__main__": app.run(use_reloader=True,port=7882)#state.imageActive2,,base_url="initial/"