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.
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 & disownThe 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.
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.yamlOnce done, you can add entries to your config.yaml to add supported ingestion plugins (see below).
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:
To configure a connection to AnythingLLM, follow these steps:
- Download and install the desktop app from their site: https://anythingllm.com/desktop
- In the app, go to settings (wrench icon in the bottom panel of the left-hand sidebar)
- Under
Admin -> General Settings, toggle onEnable network discoveryand wait for the app to reload - Under
Tools, selectDeveloper API - Create a new API Key
- Add the plugin to your config (default location
$HOME/.ragnardoc/config.yaml)
ingestion:
plugins:
- type: anything-llm
config:
apikey: <YOUR API KEY>To configure a connection to Open WebUI, follow these steps:
- 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- Open the UI in a browser tab (http://localhost:8080 by default)
- Click on the user icon (top right) and select
Settings - Click
Accounton the left panel of the settings view - Click
Show(right side) forAPI keys - Click
+ Create new secret keyunderAPI Keyto create a new API Key - Click the copy icon to copy the api key
- Add the plugin to your config (default location
$HOME/.ragnardoc/config.yaml)
ingestion:
plugins:
- type: open-webui
config:
apikey: <YOUR API KEY>- Per-ingestor inclusion / exclusion
- Abstract scrapers to allow non-local scraping
