This project enables users to chat with multiple PDF documents using Streamlit. It utilizes various libraries for text processing and conversation handling.
- PDF Text Extraction: Extracts text from uploaded PDF documents.
- Text Chunking: Splits the extracted text into small, manageable chunks.
- Embeddings Creation: Generates embeddings for each text chunk using OpenAI embeddings.
- Conversational Chain: Establishes a conversational chain for handling user queries based on the processed PDF content.
- Upload PDFs: Upload your PDF documents via the file uploader in the sidebar.
- Ask Questions: Enter your questions about the uploaded documents in the text input box.
- Conversation: Receive responses based on the content of the documents.
- The main functionality is encapsulated in the
main()
function. - PDF text extraction, chunking, embeddings creation, and conversation chain establishment are handled through separate functions.
- The user interface is built using Streamlit, allowing for intuitive interaction with the application.
- Streamlit
- PyPDF2
- dotenv
- langchain
- langchain_openai
- FAISS
- Ensure all dependencies are installed (
pip install -r requirements.txt
). - Run the script (
streamlit run app.py
). - Access the application through the provided URL.
Feel free to explore and enhance the capabilities of this project!