Skip to content

Instantly share code, notes, and snippets.

@cx0
Last active May 16, 2024 10:33
Show Gist options
  • Save cx0/c280e1aa0666ee380b94106cb2dc3dd2 to your computer and use it in GitHub Desktop.
Save cx0/c280e1aa0666ee380b94106cb2dc3dd2 to your computer and use it in GitHub Desktop.
Live demo of GPT-4o coding assistant and desktop app
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@cx0
Copy link
Author

cx0 commented May 16, 2024

OpenAI Spring update live demo: YouTube link

Ask ChatGPT to explain the code

  • Use the ChatGPT desktop app (model: GPT-4o)
  • Upload Python file containing the entire code above
  • Prompt: "Ok, so I just shared some code with you. Could you give me a really brief one-sentence description of what's going on in the code?"

ChatGPT response from the live demo

"This code fetches daily weather data for a specific location and time period, smooths the temperature data using a rolling average, annotates a significant weather event on the resulting plot, and then displays the plot with the average, minimum and maximum temperatures over the year."

ChatGPT response from text input

"The code fetches daily weather data for a specified location and time period, smooths the temperature data with a rolling mean, and plots the average, minimum, and maximum temperatures, annotating significant events on the plot."

Screenshot 2024-05-16 at 2 58 18 AM

Response from GPT-4 model (gpt-4-turbo-2024-04-09)

"The code fetches daily weather data for a specific location over the course of 2018, applies a rolling average to the temperature data, and plots the averaged temperatures along with annotations for significant weather events."

@cx0
Copy link
Author

cx0 commented May 16, 2024

Ask ChatGPT a specific question about the code

  • Prompt: "In the code, there is this function foo. Can you describe to me what the plot would look like if I had vs didn't have this function?"

ChatGPT response from the live demo

"Sure! The function foo(x,y) takes in a dataframe x containing temperature data and a window size y for calculating the rolling mean. It smooths the average temperature, minimum temperature and maximum temperature columns by applying a rolling mean over the specified window. With the foo function, the plot would show smoother temperature lines because the rolling mean reduces the noise or fluctuations in the data." (interruption)

ChatGPT response from the text input

The function foo smooths the temperature data by applying a rolling mean with a specified window size. Here's how the plot would differ with and without this function:

  1. With foo Function:

    • The temperature data (average, minimum, and maximum) will be smoother because the rolling mean reduces short-term fluctuations.
    • The plot will have fewer sharp peaks and troughs, presenting a clearer trend over the specified time period.
    • This smoothing makes it easier to observe overall patterns and trends in the temperature data.
  2. Without foo Function:

    • The temperature data will be more jagged, displaying all short-term fluctuations and noise.
    • The plot will have more sharp peaks and troughs, reflecting the daily variability in the temperature data.
    • This might make it harder to discern the overall trends and patterns in the temperature data.

In summary, using the foo function will result in a smoother, more visually appealing plot that highlights overall temperature trends, while not using it will show the raw, more variable daily temperature data.

Screenshot 2024-05-16 at 3 06 21 AM

Response from GPT-4 model (gpt-4-turbo-2024-04-09)

The function foo in your code applies a rolling average to the temperature data (average, minimum, and maximum temperatures) over a specified window (in this case, 5 days). Here’s how the use of this function affects the plot:

With the foo Function (Using Rolling Average):

•	Smoother Lines: The rolling average smooths out fluctuations in the temperature data by averaging over the specified window. This results in smoother, less jagged lines on the plot, which helps in identifying broader trends rather than daily variations.
•	Reduced Noise: By smoothing the data, the rolling average reduces the impact of outliers and short-term fluctuations. This can make the underlying patterns and trends in the temperature data more apparent and easier to interpret.

Without the foo Function (Using Raw Data):

•	Jagged Lines: Without applying the rolling average, the plot will show the raw temperature data, which includes all daily variations. This can result in a more jagged and erratic line plot, reflecting every spike and dip in temperature.
•	More Detail: While the plot may be harder to interpret at a glance due to its jagged nature, it will contain all the detailed fluctuations, which might be useful for analyzing specific days or events that have sharp changes in temperature.

In summary, including the foo function makes the plot more streamlined and easier for identifying longer-term temperature trends, while excluding it retains the detailed day-to-day variability in temperatures.

@cx0
Copy link
Author

cx0 commented May 16, 2024

Ask ChatGPT for visual data analysis

Prompt #1: "Okay ChatGPT, I'm sharing with you the plot now. I'm wondering if you can give me a really brief one-sentence overview of what you see."

Prompt #2: "Fantastic. I have another question for you. Which months do you see the hottest temperatures and roughly what temperatures do those correspond to?"

Prompt #3: "What's going on with the y axis? Is this in Celsius or Fahrenheit?"

ChatGPT response from the live demo

Response #1: "The plot displays smoothed average, minimum and maximum temperatures throughout 2018 with a notable annotation marking a big rainfall event in late September."

Response #2: "The hottest temperatures occur around July and August. The maximum temperature during these months is roughly between 25 degrees and 30 degrees (77 degrees Fahrenheit to 86 degrees Fahrenheit)."

Response #3: "The y axis is in Celsius. The temperatures are labeled accordingly such as average temperature, minimum temperature and maximum temperature."

ChatGPT response from the text input

Response #1: "The plot shows the daily average, minimum, and maximum temperatures over the year 2018, with a significant rainfall event annotated in late September."

Response #2: "The hottest temperatures occur during July and August, with maximum temperatures reaching around 30°C, average temperatures around 20-25°C, and minimum temperatures between 15-20°C."

Response #3: "The y-axis is labeled as “Temperature” and given that the values are between -5 and 30, it is most likely in degrees Celsius. This range is typical for weather data in Celsius, especially considering the location (49.2497° N, -123.1193° W) which corresponds to Vancouver, Canada."

Screenshot 2024-05-16 at 3 19 10 AM

Response from GPT-4 model (gpt-4-turbo-2024-04-09)

Response #1: "The plot displays the daily average, minimum, and maximum temperatures throughout 2018, with a noticeable annotation for a significant weather event labeled “Big Rainfall” in September, showing a peak in maximum temperature."

Response #2: "The hottest temperatures in the plot occur around July and August, where the maximum temperature line (green) peaks at approximately 25 to 30 degrees Celsius."

Response #3: "The y-axis of the plot is likely showing temperatures in degrees Celsius, as indicated by the values ranging from about -5 to 30 degrees Celsius, which are typical temperature ranges you might expect to see in many parts of the world using the Celsius scale."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment