| from datetime import datetime |
|
|
| from open_webui.utils.misc import sanitize_text_for_db |
|
|
| KEYS_TO_EXCLUDE = ['content', 'pages', 'tables', 'paragraphs', 'sections', 'figures'] |
|
|
|
|
| def filter_metadata(metadata: dict[str, any]) -> dict[str, any]: |
| |
| metadata = {key: value for key, value in metadata.items() if key not in KEYS_TO_EXCLUDE} |
| return metadata |
|
|
|
|
| def process_metadata( |
| metadata: dict[str, any], |
| ) -> dict[str, any]: |
| |
| |
| result = {} |
| for key, value in metadata.items(): |
| |
| if key in KEYS_TO_EXCLUDE: |
| continue |
| |
| if isinstance(value, (datetime, list, dict)): |
| result[key] = sanitize_text_for_db(str(value)) |
| else: |
| result[key] = sanitize_text_for_db(value) |
| return result |
|
|