openai structlog retrying IPython PIL tiktoken