Spaces:
Sleeping
Sleeping
| from typing import List, Dict | |
| import json | |
| import re | |
| def parse_llm_response(content: str) -> List[Dict]: | |
| try: | |
| content = re.sub(r'```json\s*|\s*```', '', content) | |
| content = content.strip() | |
| if not content.startswith('['): | |
| content = f'[{content}]' | |
| if content.endswith(',]'): | |
| content = content[:-1] + ']' | |
| qa_pairs = json.loads(content) | |
| if not isinstance(qa_pairs, list): | |
| raise json.JSONDecodeError("Not a list", content, 0) | |
| return qa_pairs | |
| except json.JSONDecodeError as e: | |
| print(f"Error parsing JSON: {e}") | |
| return [{ | |
| "question": "What is the main topic discussed in this text?", | |
| "answer": content[:150] + "...", | |
| "difficulty": 3, | |
| "type": "factual", | |
| "tags": ["auto-generated"], | |
| "metadata": {"error": "JSON parsing failed"} | |
| }] |