seawolf2357 commited on
Commit
c6aea04
Β·
verified Β·
1 Parent(s): 8d9de6f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -6
app.py CHANGED
@@ -5,6 +5,7 @@ from typing import Dict, List, Optional, Tuple
5
  import base64
6
  import anthropic
7
  from functools import partial, lru_cache
 
8
 
9
  import gradio as gr
10
  import modelscope_studio.components.base as ms
@@ -12,6 +13,10 @@ import modelscope_studio.components.legacy as legacy
12
  import modelscope_studio.components.antd as antd
13
  from config import DEMO_LIST, SystemPrompt
14
 
 
 
 
 
15
 
16
  # 파일 μƒλ‹¨μ˜ import λ¬Έ μ•„λž˜μ— μΆ”κ°€
17
  def get_image_base64(image_path):
@@ -64,15 +69,27 @@ def send_to_sandbox(code):
64
  return f"<iframe src=\"{data_uri}\" width=\"100%\" height=\"920px\"></iframe>"
65
 
66
 
67
- # μΊμ‹œ κ΅¬ν˜„
68
- @lru_cache(maxsize=len(DEMO_LIST))
69
- def get_demo_description(index: int) -> str:
70
- return DEMO_LIST[index]['description']
 
 
 
 
 
 
 
 
 
 
 
 
 
71
 
72
  def demo_card_click(e: gr.EventData):
73
  index = e._data['component']['index']
74
- return get_demo_description(index)
75
-
76
 
77
  with gr.Blocks(css_paths="app.css") as demo:
78
  history = gr.State([])
 
5
  import base64
6
  import anthropic
7
  from functools import partial, lru_cache
8
+ import json
9
 
10
  import gradio as gr
11
  import modelscope_studio.components.base as ms
 
13
  import modelscope_studio.components.antd as antd
14
  from config import DEMO_LIST, SystemPrompt
15
 
16
+ # μΊμ‹œ μ €μž₯μ†Œ
17
+ DEMO_CACHE = {}
18
+
19
+
20
 
21
  # 파일 μƒλ‹¨μ˜ import λ¬Έ μ•„λž˜μ— μΆ”κ°€
22
  def get_image_base64(image_path):
 
69
  return f"<iframe src=\"{data_uri}\" width=\"100%\" height=\"920px\"></iframe>"
70
 
71
 
72
+ # μΊμ‹œλœ 데λͺ¨ μ„€λͺ…을 κ°€μ Έμ˜€λŠ” ν•¨μˆ˜
73
+ def get_cached_demo_description(index: int) -> str:
74
+ if index not in DEMO_CACHE:
75
+ DEMO_CACHE[index] = DEMO_LIST[index]['description']
76
+ # μΊμ‹œ νŒŒμΌμ— μ €μž₯
77
+ with open('demo_cache.json', 'w', encoding='utf-8') as f:
78
+ json.dump(DEMO_CACHE, f, ensure_ascii=False, indent=2)
79
+ return DEMO_CACHE[index]
80
+
81
+ # μ‹œμž‘ν•  λ•Œ μΊμ‹œ λ‘œλ“œ
82
+ try:
83
+ with open('demo_cache.json', 'r', encoding='utf-8') as f:
84
+ DEMO_CACHE = json.load(f)
85
+ except FileNotFoundError:
86
+ # 처음 μ‹€ν–‰μ‹œ μΊμ‹œ μ΄ˆκΈ°ν™”
87
+ for i in range(len(DEMO_LIST)):
88
+ get_cached_demo_description(i)
89
 
90
  def demo_card_click(e: gr.EventData):
91
  index = e._data['component']['index']
92
+ return get_cached_demo_description(index)
 
93
 
94
  with gr.Blocks(css_paths="app.css") as demo:
95
  history = gr.State([])