Skip to main content

RAGNARDoc

RAGNARDoc (RAG Native Automatic Reingestion for Documents) is a tool that runs natively on a developer workstation and automatically ingests local documents into various Retrieval Augmented Generation indexes. It is designed as a companion app for workstation RAG applications which would benefit from maintaining an up-to-date view of documents hosted natively on a user's workstation.

ragnardoc duck

Quick Start

pip install ragnardoc
# Initialize ragnardoc on your system
ragnardoc init
# Add a directory to be ingested
ragnardoc add ~/Documents
# Run an ingestion
ragnardoc run
# Start as a background service
ragnardoc start & disown

Configuration

The configuration for RAGNARDoc is managed by a yaml file. The default location is $HOME/.ragnardoc/config.yaml, but can be overloaded with the RAGNARDOC_HOME environment variable. All default values can be found in config.yaml in the codebase.

Configuring

To initialize your RAGNARDoc config, do the following:

mkdir -p ~/.ragnardoc
echo "scraping:
  roots:
    # Fill in with the list of directories to ingest
    - ~/Desktop
    - ~/Documents
" > ~/.ragnardoc/config.yaml

Once done, you can add entries to your config.yaml to add supported ingestion plugins (see below).

Ingestion Plugins

RAGNARDoc operates with a plugin model for connecting to applications to ingest docs. Each plugin is responsible for connecting to a given app. RAGNARDoc's native ingestion capabilities are:

AnythingLLM Desktop

To configure a connection to AnythingLLM, follow these steps:

  1. Download and install the desktop app from their site: https://anythingllm.com/desktop
  2. In the app, go to settings (wrench icon in the bottom panel of the left-hand sidebar)
  3. Under Admin -> General Settings, toggle on Enable network discovery and wait for the app to reload
  4. Under Tools, select Developer API
  5. Create a new API Key
  6. Add the plugin to your config (default location $HOME/.ragnardoc/config.yaml)
ingestion:
  plugins:
    - type: anything-llm
      config:
        apikey: <YOUR API KEY>

Open WebUI

To configure a connection to Open WebUI, follow these steps:

  1. Follow the Getting Started guide to get Open WebUI running locally. TLDR:
pip install open_webui
# Run without login
WEBUI_AUTH=False open-webui serve
  1. Open the UI in a browser tab (http://localhost:8080 by default)
  2. Click on the user icon (top right) and select Settings
  3. Click Account on the left panel of the settings view
  4. Click Show (right side) for API keys
  5. Click + Create new secret key under API Key to create a new API Key
  6. Click the copy icon to copy the api key
  7. Add the plugin to your config (default location $HOME/.ragnardoc/config.yaml)
ingestion:
  plugins:
    - type: open-webui
      config:
        apikey: <YOUR API KEY>

TODO

  • Per-ingestor inclusion / exclusion
  • Abstract scrapers to allow non-local scraping

Metadata

Release files for ragnardoc 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ragnardoc 0.1.1
File Size Uploaded Provenance Actions
ragnardoc-0.1.1.tar.gz 1.6 MB Without provenance Details for ragnardoc-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ragnardoc 0.1.1
File Interpreter ABI Platform Actions
ragnardoc-0.1.1-py3-none-any.whl Python 3 none any Details for ragnardoc-0.1.1-py3-none-any.whl

Total release size: 1.6 MB

Release files / ragnardoc-0.1.1.tar.gz

Download URL ragnardoc-0.1.1.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
115aabde9d5616ea811f128d9f1f32e878c1a71b711e8eb7b443c15f418133c8
BLAKE2b-256 checksum
How to use checksums
2b2dd16fdbf43fd1a807dc7c8e4e1564291552ab58bc7282f74c6318b4139873
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release files / ragnardoc-0.1.1-py3-none-any.whl

Download URL ragnardoc-0.1.1-py3-none-any.whl
Size 32.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f724bc3afb3ed3102bca6a0a572ef7878c7c01634ad640c0d3e34315a1876f6d
BLAKE2b-256 checksum
How to use checksums
ebafb961390ef2e3783837cccc896648ea02dbd75527dadffd9b896fac38d6e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Security for ragnardoc 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page