Upload 4 files
Browse files- app.py +10 -0
- pages/1_Llama_Turkish_Summarization.py +74 -0
- pages/2_Qwen_Turkish_Summarization.py +71 -0
- requirements.txt +5 -0
app.py
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
|
3 |
+
st.set_page_config(page_title="Turkish Summarization - via AG", page_icon='📖')
|
4 |
+
st.header("📖Turkish Summarization Task")
|
5 |
+
|
6 |
+
st.write(f"""
|
7 |
+
Do you want to summarization analysis for Turkish language? \n
|
8 |
+
This space analyzes your context and return your response according to article \n
|
9 |
+
I wait to try your data.
|
10 |
+
""")
|
pages/1_Llama_Turkish_Summarization.py
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
|
3 |
+
st.set_page_config(page_title="Turkish Summarization - via AG", page_icon='📖')
|
4 |
+
st.header("📖Turkish Summarization Task for Llama")
|
5 |
+
|
6 |
+
with st.sidebar:
|
7 |
+
hf_key = st.text_input("HuggingFace Access Key", key="hf_key", type="password")
|
8 |
+
|
9 |
+
MODEL_QA = {
|
10 |
+
"Llama3-1b": "anilguven/Llama3.2-1b-TrSummarization-unsloth",
|
11 |
+
"Llama3-3b": "anilguven/Llama3.2-3b-TrSummarization-unsloth",
|
12 |
+
"Llama3-8b": "anilguven/Llama3.1-8b-TrSummarization-unsloth",
|
13 |
+
}
|
14 |
+
|
15 |
+
MODEL_QAS = ["Llama3-1b","Llama3-3b","Llama3-8b"]
|
16 |
+
|
17 |
+
# Use a pipeline as a high-level helper
|
18 |
+
from transformers import pipeline
|
19 |
+
# Create a mapping from formatted model names to their original identifiers
|
20 |
+
def format_model_name(model_key):
|
21 |
+
name_parts = model_key
|
22 |
+
formatted_name = ''.join(name_parts) # Join them into a single string with title case
|
23 |
+
return formatted_name
|
24 |
+
|
25 |
+
formatted_names_to_identifiers = {
|
26 |
+
format_model_name(key): key for key in MODEL_QA.keys()
|
27 |
+
}
|
28 |
+
|
29 |
+
# Debug to ensure names are formatted correctly
|
30 |
+
#st.write("Formatted Model Names to Identifiers:", formatted_names_to_identifiers
|
31 |
+
|
32 |
+
with st.expander("About this app"):
|
33 |
+
st.write(f"""
|
34 |
+
These models finetuned with Turkish wikipedia dataset (huggingface: musabg/wikipedia-tr-summarization)\n
|
35 |
+
1-Choose your Llama 3.x model for Turkish Summarization task\n
|
36 |
+
2-Enter your context.\n
|
37 |
+
3-And model predict your summary.
|
38 |
+
""")
|
39 |
+
|
40 |
+
model_name: str = st.selectbox("Model", options=MODEL_QAS)
|
41 |
+
selected_model = MODEL_QA[model_name]
|
42 |
+
|
43 |
+
if not hf_key:
|
44 |
+
st.info("Please add your HuggingFace Access Key to continue.")
|
45 |
+
st.stop()
|
46 |
+
|
47 |
+
access_token = hf_key
|
48 |
+
|
49 |
+
pipe = pipeline("text-generation", model=selected_model, token=access_token)
|
50 |
+
|
51 |
+
#from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
52 |
+
#tokenizer = AutoTokenizer.from_pretrained(selected_model)
|
53 |
+
#pipe = AutoModelForSequenceClassification.from_pretrained(pretrained_model_name_or_path=selected_model)
|
54 |
+
|
55 |
+
# Display the selected model using the formatted name
|
56 |
+
model_display_name = selected_model # Already formatted
|
57 |
+
st.write(f"Model being used: `{model_display_name}`")
|
58 |
+
|
59 |
+
with st.form('my_form'):
|
60 |
+
context = st.text_area('Enter text:', "IBOR Interbank Offered Rate (Bankalararası Teklif edilen Faiz oranı) başharfleridır. Belirtilmiş bir zamanda, ilk kategoriden bir Bankanın ayni kategoriden başka bir bankaya, hiçbir karşılık garanti verilmeden (İngilizcesı : unsecured lending), ödünç verilmesı için kullanılan faiz oranıdır. Ödünç karşılığında hiçbir varlık ya da güvenlik verilmediği için riskli bir işlemdır.Bankalararası Karşılıksız Ödünç Bankalararası Karşılıksız Ödünç Para Merkezlerinin en pahalı, en riskli ama aynı şekilde en çok kontrol altında olan işlemidir. Bundan dolayı, nadir, ve toplam miktarda ağır olmayan bir işlemdır. Bunun üzerinde, kısa süreler için kullanılır. İki yıllık Bilanço arasında, yani 31 Aralığı geçtıkten sonra, pek kullanılmaz.Bunlara rağmen, türev finansal ürünler merkezinin büyük bir bölümü bu küçük merkeze bağlıdır.IBOR EndeksleriLondra : LIBORAvro Alanı : EURIBOR 1999'den beri, EURIBOR eski PIBOR (Paris – Fransız Franğı FRF), FIBOR (Frankfurt – Deutschmark DEM), AIBOR (Amsterdam – NLG), RIBOR (Roma – İtalyan Lirası ITL) endekselerınden oluşmaktadır.Diğer IBOR Endeksleri BIBOR : Bangkok - THB BRIBOR : Bratislava SKK CIBOR : Kopenhag - DKK – Danimarka Milli Bankası EIBOR : Farklı dövizler - Birleşik Arap Emirlikleri HIBOR : Hong Kong - HKD JIBOR : Cakarta - IDR Bank Indonesia KIBOR : Karaçi - PKR MIBOR : Madrid PRIBOR : Prag - CZK - Çek Ulusal Bankası MIBOR : Mumbai - INR NIBOR : Norveç - NOK – Norveç Bankası SIBOR - Singapur – SGD içeren farklı dövizler STIBOR : Stockholm - SEK – İsveç Bankası TIBOR : Tokyo - JPY – Yurt içi bir endeks WIBOR : Varşova - PLN ZIBOR : Zagreb - HRKNot : Bu liste kapsamlı değildir.NotlarDış bağlantılar www.euribor.org")
|
61 |
+
submitted = st.form_submit_button('Submit')
|
62 |
+
|
63 |
+
if submitted:
|
64 |
+
if not hf_key:
|
65 |
+
st.info("Please add your HuggingFace Access Key to continue.")
|
66 |
+
st.stop()
|
67 |
+
|
68 |
+
else:
|
69 |
+
result = pipe(context=context)
|
70 |
+
st.text("Your response: \n " + str(result))
|
71 |
+
|
72 |
+
|
73 |
+
|
74 |
+
|
pages/2_Qwen_Turkish_Summarization.py
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
|
3 |
+
st.set_page_config(page_title="Turkish Summarization - via AG", page_icon='📖')
|
4 |
+
st.header("📖Turkish Summarization Task for Llama")
|
5 |
+
|
6 |
+
with st.sidebar:
|
7 |
+
hf_key = st.text_input("HuggingFace Access Key", key="hf_key", type="password")
|
8 |
+
|
9 |
+
MODEL_QA = {
|
10 |
+
"Qwen2.5-0.5": "anilguven/Qwen2.5-0.5B-TrSummarization-unsloth",
|
11 |
+
"Qwen2.5-1.5": "anilguven/Qwen2.5-1.5B-TrSummarization-unsloth",
|
12 |
+
}
|
13 |
+
|
14 |
+
MODEL_QAS = ["Qwen2.5-0.5","Qwen2.5-1.5"]
|
15 |
+
|
16 |
+
# Use a pipeline as a high-level helper
|
17 |
+
from transformers import pipeline
|
18 |
+
# Create a mapping from formatted model names to their original identifiers
|
19 |
+
def format_model_name(model_key):
|
20 |
+
name_parts = model_key
|
21 |
+
formatted_name = ''.join(name_parts) # Join them into a single string with title case
|
22 |
+
return formatted_name
|
23 |
+
|
24 |
+
formatted_names_to_identifiers = {
|
25 |
+
format_model_name(key): key for key in MODEL_QA.keys()
|
26 |
+
}
|
27 |
+
|
28 |
+
# Debug to ensure names are formatted correctly
|
29 |
+
#st.write("Formatted Model Names to Identifiers:", formatted_names_to_identifiers
|
30 |
+
|
31 |
+
with st.expander("About this app"):
|
32 |
+
st.write(f"""
|
33 |
+
These models finetuned with Turkish wikipedia dataset (huggingface: musabg/wikipedia-tr-summarization)\n
|
34 |
+
1-Choose your Llama 3.x model for Turkish Summarization task\n
|
35 |
+
2-Enter your context.\n
|
36 |
+
3-And model predict your summary.
|
37 |
+
""")
|
38 |
+
|
39 |
+
model_name: str = st.selectbox("Model", options=MODEL_QAS)
|
40 |
+
selected_model = MODEL_QA[model_name]
|
41 |
+
|
42 |
+
if not hf_key:
|
43 |
+
st.info("Please add your HuggingFace Access Key to continue.")
|
44 |
+
st.stop()
|
45 |
+
|
46 |
+
access_token = hf_key
|
47 |
+
pipe = pipeline("text-generation", model=selected_model, token=access_token)
|
48 |
+
|
49 |
+
#from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
50 |
+
#tokenizer = AutoTokenizer.from_pretrained(selected_model)
|
51 |
+
#pipe = AutoModelForSequenceClassification.from_pretrained(pretrained_model_name_or_path=selected_model)
|
52 |
+
|
53 |
+
# Display the selected model using the formatted name
|
54 |
+
model_display_name = selected_model # Already formatted
|
55 |
+
st.write(f"Model being used: `{model_display_name}`")
|
56 |
+
|
57 |
+
with st.form('my_form'):
|
58 |
+
context = st.text_area('Enter text:', "IBOR Interbank Offered Rate (Bankalararası Teklif edilen Faiz oranı) başharfleridır. Belirtilmiş bir zamanda, ilk kategoriden bir Bankanın ayni kategoriden başka bir bankaya, hiçbir karşılık garanti verilmeden (İngilizcesı : unsecured lending), ödünç verilmesı için kullanılan faiz oranıdır. Ödünç karşılığında hiçbir varlık ya da güvenlik verilmediği için riskli bir işlemdır.Bankalararası Karşılıksız Ödünç Bankalararası Karşılıksız Ödünç Para Merkezlerinin en pahalı, en riskli ama aynı şekilde en çok kontrol altında olan işlemidir. Bundan dolayı, nadir, ve toplam miktarda ağır olmayan bir işlemdır. Bunun üzerinde, kısa süreler için kullanılır. İki yıllık Bilanço arasında, yani 31 Aralığı geçtıkten sonra, pek kullanılmaz.Bunlara rağmen, türev finansal ürünler merkezinin büyük bir bölümü bu küçük merkeze bağlıdır.IBOR EndeksleriLondra : LIBORAvro Alanı : EURIBOR 1999'den beri, EURIBOR eski PIBOR (Paris – Fransız Franğı FRF), FIBOR (Frankfurt – Deutschmark DEM), AIBOR (Amsterdam – NLG), RIBOR (Roma – İtalyan Lirası ITL) endekselerınden oluşmaktadır.Diğer IBOR Endeksleri BIBOR : Bangkok - THB BRIBOR : Bratislava SKK CIBOR : Kopenhag - DKK – Danimarka Milli Bankası EIBOR : Farklı dövizler - Birleşik Arap Emirlikleri HIBOR : Hong Kong - HKD JIBOR : Cakarta - IDR Bank Indonesia KIBOR : Karaçi - PKR MIBOR : Madrid PRIBOR : Prag - CZK - Çek Ulusal Bankası MIBOR : Mumbai - INR NIBOR : Norveç - NOK – Norveç Bankası SIBOR - Singapur – SGD içeren farklı dövizler STIBOR : Stockholm - SEK – İsveç Bankası TIBOR : Tokyo - JPY – Yurt içi bir endeks WIBOR : Varşova - PLN ZIBOR : Zagreb - HRKNot : Bu liste kapsamlı değildir.NotlarDış bağlantılar www.euribor.org")
|
59 |
+
submitted = st.form_submit_button('Submit')
|
60 |
+
|
61 |
+
if submitted:
|
62 |
+
if not hf_key:
|
63 |
+
st.info("Please add your HuggingFace Access Key to continue.")
|
64 |
+
st.stop()
|
65 |
+
|
66 |
+
else:
|
67 |
+
result = pipe(context=context)
|
68 |
+
st.text("Your response: \n " + str(result))
|
69 |
+
|
70 |
+
|
71 |
+
|
requirements.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
streamlit
|
2 |
+
transformers
|
3 |
+
torch
|
4 |
+
sentencepiece
|
5 |
+
unsloth
|