An interactive web application that leverages Google's Gemini Large Language Model to provide concise summaries of user-provided text. Built with Python and Streamlit for a fast, responsive user experience.
β‘οΈ Live Demo: text-summarizer-1.streamlit.app
- AI-Powered Summarization: Utilizes Google Gemini for intelligent text summarization.
- Interactive UI: Simple and intuitive interface built with Streamlit.
- Adjustable Summary Length: Users can specify the approximate target word count for the summary.
- Real-time Output: Get summaries quickly with a loading indicator.
- Responsive Design: Works on desktop and mobile browsers.
(A screenshot or GIF demonstrating the app in action will be added here soon!)
- Frontend / Application Framework: Streamlit
- Programming Language: Python
- AI / LLM: Google Gemini API (via
google-generativeaiSDK) - Prompt Engineering: Custom prompts to guide LLM output.
- Deployment: Streamlit Community Cloud
- Version Control: Git & GitHub
- Environment Management:
python-dotenv(for local development)
If you'd like to run this project on your local machine:
-
Clone the repository:
git clone https://github.com/debtanu-github/Text_Summarizer.git cd Text_Summarizer -
Create and activate a virtual environment:
python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up your Google Gemini API Key:
- Create a file named
.envin the project root (Text_Summarizerfolder). - Add your API key to the
.envfile:GOOGLE_API_KEY="YOUR_GOOGLE_GEMINI_API_KEY_HERE" - You can get an API key from Google AI Studio.
- Create a file named
-
Run the Streamlit app:
streamlit run app.py
The application should open in your web browser.
app.py: The main Streamlit application script.requirements.txt: Python dependencies for the project..gitignore: Specifies intentionally untracked files that Git should ignore.main.py: (Kept for reference) Foundational FastAPI backend structure for potential future API development.README.md: This file!
- Option for different summary styles (e.g., bullet points).
- Support for summarizing text from URLs or uploaded files.
- More advanced error handling and user feedback.
- Caching results for frequently summarized texts.
- Powered by Google Gemini
- User Interface by Streamlit