import gradio as gr from sentence_transformers import SentenceTransformer from parser import SentenceParser from matcher import Matcher from utils import df_to_json # prep models model_checkpoint = "BerserkerMother/restaurant_ner" parser = SentenceParser.from_huggingface(model_checkpoint) embedder = SentenceTransformer("all-MiniLM-L6-v2") matcher = Matcher.from_path("data/final_data.csv", embedder) def recommend(query: str): ner_tags = parser.get_ner(query) jobs = parser.get_jobs(ner_tags) recomms = matcher.handle_jobs(jobs) recomms = df_to_json(recomms, [query]) return {"jobs": jobs, "recomms": recomms} iface = gr.Interface( fn=recommend, inputs="text", outputs="json", theme=gr.themes.Default( primary_hue=gr.themes.colors.rose, neutral_hue=gr.themes.colors.gray, ), ) iface.launch()