Easy to use wrapper for text document question and answer using RAG and LLM
Project description
ReportMiner is an easy-to-use wrapper for multimodal retrieval augmented generation (RAG) tasks for technical reports. With ReportMiner, you can use any HuggingFace or Byaldi and apply for your reports of any format (PDF, Excel, PPT)
🤖 Installation
Depending on your files, you need to install differently.
Basic package
Basic package means working with only PDF file format. Make sure to install Poppler first
!apt-get update
!apt-get install -y poppler-utils
on Linux OS
Then, install the package
pip install reportminer
Excel package
Excel package means working with XLS and PDF file format, which requires additional packages (Libgdiplus)
!apt-get update
!apt-get install -y poppler-utils
!sudo apt install -y libgdiplus
!sudo ln -s /usr/lib/libgdiplus.so /usr/lib/libgdiplus
on Linux OS
Then, install the package
pip install reportminer[xls]
Presentation package
Excel package means working with XLS and PPT file format, which requires additional packages to support Microsoft Office fonts
!apt-get update
!apt-get install -y poppler-utils
!sudo apt-get install -y ttf-mscorefonts-installer
!sudo apt-get install fonts-dejavu
!sudo apt-get install fonts-liberation
on Linux OS
Then, install the package
pip install reportminer[ppt]
Combined package
Excel package means working with XLS, PPT, and PDF file format, literally need all packages
!apt-get update
!apt-get install -y poppler-utils
!sudo apt-get install -y ttf-mscorefonts-installer
!sudo apt-get install fonts-dejavu
!sudo apt-get install fonts-liberation
!sudo apt install -y libgdiplus
!sudo ln -s /usr/lib/libgdiplus.so /usr/lib/libgdiplus
on Linux OS
Then, install the package
pip install reportminer[xls,ppt]
or
pip install reportminer[all]
🚀 Use RAG in 3 simple steps
Using ReportMiner is just few lines of codes.
1. Setup embedding model and visual language model
Here we will use ColPali-1.2 as our embedding model and SmolVLM as our visual language model (by default). This combination works very well even with free-tier Colab GPU T4 and low memory.
from reportminer import rag
# Setup embedding and VL model
rag_models = rag.setup_model()
If you have access to Colab Pro's GPU A100 and high memory, you can make advantage of Qwen2-VL as your visual language model and activate Flash Attention 2.
2. Upload your report
# Specify pdf file
pdf_file = '/content/15-9-19a-core.pdf'
# Process PDF report by converting into embeddings
rag_models = rag.process_PDF(pdf_file, rag_models, dpi=200, index_name='pvt-rag')
3. Perform query
There are 2 minimal tasks you can use with ReportMiner. First, you can retrieve relevant page taking advantage of the embedding model
rag.RAG('How is the Klinkenberg corrected gas horizontal permeability to porosity looks like at core 7?',
rag_models, k=1)
Second, you can ask a question, taking advantage of the visual language model
rag.Ask('How many cored intervals are there in the report? Mention the depth of each', rag_models)
👨💻 Features
- Added support for processing multiple technical files any format (PDF, Excel, Word, PowerPoint)
👨💻 Future development
In the next version, the following will be implemented:
- Support for fine tuning with user reports of specific domain
- Integration with vector databases for robust document indexing
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file reportminer-0.2.2.tar.gz.
File metadata
- Download URL: reportminer-0.2.2.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e955bc9fcdb62211f5990d1c9c053668e0124e14102337830de2eb5fa3eefe1
|
|
| MD5 |
8e1d9210a72f132c2e7cd0fc37753dfc
|
|
| BLAKE2b-256 |
32bddb639af0c9297c437fde57bdd5686586c8a81a25537aadba5c0dab689623
|