openai pandas python-dotenv fastapi uvicorn langchain-community langchain-openai pydantic pypdf pypandoc Spire.Doc plum-dispatch==1.7.4 scikit-learn werkzeug python-multipart langgraph tiktoken langchainhub chromadb langchain langchain-text-splitters beautifulsoup4 langchain-core PyPDF2 reportlab