Heidelberg AICurriculum
Track 19 · Beginner
19.10

AnythingLLM on your bench

Chat with your own documents, on your own machine, with nothing uploaded anywhere

3 lessons 2026-08-13 AI-generated

1Overview

A chat window with a document store behind it, already installed on the bench.

Drop a PDF in, ask questions about it, get answers with the passage they came from. On the bench it is already installed and already pointed at your model, and its vector database is a file on your disk — so a folder of interview transcripts or lecture notes never leaves the machine. → `anythingllm` is the same tool run for a group, on a server, with users and shared workspaces.

This is retrieval-augmented generation with the setup removed: the embedding model, the vector store and the chat are one app, already running. What you learn here is the shape of every RAG system — chunks, embeddings, retrieval, an answer with a citation — with nothing to install. With the bench model selected, a document you add is read on your machine, embedded on your machine, and answered on your machine.

1.2After this chapter you can
Ask questions of your own documents without uploading them anywhere
Understand what a workspace is and why one per subject beats one big pile
See where the vectors live, and what "private" means concretely
1.3When to reach for it

A reading list, a folder of papers, lecture notes, a handbook — anything you would otherwise search by hand.

1.4Key parts

Workspaces separate subjects. Each has its own documents, so answers do not bleed across topics.

1.5Watch out

A 3B model summarises well and reasons weakly. If answers are shallow, switch the provider before blaming the retrieval.

2Lessons 3

2.1 One workspace, three documents, one honest answer

A workspace is a bucket of documents plus a chat. Everything you ask is answered from that bucket, and the app shows which passage it used.

Ask a question your documents can answer, and see the citation.

A workspace per subject. Each one holds its own documents, so answers do not bleed between topics.
  1. Open AnythingLLM from its tile, or localhost:3001. It has no model to choose — the bench set it.
  2. Make a workspace named after the subject, not after you: "Molecular biology seminar", not "docs".
  3. Upload three related PDFs and wait for the embedding to finish — a progress line per file.
  4. Ask something specific. "What does paper two say about the control group?" beats "summarise this".
  • You'll see An answer with the source passage underneath it, from your own files.
  • Takeaway Retrieval is only as good as the question is specific. That is true of every RAG system you will meet.

2.2 Where the documents actually are

AnythingLLM keeps its documents and vectors in its own Docker volume — LanceDB, on your disk. Nothing is sent to a vector database in the cloud.

Do this first One workspace, three documents, one honest answer

Be able to say precisely where a sensitive document goes when you add it here.

  1. The file is copied into the app's volume, not linked from your desktop.
  2. The vectors are computed by the embedding model on the bench and stored next to it.
  3. The only thing that leaves is the text of the passages the app sends to the model — and with the bench model selected, that is a process on your own machine.
  4. Change the provider and that changes. Selecting an EU router means those passages go to Frankfurt. Selecting OpenRouter means they may leave the EU.
  • You'll see A volume called anythingllm-data in docker volume ls, and nothing in any browser network tab going out.
  • Takeaway "Private" is a sentence about where the passages are processed. On the bench, you choose that sentence.

2.3 Ask across several documents, then check what it cited

A workspace answers from every document in it at once, not just the closest one — so a question that spans two files gets an answer stitched from both.

Do this first Where the documents actually are

Ask a question that needs two or three documents at once, then verify the citation instead of trusting it.

  1. In the same workspace, ask something that needs two documents at once — "Where do paper one and paper three disagree about sample size?" rather than a question only one file can answer.
  2. Read the citation under the answer, not just the answer. AnythingLLM names the source file and shows the passage it pulled from — open that passage yourself.
  3. Check whether the passage actually says what the sentence claims. A synthesis answer can blend two retrieved passages into one sentence that neither passage alone supports.
  4. Treat anything the citation doesn't cover as unverified, not as more of the source — that's the boundary between what the documents said and what the model filled in.
  • You'll see An answer drawing from two files, and at least one claim in it you had to narrow or correct after opening the cited passage.
  • Takeaway The citation is what makes an answer checkable — open it, don't just glance at it.

💬 Discuss this chapter

Ask, share, or report — over on the Heidelberg AI community forum.