Spaces:
Sleeping
Sleeping
# --- Imports libs --- | |
import gradio as gr | |
import pandas as pd | |
import configparser | |
# --- Imports modules --- | |
from modules.model_embbeding import Embedding | |
from modules.module_vocabulary import Vocabulary | |
from modules.module_languageModel import LanguageModel | |
# --- Imports interfaces --- | |
from interfaces.interface_WordExplorer import interface as interface_wordExplorer | |
from interfaces.interface_BiasWordExplorer import interface as interface_biasWordExplorer | |
from interfaces.interface_data import interface as interface_data | |
from interfaces.interface_biasPhrase import interface as interface_biasPhrase | |
from interfaces.interface_crowsPairs import interface as interface_crowsPairs | |
# --- Tool config --- | |
cfg = configparser.ConfigParser() | |
cfg.read('tool.cfg') | |
LANGUAGE = cfg['INTERFACE']['language'] | |
EMBEDDINGS_PATH = cfg['WORD_EXPLORER']['embeddings_path'] | |
NN_METHOD = cfg['WORD_EXPLORER']['nn_method'] | |
MAX_NEIGHBORS = int(cfg['WORD_EXPLORER']['max_neighbors']) | |
CONTEXTS_DATASET = cfg['DATA']['contexts_dataset'] | |
VOCABULARY_SUBSET = cfg['DATA']['vocabulary_subset'] | |
AVAILABLE_WORDCLOUD = cfg['DATA'].getboolean('available_wordcloud') | |
LANGUAGE_MODEL = cfg['LMODEL']['language_model'] | |
AVAILABLE_LOGS = cfg['LOGS'].getboolean('available_logs') | |
# --- Init classes --- | |
embedding = Embedding( | |
path=EMBEDDINGS_PATH, | |
limit=100000, | |
randomizedPCA=False, | |
max_neighbors=MAX_NEIGHBORS, | |
nn_method=NN_METHOD | |
) | |
vocabulary = Vocabulary( | |
subset_name=VOCABULARY_SUBSET | |
) | |
beto_lm = LanguageModel( | |
model_name=LANGUAGE_MODEL | |
) | |
labels = pd.read_json(f"language/{LANGUAGE}.json")["app"] | |
# --- Main App --- | |
INTERFACE_LIST = [ | |
interface_biasWordExplorer( | |
embedding=embedding, | |
available_logs=AVAILABLE_LOGS, | |
lang=LANGUAGE), | |
interface_wordExplorer( | |
embedding=embedding, | |
available_logs=AVAILABLE_LOGS, | |
max_neighbors=MAX_NEIGHBORS, | |
lang=LANGUAGE), | |
interface_data( | |
vocabulary=vocabulary, | |
contexts=CONTEXTS_DATASET, | |
available_logs=AVAILABLE_LOGS, | |
available_wordcloud=AVAILABLE_WORDCLOUD, | |
lang=LANGUAGE), | |
interface_biasPhrase( | |
language_model=beto_lm, | |
available_logs=AVAILABLE_LOGS, | |
lang=LANGUAGE), | |
interface_crowsPairs( | |
language_model=beto_lm, | |
available_logs=AVAILABLE_LOGS, | |
lang=LANGUAGE), | |
] | |
TAB_NAMES = [ | |
labels["biasWordExplorer"], | |
labels["wordExplorer"], | |
labels["dataExplorer"], | |
labels["phraseExplorer"], | |
labels["crowsPairsExplorer"] | |
] | |
if LANGUAGE != 'es': | |
# Skip data tab when using other than spanish language | |
INTERFACE_LIST = INTERFACE_LIST[:2] + INTERFACE_LIST[3:] | |
TAB_NAMES = TAB_NAMES[:2] + TAB_NAMES[3:] | |
iface = gr.TabbedInterface( | |
interface_list= INTERFACE_LIST, | |
tab_names=TAB_NAMES | |
) | |
iface.queue(concurrency_count=8) | |
iface.launch(debug=False) | |