how does openai cached input work