import numpy as np import gradio as gr import os import pandas as pd from datasets import load_dataset Secret_token = os.getenv('token') dataset = load_dataset('FDSRashid/hadith_info',data_files = 'Basic_Edge_Information.csv', token = Secret_token, split = 'train') dataset2 = load_dataset('FDSRashid/hadith_info',data_files = 'masteredgecityratiosapplied_updated_with_ID_mapping_to_NEO4J.csv', token = Secret_token, split = 'train') edge_info = dataset.to_pandas() taraf_info = dataset2.to_pandas() cities = taraf_info['City'].unique().tolist() def subset_city_year( city = ['المدينه', 'بغداد', 'كوفة', 'بصرة'], year = 50): edges = edge_info[(taraf_info['Year'] == year) & (taraf_info['City'].isin(city))] return edges def get_narrators( city = ['المدينه', 'بغداد', 'كوفة', 'بصرة'], year = 50): df = subset_city_year(year, city) narrators = edge_info[edge_info['Edge_ID'].isin(df['ID'])] return narrators['Edge_Name'].reset_index().drop('index', axis = 1).rename(columns = {'Edge_Name': 'Teacher To Student'}) app = gr.Interface(get_narrators, [gr.Dropdown(choices = cities, value = ['المدينه', 'بغداد', 'كوفة', 'بصرة'], multiselect=True), gr.Slider(min_year, max_year, value = 50, label = 'Begining', info = 'Choose The Year to Retrieve Narrators'), ], gr.Dataframe()).launch()