How does ChatGPT work