SMARA – Smart Multi-Agent Research Assistant
A lightweight Retrieval-Augmented Generation (RAG) pipeline that automates document ingestion, vector storage, and topic-based report generation using a local pipeline. SMARA allows you to build your own intelligent research assistant that retrieves information from stored documents and generates a well-structured PDF report. Project Structure smara/ │── build_store.py # Builds vector store from documents │── main.py # Runs the full RAG pipeline │── README.md # Project documentation │── .gitignore │── store/ # Auto-generated vector store files │── src/ │ ├── utils/ │ │ ├── rag.py # Retrieval & scoring logic │ │ └── pdf.py # PDF generation utility │ └── model/ │ └── generator.py # Report generator model └── docs/ # Your input reference documents 🚀 Features
✔ Automatic document ingestion ✔ Sentence embedding + vector store creation ✔ Smart document retrieval ✔ PDF report generation based on selected topic ✔ Clean modular architecture ✔ Fully customizable for any domain Installation
Clone the repository:
git clone https://github.com/Gauri-tech-prog/smara.git cd smara 📌 How to Use 1️⃣ Build the Vector Store
Make sure your PDFs/text files are in the docs/ folder.
Run:
python build_store.py
You will see:
Building vector store... Vector store created successfully! 2️⃣ Run the Main Pipeline python main.py
Enter a topic when asked:
Enter topic: Half Wave Rectifier
Output:
DONE! Report saved at: outputs/Half_wave_rectifier_report.pdf
🧠 How It Works
- Embedding
Your documents are split into chunks → converted into numerical vectors using a sentence-transformer model.
- Retrieval
The system calculates similarity scores for all chunks and returns the best-matching ones.
- Generation
The selected docs are passed to the model to generate a structured research report.
- PDF Export
A clean, readable PDF is created using ReportLab.
📄 Output Example
Generated PDF file includes:
Title
Summary
Key Concepts
Explanation
Diagrams (optional placeholders)
Conclusion
🤝 Contributing
Pull requests are welcome! Please open an issue first to discuss changes.
📜 License
This project is released under the MIT License.
Author
Gauri Sakhale GitHub: https://github.com/Gauri-tech-prog