There's multiple ways to handle this. DVM announce their service with nip89. In some cases you select one announcement and directly contact a specific DVM. In other cases you shout in the void and see who replies. You then see which offer is best and contact the DVM directly. Or maybe DVMs just start and present you their results. You can also add params to your request. Supported params are announced in the nip90 as well. For example the number of replies, or keywords it should look for etc.
Discussion
For Discovery feeds in amethyst or nodtrudel you see the announcement and by clicking it, you contact the DVM. For example on https://noogle.lol/image you shout in the void who can create an image for you and DVMs might reply
Also check out the various dvm kinds, for example for content discovery, see here: