Download core/intent_parser.py from autonomous-media-system/ams-core-api: direct link, hf CLI and curl.
- Browser
- Download file 1.4 kB
-
https://huggingface.co/spaces/autonomous-media-system/ams-core-api/resolve/main/core/intent_parser.py
- Command line
-
hf download hf://spaces/autonomous-media-system/ams-core-api/core/intent_parser.py
-
curl -L -o intent_parser.py https://huggingface.co/spaces/autonomous-media-system/ams-core-api/resolve/main/core/intent_parser.py
1.4 kB
| import re | |
| class IntentParser: | |
| def parse(self, message: str): | |
| text = message.lower() | |
| intent = "unknown" | |
| count = 1 | |
| theme = text | |
| # ========================= | |
| # EXPLAIN | |
| # ========================= | |
| if "explique" in text or "expliquer" in text: | |
| intent = "explain" | |
| theme = text.replace("explique", "") | |
| theme = theme.replace("expliquer", "") | |
| theme = theme.strip() | |
| return { | |
| "intent": intent, | |
| "count": 1, | |
| "theme": theme | |
| } | |
| # ========================= | |
| # CREATE VIDEO | |
| # ========================= | |
| if "video" in text or "vidéo" in text: | |
| intent = "create_video" | |
| numbers = re.findall(r"\d+", text) | |
| if numbers: | |
| count = int(numbers[0]) | |
| elif "plusieurs" in text: | |
| count = 5 | |
| theme = re.sub( | |
| r"cree|crée|video|vidéo|\d+|sur|plusieurs", | |
| "", | |
| text | |
| ) | |
| theme = theme.strip() | |
| return { | |
| "intent": intent, | |
| "count": count, | |
| "theme": theme | |
| } | |
| return { | |
| "intent": intent, | |
| "count": count, | |
| "theme": theme | |
| } |