Jev picks one option from a list. It has no memory between calls. If you want it to build a sequence, something outside it has to hold the state.
The naive way fails. Give Jev a list of candidate sentences and ask "which sentence comes next?" over and over, feeding its own pick back in as context. Nothing tells it a sentence is already used. It returns the same sentence again and again.
The fix is a controller. A controller is a small piece of ordinary code that holds the list. After each pick it removes the chosen option and sends the shorter list back. With that in place, the reply is built one sentence at a time, and each sentence is used once.
The controller remembers. Jev chooses. Keep the two jobs apart. Never expect the model to know what it already picked.
Chaining multiplies error. If each pick is right 90% of the time, five picks in a row are all right 0.9 × 0.9 × 0.9 × 0.9 × 0.9 = 0.59 of the time. That is 59%. Depth eats accuracy. Ask every question you can in one call, side by side. Keep chains short. Fan out; do not chain.