Talip7 commited on
Commit
bf4244e
·
verified ·
1 Parent(s): ac9fbc5

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -6
app.py CHANGED
@@ -8,14 +8,15 @@ from langdetect import detect
8
  client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
9
 
10
  SUMMARY_STYLES = ["Child-Friendly", "Academic", "Tweet"]
11
- LANGUAGES = ["English", "Turkish", "French", "German", "Spanish"]
12
 
13
  LANGUAGE_CODES = {
14
  "English": "en",
15
  "Turkish": "tr",
16
  "French": "fr",
17
  "German": "de",
18
- "Spanish": "es"
 
19
  }
20
 
21
  PROMPT_TEMPLATES = {
@@ -53,6 +54,13 @@ Luego proporciona 5 palabras clave relevantes.
53
 
54
  TEXTO:
55
  {text}
 
 
 
 
 
 
 
56
  """
57
  }
58
 
@@ -61,7 +69,8 @@ QUIZ_PROMPTS = {
61
  "Turkish": "Aşağıdaki metne dayanarak, 4 seçenekli (A, B, C, D) 2 adet çoktan seçmeli soru oluştur:\n\n{text}",
62
  "French": "Sur la base du texte ci-dessous, générez 2 questions à choix multiples (4 options A à D) :\n\n{text}",
63
  "German": "Erstelle basierend auf dem folgenden Text 2 Multiple-Choice-Fragen (mit jeweils 4 Optionen A–D):\n\n{text}",
64
- "Spanish": "Con base en el siguiente texto, genera 2 preguntas de opción múltiple (cada una con 4 opciones A–D):\n\n{text}"
 
65
  }
66
 
67
  def extract_text_from_pdf(file):
@@ -79,7 +88,9 @@ def extract_text_from_pdf(file):
79
  return None, f"PDF reading error: {str(e)}"
80
 
81
  def translate_text(text, target_lang):
82
- translation_prompt = f"Translate the following text into {target_lang}:\n\n{text}"
 
 
83
  try:
84
  response = client.chat.completions.create(
85
  model="gpt-3.5-turbo",
@@ -145,7 +156,7 @@ def process_input(text_input, pdf_file, summary_lang, style, char_limit, quiz_ch
145
  return summary
146
 
147
  with gr.Blocks() as demo:
148
- gr.Markdown("## 🌐 Summarizer with Auto Translation")
149
 
150
  with gr.Row():
151
  summary_lang = gr.Dropdown(choices=LANGUAGES, value="English", label="Summary Language")
@@ -158,7 +169,7 @@ with gr.Blocks() as demo:
158
  text_input = gr.Textbox(lines=8, placeholder="Paste your text here...", label="Text Input")
159
  pdf_file = gr.File(label="Or Upload PDF")
160
 
161
- output = gr.Markdown(label="Output")
162
 
163
  run_btn = gr.Button("Summarize")
164
 
 
8
  client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
9
 
10
  SUMMARY_STYLES = ["Child-Friendly", "Academic", "Tweet"]
11
+ LANGUAGES = ["English", "Turkish", "French", "German", "Spanish", "Arabic"]
12
 
13
  LANGUAGE_CODES = {
14
  "English": "en",
15
  "Turkish": "tr",
16
  "French": "fr",
17
  "German": "de",
18
+ "Spanish": "es",
19
+ "Arabic": "ar"
20
  }
21
 
22
  PROMPT_TEMPLATES = {
 
54
 
55
  TEXTO:
56
  {text}
57
+ """,
58
+ "Arabic": """
59
+ الرجاء تلخيص النص التالي بأسلوب {style}، على ألا يتجاوز {char_limit} حرفًا.
60
+ ثم قدم 5 كلمات مفتاحية مهمة.
61
+
62
+ النص:
63
+ {text}
64
  """
65
  }
66
 
 
69
  "Turkish": "Aşağıdaki metne dayanarak, 4 seçenekli (A, B, C, D) 2 adet çoktan seçmeli soru oluştur:\n\n{text}",
70
  "French": "Sur la base du texte ci-dessous, générez 2 questions à choix multiples (4 options A à D) :\n\n{text}",
71
  "German": "Erstelle basierend auf dem folgenden Text 2 Multiple-Choice-Fragen (mit jeweils 4 Optionen A–D):\n\n{text}",
72
+ "Spanish": "Con base en el siguiente texto, genera 2 preguntas de opción múltiple (cada una con 4 opciones A–D):\n\n{text}",
73
+ "Arabic": "قم بإنشاء سؤالين اختيار من متعدد استنادًا إلى النص أدناه، مع أربعة خيارات لكل سؤال (A، B، C، D):\n\n{text}"
74
  }
75
 
76
  def extract_text_from_pdf(file):
 
88
  return None, f"PDF reading error: {str(e)}"
89
 
90
  def translate_text(text, target_lang):
91
+ translation_prompt = f"Translate the following text into {target_lang}:
92
+
93
+ {text}"
94
  try:
95
  response = client.chat.completions.create(
96
  model="gpt-3.5-turbo",
 
156
  return summary
157
 
158
  with gr.Blocks() as demo:
159
+ gr.Markdown("## 🌍 Multilingual Summarizer + Quiz Generator")
160
 
161
  with gr.Row():
162
  summary_lang = gr.Dropdown(choices=LANGUAGES, value="English", label="Summary Language")
 
169
  text_input = gr.Textbox(lines=8, placeholder="Paste your text here...", label="Text Input")
170
  pdf_file = gr.File(label="Or Upload PDF")
171
 
172
+ output = gr.Textbox(label="Output", lines=18)
173
 
174
  run_btn = gr.Button("Summarize")
175