FECUOY commited on
Commit
ca07a7b
·
verified ·
1 Parent(s): 63ee8d6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -16
app.py CHANGED
@@ -5,13 +5,9 @@ from utils import process_uploaded_file, export_to_docx
5
  from agents_config import create_agents
6
 
7
  def run_novel_studio(uploaded_file, manual_text, user_token):
8
- """
9
- الدالة الرئيسية التي تدير تدفق العمل من الرفع إلى التصدير.
10
- """
11
  if not user_token or not user_token.startswith("hf_"):
12
  return "⚠️ يرجى إدخال Hugging Face Token صحيح (يبدأ بـ hf_).", None
13
 
14
- # 1. معالجة المدخلات (الملف المرفوع + النص اليدوي)
15
  file_content = ""
16
  if uploaded_file is not None:
17
  try:
@@ -19,18 +15,14 @@ def run_novel_studio(uploaded_file, manual_text, user_token):
19
  except Exception as e:
20
  return f"❌ خطأ في قراءة ملف docx: {str(e)}", None
21
 
22
- # دمج المحتوى مع الحفاظ على الأسطر
23
  combined_context = f"{file_content}\n\n{manual_text}".strip()
24
 
25
  if len(combined_context) < 10:
26
  return "⚠️ المحتوى المقدم غير كافٍ. يرجى رفع ملف أو كتابة مسودة.", None
27
 
28
  try:
29
- # 2. إنشاء فريق الوكلاء الـ 9
30
  agents_dict = create_agents(user_token)
31
 
32
- # 3. إعداد غرفة النقاش (Group Chat)
33
- # الوكلاء المساعدون (بدون المدير ورئيس التحرير)
34
  assistant_agents = [
35
  agents_dict["analyst"], agents_dict["style_guardian"],
36
  agents_dict["architect"], agents_dict["draft_writer"],
@@ -50,7 +42,6 @@ def run_novel_studio(uploaded_file, manual_text, user_token):
50
  llm_config=agents_dict["editor"].llm_config
51
  )
52
 
53
- # 4. إطلاق المهمة بقيادة Ling-1T
54
  init_message = f"""بصفتي رئيس التحرير، أضع بين أيديكم هذه المسودة.
55
  المطلوب: تحليلها، إكمال أحداث الفصل التالي، وتنسيقها أدبياً بشكل احترافي.
56
 
@@ -62,11 +53,7 @@ def run_novel_studio(uploaded_file, manual_text, user_token):
62
  message=init_message
63
  )
64
 
65
- # 5. استخراج النص النهائي من Ling-1T وتوليد ملف DOCX
66
- # نبحث عن آخر رسالة تحتوي على النص المدمج
67
  final_story_text = chat_result.chat_history[-1]['content']
68
-
69
- # توليد الملف باستخدام دالة utils المحدثة
70
  output_file_path = export_to_docx(final_story_text)
71
 
72
  return final_story_text, output_file_path
@@ -74,7 +61,6 @@ def run_novel_studio(uploaded_file, manual_text, user_token):
74
  except Exception as e:
75
  return f"❌ فشل النظام في المعالجة: {str(e)}", None
76
 
77
- # تصميم واجهة المستخدم (تنسيق احترافي وهادئ)
78
  with gr.Blocks(theme=gr.themes.Soft(), title="Ling-1T Novel Studio") as demo:
79
  gr.HTML("""
80
  <div style="text-align: center;">
@@ -110,11 +96,12 @@ with gr.Blocks(theme=gr.themes.Soft(), title="Ling-1T Novel Studio") as demo:
110
  )
111
  download_btn = gr.File(label="تحميل ملف الوورد المنسق")
112
 
113
- # ربط الأحداث
114
  submit_btn.click(
115
  fn=run_novel_studio,
116
  inputs=[file_upload, text_area, token_input],
117
- outputs=[output_markdown, download_btn]
 
118
  )
119
 
120
  gr.Markdown("""
 
5
  from agents_config import create_agents
6
 
7
  def run_novel_studio(uploaded_file, manual_text, user_token):
 
 
 
8
  if not user_token or not user_token.startswith("hf_"):
9
  return "⚠️ يرجى إدخال Hugging Face Token صحيح (يبدأ بـ hf_).", None
10
 
 
11
  file_content = ""
12
  if uploaded_file is not None:
13
  try:
 
15
  except Exception as e:
16
  return f"❌ خطأ في قراءة ملف docx: {str(e)}", None
17
 
 
18
  combined_context = f"{file_content}\n\n{manual_text}".strip()
19
 
20
  if len(combined_context) < 10:
21
  return "⚠️ المحتوى المقدم غير كافٍ. يرجى رفع ملف أو كتابة مسودة.", None
22
 
23
  try:
 
24
  agents_dict = create_agents(user_token)
25
 
 
 
26
  assistant_agents = [
27
  agents_dict["analyst"], agents_dict["style_guardian"],
28
  agents_dict["architect"], agents_dict["draft_writer"],
 
42
  llm_config=agents_dict["editor"].llm_config
43
  )
44
 
 
45
  init_message = f"""بصفتي رئيس التحرير، أضع بين أيديكم هذه المسودة.
46
  المطلوب: تحليلها، إكمال أحداث الفصل التالي، وتنسيقها أدبياً بشكل احترافي.
47
 
 
53
  message=init_message
54
  )
55
 
 
 
56
  final_story_text = chat_result.chat_history[-1]['content']
 
 
57
  output_file_path = export_to_docx(final_story_text)
58
 
59
  return final_story_text, output_file_path
 
61
  except Exception as e:
62
  return f"❌ فشل النظام في المعالجة: {str(e)}", None
63
 
 
64
  with gr.Blocks(theme=gr.themes.Soft(), title="Ling-1T Novel Studio") as demo:
65
  gr.HTML("""
66
  <div style="text-align: center;">
 
96
  )
97
  download_btn = gr.File(label="تحميل ملف الوورد المنسق")
98
 
99
+ # التعديل هنا: إضافة api_name=False لإصلاح خطأ Gradio 5.13
100
  submit_btn.click(
101
  fn=run_novel_studio,
102
  inputs=[file_upload, text_area, token_input],
103
+ outputs=[output_markdown, download_btn],
104
+ api_name=False
105
  )
106
 
107
  gr.Markdown("""