gradio pandas openai pypdf loguru promptic tenacity