Doc-Fusion is a robust, intelligent application that transforms collections of academic or technical PDFs into semantically searchable and structured outputsβincluding LaTeX-based review papersβwith minimal effort. Powered by LlamaParse, Google Gemini, and Milvus, Doc-Fusion extracts, summarizes, and indexes documents into a vector database, enabling natural language querying and automated review generation.
- π AI-powered PDF extraction and chunking using LlamaParse
- π€ Summarization via Google Gemini
- π§ Keyword-driven semantic similarity search
- π Embedding & vector search with Milvus
- π§Ύ Automated LaTeX review paper generation
- π Compile LaTeX into polished, formatted PDF outputs
- π Streamlit web app interface
- π³ Full Docker container support
- π Works with multiple PDFs
- π§± Modular architecture for easy scaling and extension
-
Multi-PDF Ingestion
Upload multiple PDF documents as raw inputs. -
Keyword-Based Similarity Search
A user-defined keyword query drives a semantic similarity search, extracting the most relevant content from the dataset. -
Dynamic LaTeX Generation
Retrieved content is automatically converted into structured LaTeX snippetsβincluding sections, figures, citations. -
Review Paper PDF Output
Compiled LaTeX is rendered into a professionally formatted review paper with customized styling.
- Clone the repository
git clone https://github.com/vidhi-github/doc-fusion.git
cd doc-fusion- Generate API Keys
- LlamaParse (LlamaIndex Cloud): https://cloud.llamaindex.ai
- Google Gemini: https://makersuite.google.com/app
- Create a
.envfile in the root directory and paste:
LLAMA_CLOUD_API_KEY=your_llama_key
GEMINI_API_KEY=your_gemini_key- Create and activate a virtual environment
python -m venv myenv
myenv\Scripts\activate # On Windows- Install dependencies
pip install -r requirements.txt- Parse and dump PDFs
python automation.py dump data/cnn1.pdf data/cnn2.pdf output- (Optional) Run with Docker
docker compose up -d- Search using a query
python automation.py search "Convolutional Neural Network"- Launch Streamlit app
streamlit run app.pyDoc-Fusion/
β
βββ automation.py # Main automation script for dumping/searching PDFs
βββ app.py # Streamlit app interface
βββ requirements.txt # Python dependencies
βββ .env # API keys (create manually)
β
βββ data/ # Input PDFs
βββ output/ # JSON summaries
βββ myenv/ # Virtual environment
βββ static/ # Optional LaTeX assets
β
βββ Dockerfile # Docker configuration
βββ docker-compose.yml # Docker service runner
β
βββ parser.py # LlamaParse-based PDF parser
βββ retrieval.py # Vector DB handling (Milvus)
βββ ToLatex.py # LaTeX generator module
βββ usegemini.py # Gemini summarizer
βββ llm_prompt.py # Prompt templates for LLMs
βββ README.md # You're reading it!
- π§ Academic Research: Streamlined review paper generation and literature analysis.
- π Document Management: Ideal for law firms, universities, or corporate knowledge bases.
- π AI-Powered PDF Search Engines: Semantically index and search documents using natural queries.
- π₯ Healthcare & Legal: Summarize case files, reports, or records with AI.
- πΌ Enterprise Knowledge Extraction: Convert legacy documentation into structured insights.
- Python 3.12
- LlamaParse (LlamaIndex Cloud)
- Google Gemini
- Milvus (Vector DB)
- PyMuPDF (for layout-preserving parsing)
- Streamlit
- Docker
- π§ Drag-and-drop GUI for PDF uploads
- π€ Voice-enabled chatbot for reading summaries aloud
- π Multilingual support for translation and search
- π OCR support for scanned PDFs
- βοΈ Cloud upload (AWS S3, Firebase, etc.)
- π Analytics dashboard for document insights
- π§© Plug-in support for other LLMs (GPT-4, Claude, etc.)
- π± Cross-platform mobile app
- π§ Fine-tuned models for domain-specific outputs
- π§ͺ Auto-evaluation of summary quality and key insights
Pull requests are welcome!
To contribute:
# Fork the repo
git checkout -b feature/your-feature
# Make your changes
# Submit a pull request to the main branchBuilt with β€οΈ by Vidhi Jindal
Feel free to reach out for collaborations or feedback!
Thank You for going throug my project.