There is no universal count that makes a dataset sufficient. You need enough legally usable, correctly labelled examples to cover the behaviours you want to change and enough independent cases to measure whether they changed.
Start with an inventory by customer, document family, time period, language, outcome and failure severity. A million near-identical templates may add less decision value than a smaller collection containing genuinely different failure modes. Reserve the test set before generating synthetic examples or repeatedly modifying prompts.
Use learning curves: compare a small training subset, an expanded subset and an unchanged baseline on the same development evaluation. Stop adding similar examples if the limiting problem is label disagreement or missing source information. Keep the final holdout separate from this iterative loop. GroupKFold is one documented mechanism for separating groups; it does not discover near-duplicates or decide the correct grouping for you.