Update app.py
Browse files
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 |
-
|
| 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 |
-
|
| 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 |
-
|
| 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 |
-
|
| 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 |
-
|
| 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 |
-
|
| 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 |
-
|
| 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 |
-
|
| 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 |
-
|
| 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 |
-
|
| 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)
|
|
|
|
|
|
|
|
|