James Edmunds Claude Opus 4.6 commited on
Commit ·
5ccf3cf
1
Parent(s): 49f188e
Fix startup: show errors visibly, skip premature env tests
Browse filesThe test_environment check was failing because it tried to verify
ChromaDB files before the generator had a chance to download them
from the HF dataset. Now errors are displayed with st.stop() so
the page doesn't silently show nothing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
app.py
CHANGED
|
@@ -4,7 +4,6 @@ import streamlit as st
|
|
| 4 |
from src.generator.generator import LyricGenerator
|
| 5 |
from config.settings import Settings
|
| 6 |
from pathlib import Path
|
| 7 |
-
from scripts.test_environment import test_environment
|
| 8 |
from datetime import datetime
|
| 9 |
|
| 10 |
# Set Hugging Face cache directory to persistent storage
|
|
@@ -76,28 +75,24 @@ def main():
|
|
| 76 |
# Only run startup once per session
|
| 77 |
if 'initialized' not in st.session_state:
|
| 78 |
print("===== Application Startup at", datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "=====\n")
|
| 79 |
-
|
| 80 |
-
# Run environment tests if in HuggingFace
|
| 81 |
-
if Settings.is_huggingface():
|
| 82 |
-
print("\n=== Running Environment Tests ===")
|
| 83 |
-
tests_passed = test_environment()
|
| 84 |
-
if not tests_passed:
|
| 85 |
-
st.error("⚠️ Environment tests failed. Check the logs for details.")
|
| 86 |
-
return
|
| 87 |
-
print("✓ Environment tests passed")
|
| 88 |
-
|
| 89 |
# Initialize generator
|
| 90 |
try:
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
|
|
|
|
|
|
|
|
|
| 97 |
except Exception as e:
|
| 98 |
st.error(f"Error initializing generator: {str(e)}")
|
| 99 |
print(f"Error: {str(e)}")
|
| 100 |
-
|
|
|
|
|
|
|
| 101 |
|
| 102 |
# Check OpenAI API key at startup
|
| 103 |
if Settings.is_huggingface():
|
|
|
|
| 4 |
from src.generator.generator import LyricGenerator
|
| 5 |
from config.settings import Settings
|
| 6 |
from pathlib import Path
|
|
|
|
| 7 |
from datetime import datetime
|
| 8 |
|
| 9 |
# Set Hugging Face cache directory to persistent storage
|
|
|
|
| 75 |
# Only run startup once per session
|
| 76 |
if 'initialized' not in st.session_state:
|
| 77 |
print("===== Application Startup at", datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "=====\n")
|
| 78 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
# Initialize generator
|
| 80 |
try:
|
| 81 |
+
with st.status("Initializing generator...", expanded=True) as status:
|
| 82 |
+
st.write("Setting up LyricGenerator...")
|
| 83 |
+
print("\n=== Initializing Generator ===")
|
| 84 |
+
generator = LyricGenerator()
|
| 85 |
+
st.session_state.generator = generator
|
| 86 |
+
st.session_state.chat_history = []
|
| 87 |
+
st.session_state.current_lyrics = None
|
| 88 |
+
st.session_state.initialized = True
|
| 89 |
+
status.update(label="Generator ready!", state="complete")
|
| 90 |
except Exception as e:
|
| 91 |
st.error(f"Error initializing generator: {str(e)}")
|
| 92 |
print(f"Error: {str(e)}")
|
| 93 |
+
import traceback
|
| 94 |
+
traceback.print_exc()
|
| 95 |
+
st.stop()
|
| 96 |
|
| 97 |
# Check OpenAI API key at startup
|
| 98 |
if Settings.is_huggingface():
|