Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -42,7 +42,25 @@ def generate_mindmap_step(notes, current_mindmap=None):
|
|
| 42 |
|
| 43 |
try:
|
| 44 |
response = model.generate_content(prompt)
|
| 45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
return mindmap_step, "MORE_CONTENT_PENDING" in str(mindmap_step)
|
| 47 |
except Exception as e:
|
| 48 |
st.error(f"An error occurred while generating the mindmap: {str(e)}")
|
|
@@ -101,7 +119,8 @@ if st.button("Generate Mindmap"):
|
|
| 101 |
full_mindmap = merge_mindmaps(full_mindmap, step_mindmap)
|
| 102 |
time.sleep(20) # Respect API rate limit
|
| 103 |
else:
|
| 104 |
-
|
|
|
|
| 105 |
|
| 106 |
if full_mindmap:
|
| 107 |
st.session_state.mindmap_data = json.dumps(full_mindmap)
|
|
|
|
| 42 |
|
| 43 |
try:
|
| 44 |
response = model.generate_content(prompt)
|
| 45 |
+
response_text = response.text.strip()
|
| 46 |
+
|
| 47 |
+
# Debug: Print raw response
|
| 48 |
+
st.text("Raw API Response:")
|
| 49 |
+
st.text(response_text)
|
| 50 |
+
|
| 51 |
+
# Attempt to parse JSON, handling potential leading/trailing characters
|
| 52 |
+
try:
|
| 53 |
+
mindmap_step = json.loads(response_text)
|
| 54 |
+
except json.JSONDecodeError:
|
| 55 |
+
# Try to find and extract JSON content
|
| 56 |
+
start = response_text.find('{')
|
| 57 |
+
end = response_text.rfind('}') + 1
|
| 58 |
+
if start != -1 and end != -1:
|
| 59 |
+
json_content = response_text[start:end]
|
| 60 |
+
mindmap_step = json.loads(json_content)
|
| 61 |
+
else:
|
| 62 |
+
raise ValueError("Unable to extract valid JSON from the response")
|
| 63 |
+
|
| 64 |
return mindmap_step, "MORE_CONTENT_PENDING" in str(mindmap_step)
|
| 65 |
except Exception as e:
|
| 66 |
st.error(f"An error occurred while generating the mindmap: {str(e)}")
|
|
|
|
| 119 |
full_mindmap = merge_mindmaps(full_mindmap, step_mindmap)
|
| 120 |
time.sleep(20) # Respect API rate limit
|
| 121 |
else:
|
| 122 |
+
st.warning(f"Iteration {iteration} failed to generate a valid mindmap step. Continuing to next iteration.")
|
| 123 |
+
continue
|
| 124 |
|
| 125 |
if full_mindmap:
|
| 126 |
st.session_state.mindmap_data = json.dumps(full_mindmap)
|