Spaces:
Paused
Paused
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
|