Towhidul commited on
Commit
12b7e8f
·
1 Parent(s): 76c3b45

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -92
app.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  import streamlit as st
2
  from transformers import pipeline
3
  import re
@@ -27,6 +29,34 @@ def query_evidence(payload):
27
  response = requests.post(API_URL_evidence, headers=headers_evidence, json=payload)
28
  return response.json()
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  #-----------------------------------------------------------
31
  st.title('Welcome to :blue[FACTIFY - 5WQA] ')
32
 
@@ -363,23 +393,14 @@ def gen_qa_who(df):
363
  claim=df['claim'][i]
364
  answer= split_ws(df["who"])
365
  evidence=df["evidence"][i]
366
- time.sleep(5)
367
  if srl!="":
368
  try:
369
  for j in range(0,len(answer)):
370
- FACT_TO_GENERATE_QUESTION_FROM = f"""{answer[j]} [SEP] {claim}"""
371
- #FACT_TO_GENERATE_QUESTION_FROM = f"""generate_who_based_question_from_context_using_the_next_answer:{answer[j]} [SEP] context:{claim}"""
372
- #time.sleep(10)
373
- question_ids = query({"inputs":FACT_TO_GENERATE_QUESTION_FROM,
374
- "num_beams":5,
375
- "early_stopping":True,
376
- "min_length": 100,"wait_for_model":True})[0]['generated_text'].capitalize()
377
  question_ids = rephrase_question_who(question_ids)
378
  list_of_ques_who.append(f"""Q{j+1} :\n {question_ids}""")
379
  list_of_ans_who.append(f"""Claim :\n {answer[j]}""")
380
- input_evidence = f"answer_the_next_question_from_context: {question_ids} context: {evidence}"
381
- time.sleep(5)
382
- answer_evidence = query_evidence({"inputs":input_evidence,"truncation":True,"wait_for_model":True})[0]['generated_text']
383
  if answer_evidence.lower() in evidence.lower():
384
  list_of_evidence_answer_who.append(f"""Answer retrieved from evidence :\n {answer_evidence}""")
385
  else:
@@ -424,22 +445,14 @@ def gen_qa_what(df):
424
  claim=df['claim'][i]
425
  answer= split_ws(df["what"])
426
  evidence=df["evidence"][i]
427
- time.sleep(5)
428
  if srl!="":
429
  try:
430
  for j in range(0,len(answer)):
431
- FACT_TO_GENERATE_QUESTION_FROM = f"""{answer[j]} [SEP] context:{claim}"""
432
- #time.sleep(10)
433
- question_ids = query({"inputs":FACT_TO_GENERATE_QUESTION_FROM,
434
- "num_beams":5,
435
- "early_stopping":True,
436
- "min_length": 100,"wait_for_model":True})[0]['generated_text'].capitalize()
437
  question_ids = rephrase_question_what(question_ids)
438
  list_of_ques_what.append(f"""Q{j+1}:{question_ids}""")
439
  list_of_ans_what.append(f"""Claim :\n {answer[j]}""")
440
- input_evidence = f"answer_the_next_question_from_context: {question_ids} context: {evidence}"
441
- time.sleep(5)
442
- answer_evidence = query_evidence({"inputs":input_evidence,"truncation":True,"wait_for_model":True})[0]['generated_text']
443
  if answer_evidence.lower() in evidence.lower():
444
  list_of_evidence_answer_what.append(f"""Answer retrieved from evidence :\n {answer_evidence}""")
445
 
@@ -486,22 +499,14 @@ def gen_qa_why(df):
486
  claim=df['claim'][i]
487
  answer= split_ws(df["why"])
488
  evidence=df["evidence"][i]
489
- time.sleep(5)
490
  if srl!="":
491
  try:
492
  for j in range(0,len(answer)):
493
- FACT_TO_GENERATE_QUESTION_FROM = f"""{answer[j]} [SEP] {claim}"""
494
- #time.sleep(10)
495
- question_ids = query({"inputs":FACT_TO_GENERATE_QUESTION_FROM,
496
- "num_beams":5,
497
- "early_stopping":True,
498
- "min_length": 100,"wait_for_model":True})[0]['generated_text'].capitalize()
499
  question_ids = rephrase_question_why(question_ids)
500
  list_of_ques_why.append(f"""Q{j+1}:{question_ids}""")
501
  list_of_ans_why.append(f"""Claim :\n {answer[j]}""")
502
- input_evidence = f"answer_the_next_question_from_context: {question_ids} context: {evidence}"
503
- time.sleep(5)
504
- answer_evidence = query_evidence({"inputs":input_evidence,"truncation":True,"wait_for_model":True})[0]['generated_text']
505
  if answer_evidence.lower() in evidence.lower():
506
  list_of_evidence_answer_why.append(f"""Answer retrieved from evidence :\n {answer_evidence}""")
507
  else:
@@ -547,22 +552,14 @@ def gen_qa_when(df):
547
  claim=df['claim'][i]
548
  answer= split_ws(df["when"])
549
  evidence=df["evidence"][i]
550
- time.sleep(5)
551
  if srl!="":
552
  try:
553
  for j in range(0,len(answer)):
554
- FACT_TO_GENERATE_QUESTION_FROM = f"""{answer[j]} [SEP] {claim}"""
555
- #time.sleep(10)
556
- question_ids = query({"inputs":FACT_TO_GENERATE_QUESTION_FROM,
557
- "num_beams":5,
558
- "early_stopping":True,
559
- "min_length": 100,"wait_for_model":True})[0]['generated_text'].capitalize()
560
  question_ids = rephrase_question_when(question_ids)
561
  list_of_ques_when.append(f"""Q{j+1}:{question_ids}""")
562
  list_of_ans_when.append(f"""Claim :\n {answer[j]}""")
563
- input_evidence = f"answer_the_next_question_from_context: {question_ids} context: {evidence}"
564
- time.sleep(5)
565
- answer_evidence = query_evidence({"inputs":input_evidence,"truncation":True,"wait_for_model":True})[0]['generated_text']
566
  if answer_evidence.lower() in evidence.lower():
567
  list_of_evidence_answer_when.append(f"""Answer retrieved from evidence :\n {answer_evidence}""")
568
  else:
@@ -608,22 +605,14 @@ def gen_qa_where(df):
608
  claim=df['claim'][i]
609
  answer= split_ws(df["where"])
610
  evidence=df["evidence"][i]
611
- time.sleep(5)
612
  if srl!="":
613
  try:
614
  for j in range(0,len(answer)):
615
- FACT_TO_GENERATE_QUESTION_FROM = f"""{answer[j]} [SEP] {claim}"""
616
- time.sleep(10)
617
- question_ids = query({"inputs":FACT_TO_GENERATE_QUESTION_FROM,
618
- "num_beams":5,
619
- "early_stopping":True,
620
- "min_length": 100,"wait_for_model":True})[0]['generated_text'].capitalize()
621
  question_ids = rephrase_question_where(question_ids)
622
  list_of_ques_where.append(f"""Q{j+1}:{question_ids}""")
623
  list_of_ans_where.append(f"""Claim :\n {answer[j]}""")
624
- input_evidence = f"answer_the_next_question_from_context: {question_ids} context: {evidence}"
625
- time.sleep(5)
626
- answer_evidence = query_evidence({"inputs":input_evidence,"truncation":True,"wait_for_model":True})[0]['generated_text']
627
  if answer_evidence.lower() in evidence.lower():
628
  list_of_evidence_answer_where.append(f"""Answer retrieved from evidence :\n {answer_evidence}""")
629
  else:
@@ -650,44 +639,7 @@ def gen_qa_where(df):
650
  #------------------------------------------------------
651
 
652
 
653
- #------------------------------------------------------------
654
- # if claim_text:
655
- # if evidence_text:
656
- # df=claim(claim_text)
657
- # df["evidence"]=evidence_text
658
- # final_df = pd.DataFrame(columns=['Who Claims', 'What Claims', 'When Claims', 'Where Claims', 'Why Claims'])
659
-
660
-
661
- # final_df["Who Claims"]=gen_qa_who(df)
662
- # final_df["What Claims"]=gen_qa_what(df)
663
- # final_df["When Claims"]=gen_qa_when(df)
664
- # final_df["Where Claims"]=gen_qa_where(df)
665
- # final_df["Why Claims"]=gen_qa_why(df)
666
- # st.table(final_df)
667
- # st.write(df["claim"])
668
- # st.write(df["evidence"])
669
- # # st.write(gen_qa_who(df))
670
- # # st.table(final_df)
671
-
672
- # if claim_text and evidence_text:
673
- # st.write("You entered: ", claim_text)
674
- # st.write("You entered: ", evidence_text)
675
- # st.caption(':green[Kindly hold on for a few minutes while the QA pairs are being generated]')
676
- # df=claim(claim_text)
677
- # df["evidence"]=evidence_text
678
- # final_df = pd.DataFrame(columns=['Who Claims', 'What Claims', 'When Claims', 'Where Claims', 'Why Claims'])
679
- # final_df["Who Claims"]=gen_qa_who(df)
680
- # final_df["What Claims"]=gen_qa_what(df)
681
- # final_df["When Claims"]=gen_qa_when(df)
682
- # final_df["Where Claims"]=gen_qa_where(df)
683
- # final_df["Why Claims"]=gen_qa_why(df)
684
- # st.table(final_df)
685
- # st.write(df["claim"])
686
- # st.write(df["evidence"])
687
-
688
  if claim_text and evidence_text:
689
- # st.write("You entered: ", claim_text)
690
- # st.write("You entered: ", evidence_text)
691
  st.caption(':green[Kindly hold on for a few minutes while the QA pairs are being generated]')
692
  df=claim(claim_text)
693
  df["evidence"]=evidence_text
@@ -752,7 +704,4 @@ if claim_text and evidence_text:
752
  final_df['Why Claims'] = output5 + [''] * (max_rows - len(output5))
753
  st.write(f"""Claim : {claim_text}""")
754
  st.write(f"""Evidence : {evidence_text}""")
755
- st.table(final_df)
756
- # st.write(df["claim"])
757
- # st.write(df["evidence"])
758
-
 
1
+
2
+
3
  import streamlit as st
4
  from transformers import pipeline
5
  import re
 
29
  response = requests.post(API_URL_evidence, headers=headers_evidence, json=payload)
30
  return response.json()
31
 
32
+ #--------------------------------------------------------------------------------------------
33
+ def model_load_qg(answer,claim):
34
+ FACT_TO_GENERATE_QUESTION_FROM = f"""{answer} [SEP] {claim}"""
35
+ while True:
36
+ try:
37
+ question_ids = query({"inputs":FACT_TO_GENERATE_QUESTION_FROM,
38
+ "num_beams":5,
39
+ "early_stopping":True,
40
+ "min_length": 100,
41
+ "wait_for_model":True})[0]['generated_text'].capitalize()
42
+ break
43
+ except:
44
+ time.sleep(1)
45
+ return question_ids
46
+
47
+ def model_load_qa(question_ids,evidence):
48
+
49
+ # Wait until the model is loaded
50
+ while True:
51
+ try:
52
+ input_evidence = f"answer_the_next_question_from_context: {question_ids} context: {evidence}"
53
+ answer_evidence = query_evidence({"inputs":input_evidence,"truncation":True,"wait_for_model":True})[0]['generated_text']
54
+ break
55
+ except:
56
+ time.sleep(1)
57
+ return answer_evidence
58
+
59
+
60
  #-----------------------------------------------------------
61
  st.title('Welcome to :blue[FACTIFY - 5WQA] ')
62
 
 
393
  claim=df['claim'][i]
394
  answer= split_ws(df["who"])
395
  evidence=df["evidence"][i]
 
396
  if srl!="":
397
  try:
398
  for j in range(0,len(answer)):
399
+ question_ids = model_load_qg(answer[j],claim)
 
 
 
 
 
 
400
  question_ids = rephrase_question_who(question_ids)
401
  list_of_ques_who.append(f"""Q{j+1} :\n {question_ids}""")
402
  list_of_ans_who.append(f"""Claim :\n {answer[j]}""")
403
+ answer_evidence = model_load_qa(question_ids,evidence)
 
 
404
  if answer_evidence.lower() in evidence.lower():
405
  list_of_evidence_answer_who.append(f"""Answer retrieved from evidence :\n {answer_evidence}""")
406
  else:
 
445
  claim=df['claim'][i]
446
  answer= split_ws(df["what"])
447
  evidence=df["evidence"][i]
 
448
  if srl!="":
449
  try:
450
  for j in range(0,len(answer)):
451
+ question_ids = model_load_qg(answer[j],claim)
 
 
 
 
 
452
  question_ids = rephrase_question_what(question_ids)
453
  list_of_ques_what.append(f"""Q{j+1}:{question_ids}""")
454
  list_of_ans_what.append(f"""Claim :\n {answer[j]}""")
455
+ answer_evidence = model_load_qa(question_ids,evidence)
 
 
456
  if answer_evidence.lower() in evidence.lower():
457
  list_of_evidence_answer_what.append(f"""Answer retrieved from evidence :\n {answer_evidence}""")
458
 
 
499
  claim=df['claim'][i]
500
  answer= split_ws(df["why"])
501
  evidence=df["evidence"][i]
 
502
  if srl!="":
503
  try:
504
  for j in range(0,len(answer)):
505
+ question_ids = model_load_qg(answer[j],claim)
 
 
 
 
 
506
  question_ids = rephrase_question_why(question_ids)
507
  list_of_ques_why.append(f"""Q{j+1}:{question_ids}""")
508
  list_of_ans_why.append(f"""Claim :\n {answer[j]}""")
509
+ answer_evidence = model_load_qa(question_ids,evidence)
 
 
510
  if answer_evidence.lower() in evidence.lower():
511
  list_of_evidence_answer_why.append(f"""Answer retrieved from evidence :\n {answer_evidence}""")
512
  else:
 
552
  claim=df['claim'][i]
553
  answer= split_ws(df["when"])
554
  evidence=df["evidence"][i]
 
555
  if srl!="":
556
  try:
557
  for j in range(0,len(answer)):
558
+ question_ids = model_load_qg(answer[j],claim)
 
 
 
 
 
559
  question_ids = rephrase_question_when(question_ids)
560
  list_of_ques_when.append(f"""Q{j+1}:{question_ids}""")
561
  list_of_ans_when.append(f"""Claim :\n {answer[j]}""")
562
+ answer_evidence = model_load_qa(question_ids,evidence)
 
 
563
  if answer_evidence.lower() in evidence.lower():
564
  list_of_evidence_answer_when.append(f"""Answer retrieved from evidence :\n {answer_evidence}""")
565
  else:
 
605
  claim=df['claim'][i]
606
  answer= split_ws(df["where"])
607
  evidence=df["evidence"][i]
 
608
  if srl!="":
609
  try:
610
  for j in range(0,len(answer)):
611
+ question_ids = model_load_qg(answer[j],claim)
 
 
 
 
 
612
  question_ids = rephrase_question_where(question_ids)
613
  list_of_ques_where.append(f"""Q{j+1}:{question_ids}""")
614
  list_of_ans_where.append(f"""Claim :\n {answer[j]}""")
615
+ answer_evidence = model_load_qa(question_ids,evidence)
 
 
616
  if answer_evidence.lower() in evidence.lower():
617
  list_of_evidence_answer_where.append(f"""Answer retrieved from evidence :\n {answer_evidence}""")
618
  else:
 
639
  #------------------------------------------------------
640
 
641
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
642
  if claim_text and evidence_text:
 
 
643
  st.caption(':green[Kindly hold on for a few minutes while the QA pairs are being generated]')
644
  df=claim(claim_text)
645
  df["evidence"]=evidence_text
 
704
  final_df['Why Claims'] = output5 + [''] * (max_rows - len(output5))
705
  st.write(f"""Claim : {claim_text}""")
706
  st.write(f"""Evidence : {evidence_text}""")
707
+ st.table(final_df)