Spaces:
Running
Running
| # utils.py | |
| # A helper file for common utility functions | |
| def load_prompt(file_path: str) -> str: | |
| """ | |
| Loads a prompt from a specified text file. | |
| """ | |
| try: | |
| with open(file_path, "r", encoding="utf-8") as f: | |
| return f.read() | |
| except FileNotFoundError: | |
| print(f"FATAL ERROR: Prompt file not found at {file_path}") | |
| return f"ERROR: Prompt file not found: {file_path}" | |
| except Exception as e: | |
| print(f"FATAL ERROR: Failed to read prompt file {file_path}: {e}") | |
| return f"ERROR: Failed to read prompt file: {e}" | |
| def extract_json_str(text: str) -> str: | |
| """ | |
| Extracts the content inside a ```json ... ``` block. | |
| If no block is found, returns the original text. | |
| Used to clean 'Chatty' LLM responses before processing. | |
| """ | |
| clean_text = text.strip() | |
| if "```json" in clean_text: | |
| # Split by ```json, take the second part, then split by ``` and take the first part | |
| return clean_text.split("```json")[1].split("```")[0].strip() | |
| elif "```" in clean_text: | |
| return clean_text.split("```")[1].split("```")[0].strip() | |
| return clean_text |