2005 Pontiac Montana engine reving very high

when the vehicle is first started in the morning, the engine is revving at anywhere from 2000 to 3500 rpm.
It will not lower the rpm unless driven for 15 minutes or so, it will then go down to 1000 rpm & remain there, it seems worse in damp conditions what can I do?