NoteStack-Test / backend /app /llm /postprocess.py
Arslan1997's picture
added elevenlabs grant
00a4363
Raw History Blame Contribute Delete
727 Bytes
"""Last pass on every generated string. Non-negotiable: no em dashes in generated copy."""
import re
_SPACED_DASH = re.compile(r"\s*[—―]\s*")
_EN_DASH_SPACED = re.compile(r"\s+–\s+")
def strip_em_dashes(text: str) -> str:
text = _SPACED_DASH.sub(", ", text)
text = _EN_DASH_SPACED.sub(", ", text)
return text.replace(",,", ",").replace(" ,", ",")
def clean_output(value):
"""Recursively clean strings inside dicts/lists/pydantic dumps."""
if isinstance(value, str):
return strip_em_dashes(value)
if isinstance(value, list):
return [clean_output(v) for v in value]
if isinstance(value, dict):
return {k: clean_output(v) for k, v in value.items()}
return value