protoRAG⁺

Private RAG for your documents

1 Connect the backend

2 Continue with Google or as guest

or

Guests get a private workspace tied to this browser. Sign in to sync across devices.

protoRAG⁺
Documents (preview by clicking)
Backend not connected. Start your local backend or set the Backend URL.
Guest mode: your chat conversations are temporary and won't be saved.
Disclaimer: protoRAG⁺ can make mistakes. Tip: Type @filename to target a document  ·  Shift+Enter for new line

Settings

Configuration & Storage

Running locally? Use http://localhost:8000 after docker compose -f docker-compose.local.yml up. Tunneling? Paste your tailscale / cloudflared URL. Blank = same-origin.
Path on the backend host where vector DB and documents are stored. Will be created if it doesn't exist.
Leave blank or "none" for local providers

Diagnostics

Provider quick-reference

Provider Default base URL API key
Ollamahttp://localhost:11434none
LM Studiohttp://localhost:1234lm-studio
LiteLLMhttp://localhost:4000any
OpenAIhttps://api.openai.com/v1sk-…
Anthropicembed service URL (e.g. Ollama)sk-ant-…
Customyour endpointas needed

ℹ️ You don't need to add /v1 for Ollama or LM Studio — the backend appends it automatically.

Documentation

How protoRAG⁺ works

Dynamic RAG

protoRAG⁺ is a dynamic RAG system: each chat session has its own vector index that you can grow, shrink, or empty at any time. Retrieval automatically engages or disengages based on whether the session currently holds any documents — you never flip a mode switch yourself.

Quick Start — run locally with your own Ollama

Use the deployed website with your own LLM and your own storage. Run the backend on your machine in one command — your documents and embeddings stay on your disk; the backend talks to Ollama on localhost.

  1. Install Ollama and pull a model: ollama pull gemma3
  2. Start the protoRAG⁺ backend with Docker:
    docker run -d --name protorag \
      -p 8000:8000 \
      -v ~/protorag-data:/app/data \
      ghcr.io/himmng/protorag-:latest
  3. Open Settings on this page and set:
    • Remote URL → http://localhost:8000 (click Test to verify)
    • Base URL → http://localhost:11434
    • Provider → Ollama, then fill in your model names
  4. Upload documents and chat. Everything stays on your machine — stop the container any time with docker stop protorag.

No Docker? Clone the repo and run pip install -r requirements.txt && python -m backend instead. On Chrome, if the Test button fails, enable Insecure origins treated as secure for the site at chrome://flags, or use Firefox.

1 · Session lifecycle

A new session starts in chat-only mode. Messages go straight to the LLM with no retrieval — useful for plain conversation, brainstorming, or coding help.

The moment you upload your first document, the session promotes itself to RAG mode. Every subsequent question is answered using context retrieved from your documents.

Delete documents one by one and the index shrinks live. Once all documents are removed, the session quietly drops back to chat-only mode — same chat, same history, no retrieval.

The chat / RAG indicator next to each session in the sidebar reflects this state.

2 · Document workflow

Upload one at a time or select many files at once — both work. Files are chunked, embedded, and appended to the session's vector store on the fly.

Add more anytime. New uploads merge into the existing index without rebuilding — ask questions immediately after.

Delete individually from the document list and only that file's chunks are removed from the index. Other documents stay searchable.

Use @filename in your message to restrict retrieval to specific documents in the session.

3 · Per-session isolation

Every session has its own vector collection and document folder under ./data/. Documents uploaded in one session are never visible to another — switch sessions to switch corpora.

Tips

  • If you change the embedding model in Settings, re-upload documents — old vectors won't match the new model.
  • Supported formats: txt, csv, pdf, json, yaml, docx, xlsx, pptx, and more.
  • Configure provider, models, and remote backend URL from the Settings panel.