Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -163,24 +163,48 @@ def load_llm_model(model_id, hf_token):
|
|
163 |
|
164 |
# --- Load all assets on startup ---
|
165 |
print("Loading assets...")
|
166 |
-
# Removed nlp = load_spacy_model()
|
167 |
embedder = load_sentence_transformer()
|
|
|
|
|
168 |
data, descriptions, _ = load_google_sheet_data(SHEET_ID, GOOGLE_SERVICE_ACCOUNT_KEY_BASE64)
|
|
|
|
|
169 |
|
170 |
if embedder and descriptions:
|
171 |
print("Encoding Google Sheet descriptions...")
|
172 |
try:
|
173 |
embeddings = embedder.encode(descriptions, convert_to_tensor=True)
|
174 |
print("Encoding complete.")
|
|
|
175 |
except Exception as e:
|
176 |
print(f"Error during embedding: {e}")
|
177 |
-
embeddings = torch.tensor([])
|
178 |
else:
|
179 |
print("Skipping embedding due to missing embedder or descriptions.")
|
180 |
-
embeddings = torch.tensor([])
|
|
|
181 |
|
182 |
model, tokenizer = load_llm_model(model_id, HF_TOKEN)
|
|
|
|
|
183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
# Check if essential components loaded (Removed nlp from this check)
|
185 |
if not model or not tokenizer or not embedder:
|
186 |
print("\nERROR: Essential components failed to load. The application may not function correctly.")
|
|
|
163 |
|
164 |
# --- Load all assets on startup ---
|
165 |
print("Loading assets...")
|
166 |
+
# Removed nlp = load_spacy_model() # Keep this line commented out if you removed spaCy
|
167 |
embedder = load_sentence_transformer()
|
168 |
+
print(f"Embedder loaded: {embedder is not None}") # Add this print
|
169 |
+
|
170 |
data, descriptions, _ = load_google_sheet_data(SHEET_ID, GOOGLE_SERVICE_ACCOUNT_KEY_BASE64)
|
171 |
+
print(f"Google Sheet data loaded: {len(data)} rows") # Add this print
|
172 |
+
print(f"Google Sheet descriptions loaded: {len(descriptions)} items") # Add this print
|
173 |
|
174 |
if embedder and descriptions:
|
175 |
print("Encoding Google Sheet descriptions...")
|
176 |
try:
|
177 |
embeddings = embedder.encode(descriptions, convert_to_tensor=True)
|
178 |
print("Encoding complete.")
|
179 |
+
print(f"Embeddings shape: {embeddings.shape}") # Add this print
|
180 |
except Exception as e:
|
181 |
print(f"Error during embedding: {e}")
|
182 |
+
embeddings = torch.tensor([]) # Ensure embeddings is an empty tensor on error
|
183 |
else:
|
184 |
print("Skipping embedding due to missing embedder or descriptions.")
|
185 |
+
embeddings = torch.tensor([]) # Ensure embeddings is an empty tensor when skipped
|
186 |
+
print(f"Embeddings tensor after skip: {embeddings.shape}") # Should print torch.Size([])
|
187 |
|
188 |
model, tokenizer = load_llm_model(model_id, HF_TOKEN)
|
189 |
+
print(f"LLM Model loaded: {model is not None}") # Add this print
|
190 |
+
print(f"LLM Tokenizer loaded: {tokenizer is not None}") # Add this print
|
191 |
|
192 |
+
# Check if essential components loaded
|
193 |
+
# This block provides a summary if anything failed during loading
|
194 |
+
if not model or not tokenizer or not embedder or embeddings is None or embeddings.numel() == 0 or not data:
|
195 |
+
print("\nERROR: Essential components failed to load. The application may not function correctly.")
|
196 |
+
if not model: print("- LLM Model failed to load.")
|
197 |
+
if not tokenizer: print("- LLM Tokenizer failed to load.")
|
198 |
+
if not embedder: print("- Sentence Embedder failed to load.")
|
199 |
+
# Check if embeddings is not None before accessing numel()
|
200 |
+
if embeddings is None or embeddings.numel() == 0: print("- Embeddings are empty or None.")
|
201 |
+
if not data: print("- Google Sheet Data is empty.")
|
202 |
+
# Descriptions being empty is implicitly covered by data being empty in this context
|
203 |
+
# if not descriptions: print("- Google Sheet Descriptions are empty.")
|
204 |
+
# Removed spaCy error message
|
205 |
+
# Continue, but the main inference function will need checks (already handled by the check at start of respond)
|
206 |
+
else:
|
207 |
+
print("\nAll essential components loaded successfully.") # Add this print
|
208 |
# Check if essential components loaded (Removed nlp from this check)
|
209 |
if not model or not tokenizer or not embedder:
|
210 |
print("\nERROR: Essential components failed to load. The application may not function correctly.")
|