optimizing OpenAI API costs