Bti. Use it pre-emptively because gnats come with soil/substrates due to how they are stored and shipped. If you use it the most you'll see is an occasional gnat and most times not even that. it's a bacterica that's been used on the food you eat for decades, so it is safe and you are potentially exposed to it nearly everyday already.
in america it comes as "mosquito bits" and "mosquito dunks" and should be effective with just about anything that have a larva life stage in your soil. Adults don't cause any damage but annoyance. The larva is what damages the plants. With an ongoing issue, kiling them at multiple points in their life cycle only makes them go away faster.
DE is a mess, but can be helpful as long as it stays drie, so putting it on the soil is mostly worthless... will add some silica from what i understand but if put down in any visible layer it'll also potentially dam up the water at the top and reduce absorption rate significantly. Put it on the ground around garden or pots, but don't put it in your pot unless well mixed into substrate (for silica, not to kill pests, because when wet it doesn't do much for pests)