rahimizadeh's picture
Update README.md
b6d6235 verified

A newer version of the Gradio SDK is available: 5.42.0

Upgrade
metadata
title: Text Pdf Summarizer Ui
emoji: 🐠
colorFrom: blue
colorTo: gray
sdk: gradio
sdk_version: 5.29.0
app_file: app.py
pinned: false
license: mit
short_description: πŸ“ Text & PDF Summarizer UI

πŸ“ Text & PDF Summarizer UI

A lightweight web application that allows users to paste text or upload a PDF document, then summarizes the content using a HuggingFace transformer model integrated with LangChain and displayed via a Gradio interface.

πŸš€ Key Features

  • Input text manually or via PDF upload
  • Extracts and summarizes PDF text using NLP
  • User-friendly Gradio interface
  • Uses pre-trained facebook/bart-large-cnn summarization model

πŸ—οΈ Project Architecture

  • Gradio: Frontend interface to interact with the app
  • PyPDF2: Extracts text from PDF files
  • LangChain: Framework for managing LLM-based workflows
  • HuggingFace: Provides transformer models like BART for summarization

πŸ”§ Getting Started

1- Clone the repo

git clone https://github.com/rahimizadeh/text-pdf-summarizer-ui.git
cd text-pdf-summarizer-ui

   πŸ“Project Structure

      β”œβ”€β”€ text-pdf-summarizer-ui/
            β”œβ”€β”€ app.py    # Application
            β””── requirements.txt
            β””── README.md

2- Create a virtual environment (optional)

source venv/bin/activate  # On Windows: venv\\Scripts\\activate

3- Install dependencies

pip install -r requirements.txt

4- Run the app

python app.py

🧠 About the Tools

 LangChain: provides a modular framework for building applications with language models. Here, it's used to manage prompting and model output formatting.

 HuggingFace Transformers: We use the facebook/bart-large-cnn model, a powerful encoder-decoder model ideal for summarization.

 Gradio: lets us quickly build and share user-friendly web interfaces for Machine Learning apps.

πŸ” Implementation Details

   1- Model Initialization: Using HuggingFacePipeline via LangChain

   2- PromptTemplate: Wraps text for inference

   3- PDF Handling: Reads uploaded file as bytes and extracts text using PyPDF2

   4- UI Logic: Built with Gradio Blocks to control layout, input, and output

βœ… Example Usage

  • Upload a PDF or paste article text
  • Cick β€œConvert PDF to Text” (if PDF)-
  • Click β€œSummarize Text”
  • View summary below the input

πŸ“ License

MIT

🀝 Contributions

Pull requests and suggestions welcome!

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