Where to get temperature sounding model forecast data?
The GSD file is just a text (ASCII) file, which you can read with almost anything you want. Since you are using python I would recommend looking at Pandas and especially the pandas.read_csv functionality.

I am using this URL as an example now:
https://rucsoundings.noaa.gov/get_soundings.cgi?data_source=Op40&amp;latest=latest&amp;start_year=2019&amp;start_month_name=Dec&amp;start_mday=3&amp;start_hour=7&amp;start_min=0&amp;n_hrs=1.0&amp;fcst_len=shortest&amp;airport=50%2C-90&amp;text=Ascii%20text%20%28GSD%20format%29&amp;hydrometeors=false&amp;start=latest

From the ruc soundings you referred to. Here I just entered lat=50 and lon=-90 to pick something. You see this in the URL in "airport=".
You can download the data you need with wget or curl and put into a file with a better name (sounding.txt) like this:

wget "https://rucsoundings.noaa.gov/get_soundings.cgi?data_source=Op40&amp;latest=latest&amp;start_year=2019&amp;start_month_name=Dec&amp;start_mday=3&amp;start_hour=7&amp;start_min=0&amp;n_hrs=1.0&amp;fcst_len=shortest&amp;airport=50%2C-90&amp;text=Ascii%20text%20%28GSD%20format%29&amp;hydrometeors=false&amp;start=latest" -O sounding.txt


Then you can write a small python program to fetch the data you need and read the data with pandas.

I also want to note that if you are going to use grib2 you will be able to easily change the model since grib2 is a standard format for NWP data. This will be a little more complicated, as it is a bit more tricky to read. grib2 is a binary format that is very good for storing large datasets. I refer to eccodes from ECMWF if you want to look more into this.