Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -19,12 +19,14 @@ app = Flask(__name__)
|
|
19 |
file_folder = os.path.dirname(os.path.abspath(__file__))
|
20 |
temp_audio_folder = os.path.join(file_folder, 'temp_audio')
|
21 |
chats_folder = os.path.join(file_folder, 'chats')
|
|
|
22 |
model_folder = None
|
23 |
piper_binary_path = os.path.join(file_folder, 'piper')
|
24 |
|
25 |
# Create necessary directories
|
26 |
os.makedirs(temp_audio_folder, exist_ok=True)
|
27 |
os.makedirs(chats_folder, exist_ok=True)
|
|
|
28 |
|
29 |
# Check default user folder
|
30 |
default_user_folder = "./"
|
@@ -57,7 +59,8 @@ def get_ollama_models(base_host=DEFAULT_BASE_HOST):
|
|
57 |
|
58 |
def load_chat_history(session_id):
|
59 |
try:
|
60 |
-
|
|
|
61 |
return json.load(f).get('messages', [])
|
62 |
except:
|
63 |
return []
|
@@ -66,8 +69,8 @@ def save_chat(session_id, messages):
|
|
66 |
if not messages:
|
67 |
return None
|
68 |
|
69 |
-
|
70 |
-
with open(
|
71 |
json.dump({
|
72 |
'timestamp': datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
|
73 |
'messages': messages
|
@@ -127,10 +130,11 @@ def set_default_models():
|
|
127 |
|
128 |
@app.route('/')
|
129 |
def index():
|
130 |
-
tts_models = get_available_models()
|
131 |
session_id = str(uuid.uuid4())
|
|
|
|
|
132 |
default_tts_model, default_ollama_model = set_default_models()
|
133 |
-
return render_template('index.html', tts_models=tts_models,
|
134 |
|
135 |
@app.route('/api/list_ollama_models')
|
136 |
def list_ollama_models():
|
|
|
19 |
file_folder = os.path.dirname(os.path.abspath(__file__))
|
20 |
temp_audio_folder = os.path.join(file_folder, 'temp_audio')
|
21 |
chats_folder = os.path.join(file_folder, 'chats')
|
22 |
+
sessions_folder = os.path.join(file_folder, 'sessions')
|
23 |
model_folder = None
|
24 |
piper_binary_path = os.path.join(file_folder, 'piper')
|
25 |
|
26 |
# Create necessary directories
|
27 |
os.makedirs(temp_audio_folder, exist_ok=True)
|
28 |
os.makedirs(chats_folder, exist_ok=True)
|
29 |
+
os.makedirs(sessions_folder, exist_ok=True)
|
30 |
|
31 |
# Check default user folder
|
32 |
default_user_folder = "./"
|
|
|
59 |
|
60 |
def load_chat_history(session_id):
|
61 |
try:
|
62 |
+
session_file = os.path.join(sessions_folder, f'{session_id}.json')
|
63 |
+
with open(session_file, 'r', encoding='utf-8') as f:
|
64 |
return json.load(f).get('messages', [])
|
65 |
except:
|
66 |
return []
|
|
|
69 |
if not messages:
|
70 |
return None
|
71 |
|
72 |
+
session_file = os.path.join(sessions_folder, f'{session_id}.json')
|
73 |
+
with open(session_file, 'w', encoding='utf-8') as f:
|
74 |
json.dump({
|
75 |
'timestamp': datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
|
76 |
'messages': messages
|
|
|
130 |
|
131 |
@app.route('/')
|
132 |
def index():
|
|
|
133 |
session_id = str(uuid.uuid4())
|
134 |
+
tts_models = get_available_models()
|
135 |
+
chat_files = sorted([f for f in os.listdir(chats_folder) if f.endswith('.json')], reverse=True)
|
136 |
default_tts_model, default_ollama_model = set_default_models()
|
137 |
+
return render_template('index.html', tts_models=tts_models, chat_files=chat_files, default_tts_model=default_tts_model, default_ollama_model=default_ollama_model, session_id=session_id)
|
138 |
|
139 |
@app.route('/api/list_ollama_models')
|
140 |
def list_ollama_models():
|