import streamlit as st from typing import List, Union, Optional from dotenv import load_dotenv, find_dotenv from langchain.callbacks import get_openai_callback from langchain.chat_models import ChatOpenAI from langchain.embeddings.openai import OpenAIEmbeddings from langchain.schema import (SystemMessage, HumanMessage, AIMessage) from langchain.llms import LlamaCpp from langchain.embeddings import LlamaCppEmbeddings from langchain.callbacks.manager import CallbackManager from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler from langchain.text_splitter import TokenTextSplitter from langchain.prompts import PromptTemplate from langchain.vectorstores import Qdrant from PyPDF2 import PdfReader import streamlit as st st.set_page_config( page_title="PDF Chat" ) st.sidebar.title("Options")