File size: 2,415 Bytes
2a5b9f4
 
 
 
 
233fac4
2a5b9f4
d512dba
2a5b9f4
 
207d8a5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2a5b9f4
 
 
09ccbde
2a5b9f4
 
 
 
 
 
 
 
 
207d8a5
 
 
 
 
 
 
2a5b9f4
09ccbde
2a5b9f4
207d8a5
2a5b9f4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import gradio as gr
import requests
import os
import numpy as np
import pandas as pd
import json
# from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, AutoModelForSequenceClassification
from questiongenerator import QuestionGenerator

qg = QuestionGenerator()

HF_TOKEN = os.environ.get("HF_TOKEN")
DATASET_NAME = "Question_Generation_T5"
DATASET_REPO_URL = f"https://huggingface.co/datasets/pragnakalp/{DATASET_NAME}"
DATA_FILENAME = "que_gen_logs.json"
DATA_FILE = os.path.join("que_gen_logs", DATA_FILENAME)
DATASET_REPO_ID = "pragnakalp/Question_Generation_T5"
print("is none?", HF_TOKEN is None)
# REPOSITORY_DIR = "data"
# LOCAL_DIR = 'data_local'
# os.makedirs(LOCAL_DIR,exist_ok=True)

try:
    hf_hub_download(
        repo_id=DATASET_REPO_ID,
        filename=DATA_FILENAME,
        cache_dir=DATA_DIRNAME,
        force_filename=DATA_FILENAME
    )
    
except:
    print("file not found")

repo = Repository(
    local_dir="que_gen_logs", clone_from=DATASET_REPO_URL, use_auth_token=HF_TOKEN
)

def generate_questions(article,num_que):
    result = ''
    print("num_que    :", num_que)
    if num_que == None or num_que == '':
        num_que = 5
    else:
        num_que = num_que
    generated_questions_list = qg.generate(article, num_questions=int(num_que))
    summarized_data = {
        "generated_questions" : generated_questions_list
    }
    generated_questions = summarized_data.get("generated_questions",'')
    entry = {"article": article, "generated_questions": generated_questions, "num_of_question": num_que}
    with open(DATA_FILE, "r") as file:
        data = json.load(file)
    data.append(entry)
    with open(DATA_FILE, "w") as file:
        json.dump(data, file)
        commit_url = repo.push_to_hub()
    for q in generated_questions:
        print(q)
        result = result + q + '\n'
        
    return result

## design 1
inputs=gr.Textbox(lines=5, label="Article/Text",elem_id="inp_div")
total_que = gr.Textbox(label="Number of Question want to generate",elem_id="inp_div")
outputs=gr.Textbox(lines=5, label="Generated Questions",elem_id="inp_div")

demo = gr.Interface(
    generate_questions,
    [inputs,total_que],
    outputs,
    title="Question Generation using T5",
    description="Feel free to give your feedback", 
    css=".gradio-container {background-color: lightgray} #inp_div {background-color: #7FB3D5;"
)
demo.launch(enable_queue = False)