Fewer than you think: 10–30 per campaign, grouped into ad groups so tight that every keyword in a group could share one headline. Small budgets spread across hundreds of keywords starve everything of data and teach you nothing.
The old thousand-keyword builds are obsolete anyway. Modern match types make one phrase keyword cover the variants you used to enumerate. Your job is themes, not exhaustive lists; the search-terms report grows the list from reality.
A useful sanity check: if a keyword hasn't had an impression in 30 days, it isn't doing anything but cluttering your view. Prune toward the terms that actually spend and convert.