import re def parse_prompt(prompt: str): prompt = prompt.lower() countries = ["india", "usa", "uk", "uae", "south africa"] fields = [] # Find country country = next((c for c in countries if c in prompt), None) if not country: raise ValueError("Country not supported or not specified") # Find count match = re.search(r'(\d+)', prompt) count = int(match.group(1)) if match else 10 # Match fields if "name" in prompt: fields.append("name") if "email" in prompt: fields.append("email") if "phone" in prompt or "mobile" in prompt: fields.append("phone") if "address" in prompt: fields.append("address") if any(x in prompt for x in ["pan", "aadhaar", "ssn", "passport", "id"]): fields.append("id") return { "country": country, "fields": fields, "count": count }