import streamlit as st st.set_page_config(page_title="Turkish Summarization - via AG", page_icon='📖') st.header("📖Turkish Summarization Task for Llama") with st.sidebar: hf_key = st.text_input("HuggingFace Access Key", key="hf_key", type="password") MODEL_QA = { "Llama3-1b": "anilguven/Llama3.2-1b-TrSummarization-unsloth", "Llama3-3b": "anilguven/Llama3.2-3b-TrSummarization-unsloth", "Llama3-8b": "anilguven/Llama3.1-8b-TrSummarization-unsloth", } MODEL_QAS = ["Llama3-1b","Llama3-3b","Llama3-8b"] # Use a pipeline as a high-level helper from transformers import pipeline # Create a mapping from formatted model names to their original identifiers def format_model_name(model_key): name_parts = model_key formatted_name = ''.join(name_parts) # Join them into a single string with title case return formatted_name formatted_names_to_identifiers = { format_model_name(key): key for key in MODEL_QA.keys() } # Debug to ensure names are formatted correctly #st.write("Formatted Model Names to Identifiers:", formatted_names_to_identifiers with st.expander("About this app"): st.write(f""" These models finetuned with Turkish wikipedia dataset (huggingface: musabg/wikipedia-tr-summarization)\n 1-Choose your Llama 3.x model for Turkish Summarization task\n 2-Enter your context.\n 3-And model predict your summary. """) model_name: str = st.selectbox("Model", options=MODEL_QAS) selected_model = MODEL_QA[model_name] if not hf_key: st.info("Please add your HuggingFace Access Key to continue.") st.stop() access_token = hf_key from unsloth import FastLanguageModel max_seq_length = 1024 # Choose any! We auto support RoPE Scaling internally! dtype = None # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+ load_in_4bit = True # Use 4bit quantization to reduce memory usage. Can be False. model, tokenizer = FastLanguageModel.from_pretrained( model_name = selected_model, # YOUR MODEL YOU USED FOR TRAINING max_seq_length = max_seq_length, dtype = dtype, load_in_4bit = load_in_4bit, token=access_token, ) FastLanguageModel.for_inference(model) #from transformers import AutoTokenizer, AutoModelForSequenceClassification #tokenizer = AutoTokenizer.from_pretrained(selected_model) #pipe = AutoModelForSequenceClassification.from_pretrained(pretrained_model_name_or_path=selected_model) # Display the selected model using the formatted name model_display_name = selected_model # Already formatted st.write(f"Model being used: `{model_display_name}`") sum_prompt = """Aşağıda, bir girdinin özet hali çıktıda verilmiştir. Girdiyi uygun şekilde özetleyin. ### Input (Girdi): {} ### Response (Yanıt): {}""" with st.form('my_form'): 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") submitted = st.form_submit_button('Submit') if submitted: if not hf_key: st.info("Please add your HuggingFace Access Key to continue.") st.stop() else: inputs = tokenizer( [ sum_prompt.format( context, "", # output - leave this blank for generation! ) ], return_tensors = "pt").to("cuda") outputs = model.generate(input_ids = inputs.input_ids, attention_mask = inputs.attention_mask, max_new_tokens = 256, use_cache = True) output = tokenizer.batch_decode(outputs) o = output[0].split("### Response (Yanıt):")[1] predict_output = o.split("<|end")[0] st.text("Your response: \n " + str(predict_output))