title | emoji | colorFrom | colorTo | sdk | sdk_version | app_file | pinned |
---|---|---|---|---|---|---|---|
PaperFlux |
📚 |
blue |
indigo |
streamlit |
1.30.0 |
app.py |
true |
PaperFlux is a Streamlit based web application powered by Gemini that automatically fetches, analyzes, and explains the latest AI research papers from Hugging Face's daily curated list. Using Google's Gemini Pro AI, it provides in-depth explanations and technical breakdowns of complex research papers, making cutting-edge AI research more accessible.
- Daily Updates: Automatically fetches and processes new papers every weekday at
8:00 AM UTC
- AI-Powered Analysis: Uses Google's
Gemini Pro
to provide detailed explanations of complex research - Paper Library: Browse through all processed papers with easy navigation
- Technical Breakdowns: Get in-depth explanations of mathematical concepts and methodologies
- Critical Assessment: Read AI-generated critical analysis of each paper
- Responsive Interface: User-friendly interface built with Streamlit
PaperFlux follows a robust architecture for fetching, processing, and displaying research papers:
flowchart TD
A[Scheduler] -->|Daily trigger| B[Paper Processor]
B -->|Fetch papers| C[Hugging Face API]
B -->|Download PDFs| D[arXiv]
B -->|Analyze content| E[Gemini Pro API]
B -->|Store data| F[(MongoDB)]
G[Streamlit UI] -->|Display papers| F
H[User] -->|View papers| G
- Scheduled Polling: Every weekday at 8:00 AM UTC, the scheduler checks if papers need to be processed
- Data Collection: The application fetches the latest papers from Hugging Face's API
- PDF Processing: Papers are downloaded from arXiv and stored temporarily
- AI Analysis: Each paper is analyzed using Google's Gemini Pro API
- Data Storage: Results are stored in MongoDB for quick access
- User Interface: Users can browse all processed papers through the Streamlit interface
- Python 3.8 or higher
- MongoDB database
- Google Gemini Pro API key(s)
- Poetry (dependency management)
-
Clone the repository:
git clone https://github.com/yourusername/paperflux.git cd paperflux
-
Install dependencies using Poetry:
# Install Poetry if you haven't already # curl -sSL https://install.python-poetry.org | python3 - # Install dependencies poetry install
-
Create a
.env
file with your credentials (copy from.env.example
):cp .env.example .env # Edit .env with your credentials
-
Configure your environment variables:
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/paperflux GEMINI_API_KEY1=your_gemini_api_key_1 GEMINI_API_KEY2=your_gemini_api_key_2 # Add more API keys as needed for load balancing
-
Run the Streamlit app with Poetry:
poetry run streamlit run app.py
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.