Paulwalker4884 commited on
Commit
7950ff9
·
1 Parent(s): a4cf7fd

Initial commit

Browse files
Files changed (1) hide show
  1. app.py +23 -21
app.py CHANGED
@@ -273,12 +273,8 @@ def create_app():
273
  title="🏥 دستیار هوشمند پزشکی"
274
  ) as app:
275
 
276
- # ایجاد session منحصر به فرد برای هر کاربر جدید
277
- # هر بار که interface لود میشه، session جدید تولید میکنه
278
- def create_new_session():
279
- return create_session()
280
-
281
- session_state = gr.State()
282
 
283
  # هدر اصلی
284
  gr.HTML("""
@@ -353,6 +349,7 @@ def create_app():
353
  with gr.Row():
354
  show_history_btn = gr.Button("📋 نمایش تاریخچه", variant="secondary")
355
  clear_history_btn = gr.Button("🗑️ پاک کردن تاریخچه", variant="stop")
 
356
 
357
  history_display = gr.Markdown(
358
  value="برای نمایش تاریخچه، روی دکمه مربوطه کلیک کنید.",
@@ -360,49 +357,54 @@ def create_app():
360
  )
361
 
362
  session_info = gr.Textbox(
363
- value="Session ID: جدید",
364
  label="شناسه جلسه",
365
  interactive=False
366
  )
367
 
368
- # تابع برای بروزرسانی نمایش Session ID
369
- def update_session_display(session_id):
370
- return f"Session ID: {session_id}"
371
-
372
- # تابع initialization که session جدید تولید میکنه
373
- def initialize_session():
374
- new_session = generate_session()
375
- return new_session, f"Session ID: {new_session}"
376
 
377
  # اتصال eventها
378
  analyze_btn.click(
379
- fn=lambda d1, d2, session_id: analyze_drug_interaction(d1, d2, session_id),
380
  inputs=[drug1_input, drug2_input, session_state],
381
  outputs=drug_result
382
  )
383
 
384
  analyze_lab_btn.click(
385
- fn=lambda img, session_id: analyze_lab_image(img, session_id),
386
  inputs=[image_input, session_state],
387
  outputs=lab_result
388
  )
389
 
390
  show_history_btn.click(
391
- fn=lambda session_id: get_user_history(session_id),
392
  inputs=session_state,
393
  outputs=history_display
394
  )
395
 
396
  clear_history_btn.click(
397
- fn=lambda session_id: clear_user_history(session_id),
398
  inputs=session_state,
399
  outputs=history_display
400
  )
401
 
402
- app.load(
403
- fn=initialize_session,
404
  outputs=[session_state, session_info]
405
  )
 
 
 
 
 
 
 
 
 
 
406
 
407
  return app
408
 
 
273
  title="🏥 دستیار هوشمند پزشکی"
274
  ) as app:
275
 
276
+ # session state برای ذخیره session id
277
+ session_state = gr.State(create_session())
 
 
 
 
278
 
279
  # هدر اصلی
280
  gr.HTML("""
 
349
  with gr.Row():
350
  show_history_btn = gr.Button("📋 نمایش تاریخچه", variant="secondary")
351
  clear_history_btn = gr.Button("🗑️ پاک کردن تاریخچه", variant="stop")
352
+ new_session_btn = gr.Button("🔄 جلسه جدید", variant="primary")
353
 
354
  history_display = gr.Markdown(
355
  value="برای نمایش تاریخچه، روی دکمه مربوطه کلیک کنید.",
 
357
  )
358
 
359
  session_info = gr.Textbox(
360
+ value="",
361
  label="شناسه جلسه",
362
  interactive=False
363
  )
364
 
365
+ def create_new_session():
366
+ new_session_id = create_session()
367
+ return new_session_id, f"Session ID: {new_session_id[:8].upper()}"
 
 
 
 
 
368
 
369
  # اتصال eventها
370
  analyze_btn.click(
371
+ fn=analyze_drug_interaction,
372
  inputs=[drug1_input, drug2_input, session_state],
373
  outputs=drug_result
374
  )
375
 
376
  analyze_lab_btn.click(
377
+ fn=analyze_lab_image,
378
  inputs=[image_input, session_state],
379
  outputs=lab_result
380
  )
381
 
382
  show_history_btn.click(
383
+ fn=get_user_history,
384
  inputs=session_state,
385
  outputs=history_display
386
  )
387
 
388
  clear_history_btn.click(
389
+ fn=clear_user_history,
390
  inputs=session_state,
391
  outputs=history_display
392
  )
393
 
394
+ new_session_btn.click(
395
+ fn=create_new_session,
396
  outputs=[session_state, session_info]
397
  )
398
+
399
+ # نمایش session id اولیه
400
+ def show_initial_session(session_id):
401
+ return f"Session ID: {session_id[:8].upper()}"
402
+
403
+ app.load(
404
+ fn=show_initial_session,
405
+ inputs=[session_state],
406
+ outputs=[session_info]
407
+ )
408
 
409
  return app
410