Spaces:
Sleeping
Sleeping
| import spaces | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| import gradio as grad | |
| model_id = "oddadmix/arabic-summarization" | |
| model = AutoModelForCausalLM.from_pretrained( | |
| model_id, | |
| device_map="auto", | |
| torch_dtype="bfloat16", | |
| # attn_implementation="flash_attention_2" | |
| ) | |
| tokenizer = AutoTokenizer.from_pretrained(model_id) | |
| def summarize(text): | |
| prompt = "Summarize the following text: \n\n " + text | |
| input_ids = tokenizer.apply_chat_template( | |
| [{"role": "user", "content": prompt}], | |
| add_generation_prompt=True, | |
| return_tensors="pt", | |
| tokenize=True, | |
| ).to(model.device) | |
| output = model.generate( | |
| input_ids, | |
| do_sample=True, | |
| temperature=0.3, | |
| min_p=0.15, | |
| repetition_penalty=1.05, | |
| max_new_tokens=512, | |
| ) | |
| response = tokenizer.decode(output[0], skip_special_tokens=False) | |
| return response.split("<|im_start|>assistant")[1] | |
| input_textbox = grad.Textbox(lines=5, placeholder="إكتب النص الذي تريد تلخيصه", label="Input Text") | |
| output_textbox = grad.Textbox(lines=5, label="النص الملخص") | |
| grad.Interface(summarize, inputs=[input_textbox], outputs=output_textbox, title="تلخيص النصوص", | |
| description="تلخيص النصوص.").launch() |