Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAGPilot

Local document preparation for retrieval-augmented generation.
Upload, inspect, chunk, and ingest documents directly into a local ChromaDB collection.


Overview

RAGPilot is a local app for RAG workflows. It helps you import documents, inspect extracted text, test chunking settings, and store the resulting chunks in ChromaDB with Ollama embeddings.

The focus is a transparent local workflow: before ingestion, you can see what was extracted from your files and how the final chunks will look.

Features

  • Local web UI for the ChromaDB path, collection name, and Ollama model
  • Single-document upload or import from local folders
  • Extracted-text preview, including PDF preview support
  • Chunk preview before writing to ChromaDB
  • Three chunking strategies: recursive, sentence, and fixed
  • Configurable chunk size and overlap
  • SQLite-based storage for document metadata and settings
  • Ollama-based embeddings for local ChromaDB collections

Requirements

  • Python 3.13 or newer
  • Ollama installed and running locally
  • At least one installed Ollama embedding model

For example, you can install a suitable embedding model with:

ollama pull nomic-embed-text

By default, RAGPilot expects Ollama at:

http://localhost:11434

If needed, you can override this address with the OLLAMA_BASE_URL environment variable.

Quick Start

  1. Create a virtual environment:

    python -m venv venv
  2. Activate the virtual environment:

    venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Start the app:

    python app.py
  5. Open it in your browser:

    http://localhost:5000
    

First-Time Setup

On first launch, RAGPilot walks you through the local ChromaDB configuration:

  • Select or create a ChromaDB directory
  • Set the collection name
  • Choose an Ollama embedding model
  • Continue to the document viewer

When using an existing ChromaDB directory, the folder must already exist. In new-database mode, the app creates the folder for you.

Supported File Types

File type Processing
PDF Text extraction and word positions for preview highlighting
DOCX Paragraphs, headings, tables, and basic text formatting
XLSX / XLS Sheets and table data
CSV Tabular text
TXT / MD UTF-8 text files

Chunking

RAGPilot provides three strategies for different document structures:

Strategy Best for
recursive A robust default split using multiple separator levels
sentence Texts where sentence and paragraph boundaries matter
fixed Even character windows with a fixed size

Chunk size and overlap can be adjusted in the UI before ingestion.

Local Data

RAGPilot runs locally and stores project state in these locations:

Path Contents
data/Database.db Document metadata and configuration
uploads/ Uploaded PDFs used for previews
ChromaDB directory Local vector store

These files are local working data and usually should not be committed.

Notes

  • The app is designed for local use.
  • The maximum upload size is set to 50 MB in app.py.
  • Embeddings are generated through the configured local Ollama model.

About

Local document preparation for retrieval-augmented generation. Upload, inspect, chunk, and ingest documents directly into a local ChromaDB.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages