In today’s data-driven world, managing and processing documents efficiently is crucial. One of the most common challenges is converting PDFs into formats that are easily searchable and integrable with Local Language Models (LLMs). This blog post details how I used Cursor to create an app called DogRAG, which allows you to convert PDFs into markdown, txt, and JSON files for easy Retrieval-Augmented Generation (RAG) using your local LLM system.

Introduction to DocRAG

DocRAG is a user-friendly, cross-platform tool designed to streamline the process of converting PDF documents into various formats. The app leverages proven technologies like Streamlit, PyPDF2, and standard Python libraries to provide powerful document processing capabilities. With DocRAG, you can upload PDFs through a modern web interface, extract text, create structured representations, and generate searchable collections of document chunks.

DocRAG processes PDFs into MD, txt, and JSON files

Getting Started with DocRAG

To get started with DocRAG, follow these steps:

Installation

Ensure you have Python installed on your system. Clone the DocRAG repository from GitHub. Install the required dependencies using pip:

pip install -r requirements.txt

Setting Up Your Documents

Create a folder named pdfs in the root directory of your project to store your PDF documents. Place your PDF files in this directory.

Running DocRAG

For macOS and Linux users, run the following command:

./run_streamlit.sh

For Windows users, create a batch file named run_streamlit.bat with the following content:

python -m streamlit run app.py

Run the application using the batch file:

run_streamlit.bat

Collection is broken down into MD, txt, and JSON files

Key Features of DocRAG

  1. PDF Processing Pipeline

    DocRAG includes a robust pipeline for extracting text from PDFs, chunking it appropriately, and generating multiple output formats (TXT, JSON, Markdown)

  2. Streamlined UI

    The app features an intuitive three-tab interface: Upload & Process, Search, and Collections. This guides users through the document processing workflow seamlessly

  3. Integration Capabilities

    DocRAG is built with connectors for integrating with LLM systems like Ollama and Open WebUI to enable Retrieval-Augmented Generation (RAG).

  4. Cross-Platform Support

    The application works seamlessly across macOS, Linux, and Windows environments, ensuring a consistent user experience regardless of the operating system.

  5. Error Handling

    Robust error handling and user feedback mechanisms are implemented, including processing logs and status indicators to keep users informed about the progress and any issues that arise during document processing.

Using DocRAG for RAG

Using JSON files for RAG knowledge base

Once you have your PDFs converted into markdown, txt, and JSON files, you can easily integrate them with your local LLM system. Here’s how:

  1. Upload PDF Documents

    Use the modern web interface provided by Streamlit to upload your PDF documents.

  2. Process PDFs

    The app will extract text from the PDFs and create structured representations in markdown, txt, and JSON formats.

  3. Generate Searchable Collections

    DocRAG generates searchable collections of document chunks, making it easy to perform keyword searches across all your processed documents.

  4. Integrate with LLM Systems

    Use the connectors provided by DocRAG to integrate with your local LLM system for enhanced document analysis and Retrieval-Augmented Generation (RAG).

  5. Search Across Document Collections

    Perform simple keyword searches across all your processed documents using the Streamlit interface or a command-line tool. Notice in the screenshot that sources are provided in responses.

  6. View Stylized Markdown Representations

    View stylized markdown representations of your documents directly within the app, making it easy to read and understand the content.

DocRAG & the Power of AI-Assisted Development

DocRAG is a powerful tool that simplifies the process of converting PDFs into searchable formats for RAG using local LLM systems. With its user-friendly interface, robust processing pipeline, and cross-platform support, DocRAG makes document management efficient and effective. What makes DocRAG particularly remarkable is how it represents a new paradigm in software development. Through tools like Cursor, which leverages AI to assist with coding, individuals who might have previously found PDF processing and RAG implementation technically daunting can now create sophisticated applications with relative ease. Just a few years ago, building a cross-platform document processing solution with multiple output formats and LLM integration would have required specialized knowledge and significant development time.

Today, AI-assisted development environments are democratizing software creation, allowing domain experts to translate their ideas directly into functional tools without extensive programming backgrounds. DocRAG exemplifies how this technological shift is enabling a new generation of developers to create and share solutions for previously complex document processing challenges, ultimately making advanced document management capabilities accessible to everyone.

Give it a try and experience the ease of converting PDFs into markdown, txt, and JSON files for seamless RAG integration with your local LLM system!