babelmachine / app.py
vickeee465
cache models during build
90425de
raw history blame
No virus
1.92 kB
import os
PATH = '/data/' # at least 150GB storage needs to be attached
os.environ['TRANSFORMERS_CACHE'] = PATH
os.environ['HF_HOME'] = PATH
os.environ['HF_DATASETS_CACHE'] = PATH
os.environ['TORCH_HOME'] = PATH
import gradio as gr
from interfaces.cap import demo as cap_demo
from interfaces.manifesto import demo as manifesto_demo
from interfaces.sentiment import demo as sentiment_demo
from interfaces.emotion import demo as emotion_demo
from interfaces.ner import demo as ner_demo
from interfaces.ner import download_models as download_spacy_models
from utils import download_hf_models
with gr.Blocks() as demo:
gr.Markdown(
f"""
<style>
@import 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400';
</style>
<div style="display: block; text-align: left; padding:0; margin:0;font-family: "Source Sans Pro", Helvetica, sans-serif;">
<h1 style="text-align: center;font-size: 17pt;">Babel Machine Demo</h1>
<p style="font-size: 14pt;">This is a demo for text classification using language models finetuned on data labeled by <a href="https://www.comparativeagendas.net/">CAP</a>, <a href="https://manifesto-project.wzb.eu/">Manifesto Project</a>, sentiment, emotion coding and Named Entity Recognition systems.<br>
For the coding of complete datasets, please visit the official <a href="https://babel.poltextlab.com/">Babel Machine</a> site.<br>
Please note that named entity inputs are case sensitive.<br>
</p>
</div>
""")
gr.TabbedInterface(
interface_list=[cap_demo, manifesto_demo, sentiment_demo, emotion_demo, ner_demo],
tab_names=["CAP", "Manifesto", "Sentiment (3)", "Emotions (8)", "Named Entity Recognition"],
)
if __name__ == "__main__":
download_hf_models()
download_spacy_models()
demo.launch()
# TODO: add all languages & domains