Sutra_AI / README.md
Inferno-721's picture
Initial
0753d2e
metadata
title: Chat With PDF Application
emoji: 😻
colorFrom: red
colorTo: yellow
sdk: streamlit
sdk_version: 1.41.1
app_file: app.py
pinned: false

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference

Chat with PDF Application

Chat with PDF is an interactive Streamlit app that lets you upload PDFs, converts their content into embeddings using OpenAI, and enables question-answering via GPT-4.

Features

  • PDF Upload: Upload one or multiple PDFs.
  • Text Extraction & Chunking: Extracts text from PDFs and splits it into manageable chunks.
  • Embedding Generation: Converts text chunks into embeddings using OpenAI's text-embedding-ada-002.
  • Question Answering: Ask questions about your documents and get context-aware answers generated by GPT-4.
  • Context Display: View relevant sections from the PDF that support the generated answers.

Installation

Setup

  1. Create and activate a virtual environment:
    python3 -m venv venv
    source venv/bin/activate 
    

.\venv\Scripts\activate # On Windows

  1. Install requirements:

    pip install -r requirements.txt
    
  2. Run the application:

    streamlit run app.py
    
  3. Configure API Key:

    • Create a .env file in the root directory.
    • Add your OpenAI API key:
      OPENAI_API_KEY=your_openai_api_key_here
      

Usage

  1. Run the application:

    streamlit run app.py
    
  2. Interact:

    • Upload PDF files.
    • Wait for processing and embedding generation.
    • Enter a question to get answers with relevant context excerpts from your PDFs.

Notes

  • The app meets core requirements: PDF uploading, text processing, embedding conversion, and Q&A.
  • While context is shown, highlighting directly on the PDF is not implemented yet.
  • Supports multiple PDF uploads and cross-document querying.