mohamedemam's picture
Update app.py
2b6ad90 verified
from transformers import BitsAndBytesConfig
import torch
import os
import torch
from datasets import load_dataset
from transformers import (
AutoModelForCausalLM,
AutoTokenizer,
BitsAndBytesConfig,
HfArgumentParser,
TrainingArguments,
pipeline,
logging,
Trainer
)
from peft import LoraConfig, PeftModel
config = PeftConfig.from_pretrained("mohamedemam/Arabic-meeting-summarization")
model = AutoModelForCausalLM.from_pretrained("bigscience/bloomz-3b")
model = PeftModel.from_pretrained(model, "mohamedemam/Arabic-meeting-summarization")
# Load the tokenizer and model
model_name ="bigscience/bloomz-3b"
tokenizer = AutoTokenizer.from_pretrained("bigscience/bloomz-3b")
model.eval()
example_contexts=[" "
,"""
ليلى: السلام عليكم أحمد، أنا مشتاقة للعثور على كتاب جديد يشغل وقتي وفكري.
أحمد: بالطبع، هل تميلين إلى أحد أنواع الأدب المعينة أو الجوانب التاريخية المحددة؟
ليلى: بالفعل، أتطلع لاستكشاف رواية تاريخية مثيرة تأخذني في رحلة عبر العصور.
أحمد: لدينا تشكيلة متنوعة ورائعة من الكتب التاريخية، وسأقترح عليك بعض الأعمال المذهلة.
ليلى: ذلك يبدو رائعًا، أتوق إلى معرفة هذه الاقتراحات والاستمتاع بتصفحها.
أحمد: هل تميلين إلى الاطلاع على الروايات الكلاسيكية أم تفضلين الأعمال الأدبية الحديثة؟
ليلى: أعتقد أني هذه المرة أفضل الأعمال الحديثة التي تجمع بين الماضي والحاضر.
أحمد: سأقوم بالبحث بعناية لتقديم لك عناوين مثيرة ومميزة تلبي توقعاتك.
ليلى: شكرًا جزيلاً، أنا ممتنة لك على هذا الاهتمام والمساعدة.
""" , """علي: انه عصفورة كبيرة ؟ كان يطير بجوار نافذتي.
يوسف: نعم، رأيته أيضًا علي! العصافير حيوانات جميلة حقًا. لديها ريش رائع وطيران خفيف.
علي: هذا صحيح، وأيضًا لون ريشها يجعلها تبدو بهية. وهي تصدر أيضًا أصواتًا جميلة عندما تغرد.
يوسف: نعم، صوتها لطيف حقًا. لا يمكنني إلا أن أعشق كيفية تحليقها بحرية في السماء وكيفية تغردها في الصباح الباكر.
علي: إنها تجعلني أشعر بالسعادة عندما أراها. هل تعلم أن العصافير ترمز في العديد من الثقافات إلى الحرية والسلام؟
يوسف: نعم، أنا ملم بذلك. إنها رمز للعديد من القيم الجميلة. وهي تذكرنا دائمًا بجمال الطبيعة وأهميتها في حياتنا.
علي: بالتأكيد، العصافير هي إحدى عجائب الطبيعة التي يجب علينا الحفاظ عليها واحترامها."""
,
"""فاطمة: مرحبًا، هل لديك خطط لرحلة هذا الصيف؟
أحمد: نعم، أنا أخطط للسفر إلى إسبانيا مع عائلتي.
فاطمة: إلى أي مدينة في إسبانيا ستذهبون؟
أحمد: سنزور مدريد وبرشلونة. هل لديك أي توصيات للأماكن التي يجب زيارتها؟
فاطمة: بالطبع! يجب عليكم زيارة متحف برادو في مدريد وكنيسة سان جويل في برشلونة.
أحمد: شكرًا على التوصيات. كيف يمكنني الحجز لزيارة هذه المعالم؟
فاطمة: يمكنك الحجز عبر الإنترنت أو عند وصولك إلى هناك.
أحمد: ممتاز، سأفعل ذلك. شكرًا لك!"""
,"""حسن: هل تحب الفنون وزيارة المتاحف؟
لمى: نعم، أنا أحب استكشاف الفن والثقافات المختلفة. إنها وسيلة رائعة لفهم تنوع العالم.
حسن: يعجبني أيضًا الفن والتاريخ. عندما تزورين المتاحف، هل تتفاعلين مع اللوحات والمعروضات بشكل خاص؟
لمى: بالطبع، أحب الاستماع إلى القصص والتفاصيل وراء كل عمل فني. إنها تضيف أبعادًا جديدة للتجربة.
حسن: هل قمت بزيارة متحف اللوفر في باريس؟
لمى: لا، لكنه في قائمة انتظاري منذ فترة طويلة. هل زرته؟
حسن: نعم، زرته عندما كنت في باريس العام الماضي. كانت تجربة رائعة بالفعل.
لمى: مذهل! ما هي الأعمال الفنية التي أعجبتك بها أكثر؟
حسن: أعجبتني "موناليزا" بالطبع، لكنني استمتعت أيضًا برؤية "حرية مؤقتة" و "العشاء الرائع".
لمى: تبدو رائعة! كيف كانت تجربة التجوال في المتحف؟
حسن: كان هناك الكثير لاستكشافه، ولكن كنت أفضل تخصيص وقت كافٍ لزيارة معروضات الفن الإغريقي والروماني.
لمى: صوتت لي لحظة رائعة. سأحاول تنظيم زيارتي هناك في المستقبل.
حسن: ستحبينه بالتأكيد، وباريس لديها الكثير من المعالم الثقافية والتاريخية الرائعة لاستكشافها."""
,"""فاطمة: مرحبًا، هل لديك خطط لرحلة هذا الصيف؟
أحمد: نعم، أنا أخطط للسفر إلى إسبانيا مع عائلتي لقضاء إجازة صيفية مميزة.
فاطمة: إلى أي مدينة في إسبانيا ستذهبون؟
أحمد: سنقضي أسبوعًا في مدريد وثم ننتقل إلى برشلونة للإقامة هناك لفترة مماثلة.
فاطمة: مدريد وبرشلونة مدن رائعة! هل لديك أفكار محددة حول ما ترغبون في رؤيته وقضائه هناك؟
أحمد: نعم، بالطبع. نحن نرغب في استكشاف التراث الثقافي والفني لكل منهما. هل لديك أي توصيات للأماكن التي يجب زيارتها؟
فاطمة: بالتأكيد! في مدريد، يجب عليكم زيارة متحف برادو الشهير، حيث تجدون أعمال فنية رائعة من الفنانين الكبار. وفي برشلونة، لا تفوتوا زيارة كنيسة سان جويل المعروفة بمعمارها الفريد وألوانها الزاهية.
أحمد: شكرًا جزيلاً على التوصيات. هل يمكننا الحجز مسبقًا لزيارة هذه المعالم؟
فاطمة: نعم، يمكنكم الحجز عبر الإنترنت لتجنب الانتظار في الطوابير. سأرسل لكم روابط للحجز.
أحمد: ممتاز، سنفعل ذلك بالتأكيد. شكرًا لك على المعلومات والتوصيات القيمة!
فاطمة: على الرحب والسعة، أتمنى لكم رحلة سعيدة واستمتاعًا كبيرًا في إسبانيا!"""
]
# Create a Wikipedia API instance
# Function to generate questions and answers with configurable parameters
def generate_qa(text,context, temperature, top_p,num_seq,l_p, num_b):
input_text = text+context+f"\n\nSummarize the previous text in three sentences in arabic:\n\n"
a = tokenizer(text=input_text, return_tensors='pt')
# Generate with configurable parameters
output = model.generate(input_ids=a['input_ids'],
temperature=temperature,
top_p=top_p,
num_return_sequences=num_seq,
max_new_tokens=60,
num_beams=num_b,
length_penalty=l_p,
do_sample=True,
)
#
generated_text = tokenizer.batch_decode(output, skip_special_tokens=True)
return formatted_output
iface = gr.Interface(
fn=generate_qa,
inputs=[ "text", gr.inputs.Dropdown(example_contexts, default="",label="Choose an Example"),
gr.inputs.Slider(minimum=0.0, maximum=5, default=1.1, step=0.01, label="Temperature"),
gr.inputs.Slider(minimum=0.0, maximum=1, default=0.5, step=0.01, label="Top-p"),
gr.inputs.Slider(minimum=1, maximum=20, default=1, step=1, label="num of sequance"),
gr.inputs.Slider(minimum=0.01, maximum=5, default=1, step=.01, label="length penalty")
,
gr.inputs.Slider(minimum=1, maximum=20, default=3, step=1, label="num of beams"),
],theme="red-black",
outputs=gr.outputs.Textbox(label="Generated Output"),
title="arabic summarizition of messages",
description="put you conversizition ",
)
# Launch the interface
iface.launch()