Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -324,6 +324,18 @@ def clear_expired_sessions():
|
|
| 324 |
conn.commit()
|
| 325 |
finally:
|
| 326 |
conn.close()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 327 |
|
| 328 |
with gr.Blocks(css_paths="app.css",theme=theme) as demo:
|
| 329 |
history = gr.State([])
|
|
@@ -331,12 +343,23 @@ with gr.Blocks(css_paths="app.css",theme=theme) as demo:
|
|
| 331 |
"system": SystemPrompt,
|
| 332 |
})
|
| 333 |
|
| 334 |
-
|
| 335 |
-
|
| 336 |
with ms.Application() as app:
|
| 337 |
with antd.ConfigProvider():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 338 |
# ๋ฉ์ธ ์ปจํ
์ธ ๋ฅผ ์ํ Row
|
| 339 |
-
with antd.Row(gutter=[32, 12]) as layout:
|
| 340 |
# ์ข์ธก ํจ๋
|
| 341 |
with antd.Col(span=24, md=8):
|
| 342 |
with antd.Flex(vertical=True, gap="middle", wrap=True):
|
|
@@ -463,27 +486,22 @@ with gr.Blocks(css_paths="app.css",theme=theme) as demo:
|
|
| 463 |
outputs=[input]
|
| 464 |
)
|
| 465 |
|
| 466 |
-
# Drawer ์ปดํฌ๋ํธ๋ค
|
| 467 |
-
with antd.Drawer(open=False, title="code", placement="left", width="750px") as code_drawer:
|
| 468 |
-
code_output = legacy.Markdown()
|
| 469 |
-
|
| 470 |
-
with antd.Drawer(open=False, title="history", placement="left", width="900px") as history_drawer:
|
| 471 |
-
history_output = legacy.Chatbot(show_label=False, flushing=False, height=960, elem_classes="history_chatbot")
|
| 472 |
-
|
| 473 |
# ์ฐ์ธก ํจ๋
|
| 474 |
with antd.Col(span=24, md=16):
|
| 475 |
with ms.Div(elem_classes="right_panel"):
|
| 476 |
with antd.Flex(gap="small", elem_classes="setting-buttons"):
|
| 477 |
codeBtn = antd.Button("๐งโ๐ป view code", type="default")
|
| 478 |
historyBtn = antd.Button("๐ history", type="default")
|
| 479 |
-
sessionBtn = antd.Button("๐ sessions", type="default")
|
| 480 |
|
| 481 |
-
# ์ธ์
๋ฒํผ ์ด๋ฒคํธ ํธ๋ค๋ฌ
|
| 482 |
sessionBtn.click(
|
| 483 |
lambda: (gr.update(open=True), update_session_list()),
|
| 484 |
inputs=[],
|
| 485 |
outputs=[session_drawer, session_list]
|
| 486 |
)
|
|
|
|
|
|
|
| 487 |
|
| 488 |
gr.HTML('<div class="render_header"><span class="header_btn"></span><span class="header_btn"></span><span class="header_btn"></span></div>')
|
| 489 |
with antd.Tabs(active_key="empty", render_tab_bar="() => null") as state_tab:
|
|
@@ -513,58 +531,49 @@ with gr.Blocks(css_paths="app.css",theme=theme) as demo:
|
|
| 513 |
print(f"Error executing code: {str(e)}")
|
| 514 |
return None, gr.update(active_key="empty")
|
| 515 |
|
| 516 |
-
# ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ค
|
| 517 |
-
execute_btn.click(
|
| 518 |
-
fn=execute_code,
|
| 519 |
-
inputs=[input],
|
| 520 |
-
outputs=[sandbox, state_tab]
|
| 521 |
-
)
|
| 522 |
|
| 523 |
-
codeBtn.click(lambda: gr.update(open=True),
|
| 524 |
-
inputs=[], outputs=[code_drawer])
|
| 525 |
-
code_drawer.close(lambda: gr.update(
|
| 526 |
-
open=False), inputs=[], outputs=[code_drawer])
|
| 527 |
|
| 528 |
-
|
| 529 |
-
|
| 530 |
-
|
|
|
|
|
|
|
|
|
|
| 531 |
|
| 532 |
-
|
| 533 |
-
|
| 534 |
-
|
| 535 |
-
|
| 536 |
-
outputs=[code_output, history, sandbox, state_tab, code_drawer]
|
| 537 |
-
)
|
| 538 |
|
| 539 |
-
|
| 540 |
-
|
| 541 |
-
|
| 542 |
-
outputs=[history]
|
| 543 |
-
)
|
| 544 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 545 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 546 |
|
| 547 |
|
| 548 |
-
with antd.Drawer(open=False, title="Session History", placement="left", width="900px") as session_drawer:
|
| 549 |
-
session_list = gr.Dropdown(label="Select Session", choices=[])
|
| 550 |
-
session_history = legacy.Chatbot(show_label=False, height=960)
|
| 551 |
-
|
| 552 |
-
def update_session_list():
|
| 553 |
-
conn = sqlite3.connect('chat_history.db')
|
| 554 |
-
c = conn.cursor()
|
| 555 |
-
c.execute("SELECT session_id FROM sessions ORDER BY created_at DESC")
|
| 556 |
-
sessions = [row[0] for row in c.fetchall()]
|
| 557 |
-
conn.close()
|
| 558 |
-
return gr.update(choices=sessions)
|
| 559 |
-
|
| 560 |
-
def load_session_history(session_id):
|
| 561 |
-
history = get_session_history(session_id)
|
| 562 |
-
return [[p, r] for p, r, _ in history]
|
| 563 |
-
|
| 564 |
-
session_list.change(load_session_history,
|
| 565 |
-
inputs=[session_list],
|
| 566 |
-
outputs=[session_history])
|
| 567 |
-
|
| 568 |
if __name__ == "__main__":
|
| 569 |
init_db()
|
| 570 |
clear_expired_sessions() # ๋ง๋ฃ๋ ์ธ์
์ ๋ฆฌ
|
|
|
|
| 324 |
conn.commit()
|
| 325 |
finally:
|
| 326 |
conn.close()
|
| 327 |
+
|
| 328 |
+
def update_session_list():
|
| 329 |
+
conn = sqlite3.connect('chat_history.db')
|
| 330 |
+
c = conn.cursor()
|
| 331 |
+
c.execute("SELECT session_id FROM sessions ORDER BY created_at DESC")
|
| 332 |
+
sessions = [row[0] for row in c.fetchall()]
|
| 333 |
+
conn.close()
|
| 334 |
+
return gr.update(choices=sessions)
|
| 335 |
+
|
| 336 |
+
def load_session_history(session_id):
|
| 337 |
+
history = get_session_history(session_id)
|
| 338 |
+
return [[p, r] for p, r, _ in history]
|
| 339 |
|
| 340 |
with gr.Blocks(css_paths="app.css",theme=theme) as demo:
|
| 341 |
history = gr.State([])
|
|
|
|
| 343 |
"system": SystemPrompt,
|
| 344 |
})
|
| 345 |
|
|
|
|
|
|
|
| 346 |
with ms.Application() as app:
|
| 347 |
with antd.ConfigProvider():
|
| 348 |
+
# Drawer ์ปดํฌ๋ํธ๋ค
|
| 349 |
+
with antd.Drawer(open=False, title="code", placement="left", width="750px") as code_drawer:
|
| 350 |
+
code_output = legacy.Markdown()
|
| 351 |
+
|
| 352 |
+
with antd.Drawer(open=False, title="history", placement="left", width="900px") as history_drawer:
|
| 353 |
+
history_output = legacy.Chatbot(show_label=False, flushing=False, height=960, elem_classes="history_chatbot")
|
| 354 |
+
|
| 355 |
+
with antd.Drawer(open=False, title="Session History", placement="left", width="900px") as session_drawer:
|
| 356 |
+
session_list = gr.Dropdown(label="Select Session", choices=[])
|
| 357 |
+
session_history = legacy.Chatbot(show_label=False, height=960)
|
| 358 |
+
|
| 359 |
+
|
| 360 |
+
|
| 361 |
# ๋ฉ์ธ ์ปจํ
์ธ ๋ฅผ ์ํ Row
|
| 362 |
+
with antd.Row(gutter=[32, 12]) as layout:
|
| 363 |
# ์ข์ธก ํจ๋
|
| 364 |
with antd.Col(span=24, md=8):
|
| 365 |
with antd.Flex(vertical=True, gap="middle", wrap=True):
|
|
|
|
| 486 |
outputs=[input]
|
| 487 |
)
|
| 488 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 489 |
# ์ฐ์ธก ํจ๋
|
| 490 |
with antd.Col(span=24, md=16):
|
| 491 |
with ms.Div(elem_classes="right_panel"):
|
| 492 |
with antd.Flex(gap="small", elem_classes="setting-buttons"):
|
| 493 |
codeBtn = antd.Button("๐งโ๐ป view code", type="default")
|
| 494 |
historyBtn = antd.Button("๐ history", type="default")
|
| 495 |
+
sessionBtn = antd.Button("๐ sessions", type="default")
|
| 496 |
|
| 497 |
+
# ์ธ์
๋ฒํผ ์ด๋ฒคํธ ํธ๋ค๋ฌ
|
| 498 |
sessionBtn.click(
|
| 499 |
lambda: (gr.update(open=True), update_session_list()),
|
| 500 |
inputs=[],
|
| 501 |
outputs=[session_drawer, session_list]
|
| 502 |
)
|
| 503 |
+
|
| 504 |
+
|
| 505 |
|
| 506 |
gr.HTML('<div class="render_header"><span class="header_btn"></span><span class="header_btn"></span><span class="header_btn"></span></div>')
|
| 507 |
with antd.Tabs(active_key="empty", render_tab_bar="() => null") as state_tab:
|
|
|
|
| 531 |
print(f"Error executing code: {str(e)}")
|
| 532 |
return None, gr.update(active_key="empty")
|
| 533 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 534 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 535 |
|
| 536 |
+
# ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ค
|
| 537 |
+
execute_btn.click(
|
| 538 |
+
fn=execute_code,
|
| 539 |
+
inputs=[input],
|
| 540 |
+
outputs=[sandbox, state_tab]
|
| 541 |
+
)
|
| 542 |
|
| 543 |
+
codeBtn.click(lambda: gr.update(open=True),
|
| 544 |
+
inputs=[], outputs=[code_drawer])
|
| 545 |
+
code_drawer.close(lambda: gr.update(
|
| 546 |
+
open=False), inputs=[], outputs=[code_drawer])
|
|
|
|
|
|
|
| 547 |
|
| 548 |
+
historyBtn.click(history_render, inputs=[history], outputs=[history_drawer, history_output])
|
| 549 |
+
history_drawer.close(lambda: gr.update(
|
| 550 |
+
open=False), inputs=[], outputs=[history_drawer])
|
|
|
|
|
|
|
| 551 |
|
| 552 |
+
sessionBtn.click(
|
| 553 |
+
lambda: (gr.update(open=True), update_session_list()),
|
| 554 |
+
inputs=[],
|
| 555 |
+
outputs=[session_drawer, session_list]
|
| 556 |
+
)
|
| 557 |
|
| 558 |
+
session_list.change(
|
| 559 |
+
load_session_history,
|
| 560 |
+
inputs=[session_list],
|
| 561 |
+
outputs=[session_history]
|
| 562 |
+
)
|
| 563 |
+
|
| 564 |
+
btn.click(
|
| 565 |
+
demo_instance.generation_code,
|
| 566 |
+
inputs=[input, setting, history],
|
| 567 |
+
outputs=[code_output, history, sandbox, state_tab, code_drawer]
|
| 568 |
+
)
|
| 569 |
+
|
| 570 |
+
clear_btn.click(
|
| 571 |
+
demo_instance.clear_history,
|
| 572 |
+
inputs=[],
|
| 573 |
+
outputs=[history]
|
| 574 |
+
)
|
| 575 |
|
| 576 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 577 |
if __name__ == "__main__":
|
| 578 |
init_db()
|
| 579 |
clear_expired_sessions() # ๋ง๋ฃ๋ ์ธ์
์ ๋ฆฌ
|