Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -18,7 +18,7 @@ knowledge_base_output = ""
|
|
18 |
faq_output = ""
|
19 |
business_info = None
|
20 |
product_info = None
|
21 |
-
last_user_request = ""
|
22 |
|
23 |
# پرامپت مادر (بدون تغییر)
|
24 |
mother_prompt = """
|
@@ -42,11 +42,20 @@ def validate_and_fix_output(output):
|
|
42 |
parts = output.split("---")
|
43 |
parts = [part.strip() for part in parts if part.strip()]
|
44 |
print("بخشهای جدا شده:", parts)
|
45 |
-
|
46 |
-
|
47 |
prompt_part = parts[0] if len(parts) > 0 else "پرامپت تولید نشد 😔"
|
48 |
kb_part = parts[1] if len(parts) > 1 else "پایگاه دانش تولید نشد 😕"
|
49 |
faq_part = parts[2] if len(parts) > 2 else "FAQ تولید نشد 🥳"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
return [prompt_part, kb_part, faq_part]
|
51 |
|
52 |
# تابع برای خوندن و پردازش فایلهای اکسل
|
@@ -61,7 +70,7 @@ def start_process(file1, file2, user_request):
|
|
61 |
global iteration_count, iteration_history, business_info, product_info, last_user_request
|
62 |
iteration_count = 1
|
63 |
iteration_history = "سلام عزیزم! فرایند شروع شد! 😍\n"
|
64 |
-
last_user_request = user_request
|
65 |
|
66 |
business_info, product_info = process_excel_files(file1, file2)
|
67 |
business_info_serializable = convert_to_serializable(business_info)
|
@@ -110,13 +119,13 @@ def start_process(file1, file2, user_request):
|
|
110 |
**پایان iteration {iteration_count}**
|
111 |
"""
|
112 |
iteration_history += dce_summary
|
113 |
-
last_user_request = ""
|
114 |
|
115 |
return (iteration_history, "", "", "", "", f"Iteration {iteration_count}",
|
116 |
gr.update(interactive=False), gr.update(interactive=True))
|
117 |
|
118 |
# تابع ادامه Iteration
|
119 |
-
def continue_iteration(_=None):
|
120 |
global iteration_count, iteration_history, prompt_output, knowledge_base_output, faq_output, last_user_request
|
121 |
iteration_count += 1
|
122 |
|
@@ -171,13 +180,13 @@ def continue_iteration(_=None): # ورودی رو اختیاری کردیم چ
|
|
171 |
**پایان iteration {iteration_count}**
|
172 |
"""
|
173 |
iteration_history += dce_summary
|
174 |
-
last_user_request = ""
|
175 |
|
176 |
return (iteration_history, prompt_output, knowledge_base_output, faq_output, "",
|
177 |
f"Iteration {iteration_count}", gr.update(interactive=False), gr.update(interactive=True))
|
178 |
|
179 |
# تابع پایان و تولید خروجی نهایی
|
180 |
-
def end_process(_=None):
|
181 |
global iteration_history, prompt_output, knowledge_base_output, faq_output, last_user_request
|
182 |
|
183 |
business_info_serializable = convert_to_serializable(business_info)
|
@@ -220,8 +229,13 @@ def end_process(_=None): # ورودی رو اختیاری کردیم
|
|
220 |
knowledge_base_output = parts[1]
|
221 |
faq_output = parts[2]
|
222 |
|
|
|
|
|
|
|
|
|
|
|
223 |
iteration_history += "\n**فرایند تموم شد و خروجی نهایی آمادهست! 🎉**\n"
|
224 |
-
last_user_request = ""
|
225 |
|
226 |
return (iteration_history, prompt_output, knowledge_base_output, faq_output, "",
|
227 |
"فرایند پایان یافت", gr.update(interactive=True), gr.update(interactive=True))
|
@@ -288,17 +302,4 @@ with gr.Blocks(title="سیستم نوا 🌟") as demo:
|
|
288 |
end_btn.click(
|
289 |
end_process,
|
290 |
inputs=[],
|
291 |
-
outputs=[iteration_box, prompt_box, kb_box, faq_box, user_request_box, status_box,
|
292 |
-
)
|
293 |
-
reset_btn.click(
|
294 |
-
reset_process,
|
295 |
-
inputs=[],
|
296 |
-
outputs=[iteration_box, prompt_box, kb_box, faq_box, user_request_box, status_box, start_btn, continue_btn]
|
297 |
-
)
|
298 |
-
submit_request_btn.click(
|
299 |
-
submit_request,
|
300 |
-
inputs=[user_request_box],
|
301 |
-
outputs=[user_request_box, status_box]
|
302 |
-
)
|
303 |
-
|
304 |
-
demo.launch()
|
|
|
18 |
faq_output = ""
|
19 |
business_info = None
|
20 |
product_info = None
|
21 |
+
last_user_request = ""
|
22 |
|
23 |
# پرامپت مادر (بدون تغییر)
|
24 |
mother_prompt = """
|
|
|
42 |
parts = output.split("---")
|
43 |
parts = [part.strip() for part in parts if part.strip()]
|
44 |
print("بخشهای جدا شده:", parts)
|
45 |
+
|
46 |
+
# مطمئن میشیم که همیشه سه بخش برگردونده بشه
|
47 |
prompt_part = parts[0] if len(parts) > 0 else "پرامپت تولید نشد 😔"
|
48 |
kb_part = parts[1] if len(parts) > 1 else "پایگاه دانش تولید نشد 😕"
|
49 |
faq_part = parts[2] if len(parts) > 2 else "FAQ تولید نشد 🥳"
|
50 |
+
|
51 |
+
# اگه بخشها ناقص باشن، یه پیام پیشفرض بذاریم
|
52 |
+
if not prompt_part.strip():
|
53 |
+
prompt_part = "پرامپت خالیه 😔"
|
54 |
+
if not kb_part.strip():
|
55 |
+
kb_part = "پایگاه دانش خالیه 😕"
|
56 |
+
if not faq_part.strip():
|
57 |
+
faq_part = "FAQ خالیه 🥳"
|
58 |
+
|
59 |
return [prompt_part, kb_part, faq_part]
|
60 |
|
61 |
# تابع برای خوندن و پردازش فایلهای اکسل
|
|
|
70 |
global iteration_count, iteration_history, business_info, product_info, last_user_request
|
71 |
iteration_count = 1
|
72 |
iteration_history = "سلام عزیزم! فرایند شروع شد! 😍\n"
|
73 |
+
last_user_request = user_request
|
74 |
|
75 |
business_info, product_info = process_excel_files(file1, file2)
|
76 |
business_info_serializable = convert_to_serializable(business_info)
|
|
|
119 |
**پایان iteration {iteration_count}**
|
120 |
"""
|
121 |
iteration_history += dce_summary
|
122 |
+
last_user_request = ""
|
123 |
|
124 |
return (iteration_history, "", "", "", "", f"Iteration {iteration_count}",
|
125 |
gr.update(interactive=False), gr.update(interactive=True))
|
126 |
|
127 |
# تابع ادامه Iteration
|
128 |
+
def continue_iteration(_=None):
|
129 |
global iteration_count, iteration_history, prompt_output, knowledge_base_output, faq_output, last_user_request
|
130 |
iteration_count += 1
|
131 |
|
|
|
180 |
**پایان iteration {iteration_count}**
|
181 |
"""
|
182 |
iteration_history += dce_summary
|
183 |
+
last_user_request = ""
|
184 |
|
185 |
return (iteration_history, prompt_output, knowledge_base_output, faq_output, "",
|
186 |
f"Iteration {iteration_count}", gr.update(interactive=False), gr.update(interactive=True))
|
187 |
|
188 |
# تابع پایان و تولید خروجی نهایی
|
189 |
+
def end_process(_=None):
|
190 |
global iteration_history, prompt_output, knowledge_base_output, faq_output, last_user_request
|
191 |
|
192 |
business_info_serializable = convert_to_serializable(business_info)
|
|
|
229 |
knowledge_base_output = parts[1]
|
230 |
faq_output = parts[2]
|
231 |
|
232 |
+
# لاگ اضافی برای چک کردن متغیرها
|
233 |
+
print("پرامپت نهایی:", prompt_output)
|
234 |
+
print("پایگاه دانش نهایی:", knowledge_base_output)
|
235 |
+
print("FAQ نهایی:", faq_output)
|
236 |
+
|
237 |
iteration_history += "\n**فرایند تموم شد و خروجی نهایی آمادهست! 🎉**\n"
|
238 |
+
last_user_request = ""
|
239 |
|
240 |
return (iteration_history, prompt_output, knowledge_base_output, faq_output, "",
|
241 |
"فرایند پایان یافت", gr.update(interactive=True), gr.update(interactive=True))
|
|
|
302 |
end_btn.click(
|
303 |
end_process,
|
304 |
inputs=[],
|
305 |
+
outputs=[iteration_box, prompt_box, kb_box, faq_box, user_request_box, status_box, start
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|