build a app for chat with a uploaded pdf, first the user need to input their own openai api key, second, upload a pdf file. then display a chat interface for asking questions about the pdf