📚 PaperSage is a Multi-Modal Chatbot designed to assist users in comprehending scientific papers. Leveraging Multi-Modal Language Models, PaperSage helps break down complex scientific concepts, answering questions, providing summaries, and highlighting key points within research papers.
✨ Whether you’re a student, a researcher, or just someone who likes to read papers, This tool offers an interactive way to navigate and understand scientific literature.
Features include:
- Multi-Modal Interaction: Ask questions about the paper and receive answers in text and images;
- Custom Paper Processing: Implements a custom PDF processing pipeline using PaperMage to extract text and images from papers with high precision and reduced artifacts;
- Custom Metadata Extraction: Extract custom metadata from paper chunks to improve retrieval and answer accuracy;
- Lightweight and Fully Local: PaperSage is designed to run locally on your machine, ensuring privacy and security. It does not strictly require any cloud services or external APIs. Papersage is also design to be lightweight and fast, with a small memory footprint. It can run on a standard laptop without the need for a powerful GPU.
Clone the repo using git:
git clone https://github.com/LucaStrano/PaperSage.git
cd PaperSageThis project was built using Python 3.11.9. It is recommended to use the same python version to avoid compatibilty issues. Use Anaconda to create a virtual environment:
conda create --name .papersage python=3.11
conda activate .papersageUse Make to install the required dependencies:
make installYou can always use make help to see all available commands.
To run the project, configure the config.yamlfile with your custom settings. Standard settings are already provided and tested, and you can use them as a starting point. This project uses LiteLLM to interface with any custom provider/LLM. simply change the model_nameconfig inside the config.yaml file to use your own provider/model. If you wish to use a cloud provider, be sure to export your API KEY before running the project.
After you have configured the config.yaml file, you can run the project using:
make runOnce the project is running, your default browser will open a new tab with the PaperSage interface. If you run the project for the first time, You will be asked to upload a PDF file. You can upload any scientific paper in PDF format. Once the processing is complete, you can start asking questions about the paper. If you have more papers, you can select the one you want to use from the settings menu (to the left of the chatbox). You can also upload a new paper at any time by providing a PDF to PaperSage.
You can use the \img_searchcommand to ask PaperSage to provide an answer to your question while searching for an adeguate image. You can also provide a screenshot of an image of the paper. Follow-up questions are also supported.
This project is licensed under the MIT License.
