Spaces:
Running
Running
| import re | |
| def extract_user_provided_tags_upto_3_words(prompt_in: str) -> list[str]: | |
| """ | |
| Heuristic: | |
| - split on '.' and ',' | |
| - strip leading/trailing whitespace | |
| - split on whitespace | |
| - keep items with <= 3 tokens | |
| """ | |
| if not prompt_in: | |
| return [] | |
| parts = re.split(r"[.,]+", prompt_in) | |
| out: list[str] = [] | |
| seen = set() | |
| for raw in parts: | |
| item = raw.strip() | |
| if not item: | |
| continue | |
| tokens = item.split() | |
| if len(tokens) <= 3: | |
| key = item.lower() | |
| if key not in seen: | |
| seen.add(key) | |
| out.append(item) | |
| return out | |
| if __name__ == "__main__": | |
| print("preproc.py imports ok") | |