I am the first person to say that Gavi needs to grow a lot as a player and shouldn't be relied on as a starter, as of course he is 17. Some people on this forum said he is a top3 midfielder in the world, lol.
But I have also said that if a player has many offers significantly better in salary terms, and from top clubs too, that we can't expect them to accept ours. We have to make a competitive offer.
A long-term contract (5 or 6 years) of 3m net would be fair. Even though it is a lot to pay a 17 year old, you lock him down and are in a strong position to collect a big transfer fee if he wants to leave again in the future. Also, he is still very good despite his age and is going to be a key rotation piece over the next seasons.