Update app.py
Browse files
app.py
CHANGED
@@ -55,11 +55,16 @@ from config import DEMO_LIST
|
|
55 |
import sqlite3
|
56 |
from datetime import datetime
|
57 |
|
58 |
-
|
59 |
def init_db():
|
60 |
try:
|
61 |
conn = sqlite3.connect('chat_history.db')
|
62 |
c = conn.cursor()
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
c.execute('''CREATE TABLE IF NOT EXISTS sessions
|
64 |
(session_id TEXT PRIMARY KEY,
|
65 |
created_at TIMESTAMP)''')
|
@@ -73,19 +78,35 @@ def init_db():
|
|
73 |
conn.commit()
|
74 |
except sqlite3.Error as e:
|
75 |
print(f"Database error: {e}")
|
|
|
76 |
finally:
|
77 |
if conn:
|
78 |
conn.close()
|
79 |
|
80 |
-
|
81 |
def create_session():
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
# λν λ΄μ© μ μ₯
|
91 |
def save_chat(session_id, prompt, response):
|
@@ -581,7 +602,11 @@ with gr.Blocks(css_paths="app.css",theme=theme) as demo:
|
|
581 |
|
582 |
|
583 |
if __name__ == "__main__":
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
|
|
|
|
|
|
|
|
|
55 |
import sqlite3
|
56 |
from datetime import datetime
|
57 |
|
|
|
58 |
def init_db():
|
59 |
try:
|
60 |
conn = sqlite3.connect('chat_history.db')
|
61 |
c = conn.cursor()
|
62 |
+
|
63 |
+
# κΈ°μ‘΄ ν
μ΄λΈ μμ (μ νμ )
|
64 |
+
c.execute("DROP TABLE IF EXISTS chat_history")
|
65 |
+
c.execute("DROP TABLE IF EXISTS sessions")
|
66 |
+
|
67 |
+
# ν
μ΄λΈ μλ‘ μμ±
|
68 |
c.execute('''CREATE TABLE IF NOT EXISTS sessions
|
69 |
(session_id TEXT PRIMARY KEY,
|
70 |
created_at TIMESTAMP)''')
|
|
|
78 |
conn.commit()
|
79 |
except sqlite3.Error as e:
|
80 |
print(f"Database error: {e}")
|
81 |
+
raise
|
82 |
finally:
|
83 |
if conn:
|
84 |
conn.close()
|
85 |
|
86 |
+
|
87 |
def create_session():
|
88 |
+
max_attempts = 5
|
89 |
+
for attempt in range(max_attempts):
|
90 |
+
try:
|
91 |
+
# λ°λ¦¬μ΄κΉμ§ ν¬ν¨ν λ μμΈν νμμ€ν¬ν μ¬μ©
|
92 |
+
session_id = datetime.now().strftime("%Y%m%d_%H%M%S_%f")
|
93 |
+
conn = sqlite3.connect('chat_history.db')
|
94 |
+
c = conn.cursor()
|
95 |
+
c.execute("INSERT INTO sessions VALUES (?, ?)", (session_id, datetime.now()))
|
96 |
+
conn.commit()
|
97 |
+
conn.close()
|
98 |
+
return session_id
|
99 |
+
except sqlite3.IntegrityError:
|
100 |
+
if attempt == max_attempts - 1:
|
101 |
+
raise
|
102 |
+
time.sleep(0.1) # μ μ λκΈ° ν μ¬μλ
|
103 |
+
finally:
|
104 |
+
if 'conn' in locals():
|
105 |
+
conn.close()
|
106 |
+
|
107 |
+
raise Exception("Failed to create unique session ID after multiple attempts")
|
108 |
+
|
109 |
+
|
110 |
|
111 |
# λν λ΄μ© μ μ₯
|
112 |
def save_chat(session_id, prompt, response):
|
|
|
602 |
|
603 |
|
604 |
if __name__ == "__main__":
|
605 |
+
try:
|
606 |
+
init_db()
|
607 |
+
clear_expired_sessions()
|
608 |
+
demo_instance = Demo()
|
609 |
+
demo.queue(default_concurrency_limit=20).launch(ssr_mode=False)
|
610 |
+
except Exception as e:
|
611 |
+
print(f"Initialization error: {e}")
|
612 |
+
raise
|