|
|
|
|
|
from transformers import AutoTokenizer, AutoModelForQuestionAnswering, pipeline |
|
import sentencepiece |
|
import torch |
|
import streamlit as st |
|
import pandas as pd |
|
import os |
|
|
|
text_1 = """Mustafa Kemal Atatürk, 1881 yılında Selanik'te Kocakasım Mahallesi, Islahhane Caddesi'ndeki üç katlı pembe evde doğdu. \ |
|
Babası Ali Rıza Efendi, annesi Zübeyde Hanım'dır. Baba tarafından dedesi Hafız Ahmet Efendi, 14-15. yüzyıllarda Konya ve Aydın'dan \ |
|
Makedonya'ya yerleştirilmiş Kocacık Yörüklerindendir. Annesi Zübeyde Hanım ise Selanik yakınlarındaki Langaza kasabasına yerleşmiş \ |
|
eski bir Türk ailesinin kızıdır. Ali Rıza Efendi, 1871 yılında Zübeyde Hanım'la evlendi. Atatürk'ün beş kardeşinden dördü küçük \ |
|
yaşlarda öldü, sadece Makbule (Atadan) Hanım 1956 yılına değin yaşadı.""" |
|
|
|
text_2 = """Dünya çapında 40 milyondan fazla insana bulaşan ve 1.1 milyondan fazla insanın ölümüne sebep olan \ |
|
corona virüsüne karşı Pfizer ile BioNTech'in geliştirdiği aşının ilk görüntüleri ortaya çıktı. Aşının fabrikadaki \ |
|
ilk görüntülerini değerlendiren Pfizer'ın Birleşik Krallık CEO'su, "Üretim bandında aşıyı görmek beni neşelendirdi" \ |
|
dedi. ABD merkezli çokuluslu ilaç şirketi Pfizer ile Türk bilim insanlarının kurduğu BioNTech’in geliştirdiği corona \ |
|
virüsü aşısında sona gelindi. Pfizer, paylaştığı video ile bütün dünyayı heyecanlandıran gelişmeyi duyurdu. Şirket, \ |
|
Belçika’daki Puurs’ta geliştirilen Covid-19 aşılarının seri üretim bandındaki üretim aşamasını uluslararası kamuoyu \ |
|
ile paylaştı. Almanya’nın Mainz kentinde Türk profesör Uğur Şahin ile eşi Özlem Türeci’nin kurduğu ve yönettiği \ |
|
biyoteknoloji şirketi BioNTech ile aşı sürecini sürdüren Pfizer’ın küçük şişelerde binlerce corona virüsü aşısı \ |
|
üretmeye başladığı belirtildi. Pfizer, aşının güvenli ve etkili olduğunun klinik olarak da kanıtlanması ve resmi \ |
|
mercilerden de onay alınması durumunda üretilen aşının dağıtılacağını duyurdu.""" |
|
|
|
question_list_1 = ["Mustafa Kemal hangi yıl doğdu?", |
|
"Mustafa Kemal'in dedesi kimdir?"] |
|
|
|
question_list_2 = ["Corona virüsü dünya çapında kaç kişiye bulaştı?", |
|
"BioNTech nerededir?" ] |
|
|
|
st.set_page_config(layout="wide") |
|
|
|
st.title("Turkish Q&A with Multilingual \ |
|
XLM-RoBERTa Models") |
|
|
|
model_list = ['alon-albalak/xlm-roberta-large-xquad', |
|
'deepset/xlm-roberta-large-squad2', |
|
] |
|
|
|
st.sidebar.header("Select Model") |
|
model_checkpoint = st.sidebar.radio("", model_list) |
|
|
|
st.sidebar.write("For details of models:") |
|
st.sidebar.write("https://huggingface.co/alon-albalak") |
|
st.sidebar.write("https://huggingface.co/deepset") |
|
|
|
st.sidebar.write("For XQUAD Dataset:") |
|
st.sidebar.write("https://huggingface.co/datasets/xquad") |
|
|
|
st.subheader("Select Context and Question") |
|
context_1 = st.text_area("Context #1", text_1, height=128) |
|
context_2 = st.text_area("Context #2", text_2, height=128) |
|
context_3 = st.text_area("New Context", value="", height=128) |
|
|
|
context = st.radio("Select Context", ("Context #1", "Context #2", "New Context")) |
|
|
|
if context == "Context #1": |
|
selected_context = context_1 |
|
selected_question = st.radio("Select Question", question_list_1) |
|
elif context == "Context #2": |
|
selected_context = context_2 |
|
selected_question = st.radio("Select Question", question_list_2) |
|
elif context == "New Context": |
|
selected_context = context_3 |
|
selected_question = st.text_area("New Question", value="", height=64) |
|
|
|
@st.cache_resource |
|
def setModel(model_checkpoint): |
|
model = AutoModelForQuestionAnswering.from_pretrained(model_checkpoint) |
|
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint) |
|
return pipeline("question-answering", model=model, tokenizer=tokenizer) |
|
|
|
Run_Button = st.button("Run", key=None) |
|
if Run_Button == True: |
|
|
|
qna_pipeline = setModel(model_checkpoint) |
|
output = qna_pipeline(question=selected_question, context=selected_context) |
|
|
|
st.header("Answer") |
|
st.write(output) |
|
|