<!-- Generated from use-cases/chat-with-documents.html. Do not edit by hand. -->

> Markdown twin of https://conduitllm.com/use-cases/chat-with-documents.html
> Add PDF, Word, CSV, Markdown, and text files to a Conduit collection, ask questions, and click any answer to see the exact passage it drew on — indexed locally.

---
1. [Conduit](https://conduitllm.com/)
2. [Use cases](https://conduitllm.com/use-cases.html)
3. Documents

Documents

# Chat with your documents, *and see exactly which one answered*

Add your own text, Markdown, CSV, Word, and PDF files to a collection, attach it to a chat, and ask. Conduit searches by meaning and by exact words at once, and every reply names the files it drew on — click one to read the passage itself.

[Download Conduit](https://conduitllm.com/#get) See a worked example

- Text, Markdown, CSV, Word, and PDF
- Hybrid search — by meaning and by exact words
- Every answer cites the passage it used

The problem

You ask an assistant something about your own files, and it answers confidently — with no way to tell whether it read the paragraph that actually matters, an outdated draft, or nothing at all. Pasting the relevant page into the chat window by hand, every time, isn't a workflow. It's a workaround for not being able to trust the answer.

What Documents gives you

## An answer you can check, not just read

Your files, searched properly, with a way back to the source every time.

### Five file types, one collection

Text, Markdown, CSV, Word (`.docx`), and PDF. Drag a file anywhere on the window to add it, or build a collection from the sidebar and attach the whole thing to a chat.

### Found by meaning and by exact words

A vector search and a SQLite full-text search run over the same passages and get fused into one ranking — so a rephrased question and a question that hinges on one exact term both land.

### No separate index to run

The index lives as ordinary rows in the same local SQLite database as your chats — no vector database to install, host, or back up on its own.

How it works

## Three steps, no separate tool

Everything happens inside Conduit — no exporting your files to a third-party indexing service first.

### Build a collection

Open Documents in the sidebar and create a collection. Drag files anywhere on the window to add them, or add text, Markdown, CSV, Word, or PDF files one at a time.

### Attach it to a chat

Pick the collection from the composer for that conversation. The first time you index with a given provider, Conduit asks for consent before sending anything.

### Ask, and check the source

The reply names the files it searched as chips under your question. Click a chip to open the exact passage it used — not a summary, the text itself.

Worked example

## A design question, traced back to the note that answered it

An engineering team keeps four files in one collection: an architecture overview, auth design notes, a runbook for sync backlogs, and an API reference. A new teammate asks why the client retries authentication twice before signing the user out.

Conduit searches all four documents at once — by meaning, so a question that never says "refresh race" still finds the paragraph about it, and by exact words, so an error code like `409 refresh_reused` turns up directly. The reply names the files it drew on and explains both retries from the design notes.

Clicking a cited file doesn't open a summary. It opens the actual passage the answer used, with the file's path on disk shown above it — so checking the answer takes one click, not a search through the original documents.

[How Documents works, in the docs](https://conduitllm.com/docs.html#documents)

Where the data goes

## Two different network trips, not one

Indexing a file and asking a question about it send different things, to different places.

| Step | Sent to |
| --- | --- |
| Indexing with OpenAI, Gemini, or OpenRouter | That provider gets the document's full text, once |
| Indexing with Ollama | Nowhere — embedding runs on your machine |
| Asking a question | Your chat provider gets the retrieved passages, as part of the prompt |

Anthropic doesn't offer an embeddings API, so Claude is never an indexing choice — only a chat one. See [the privacy page](https://conduitllm.com/privacy.html) for every network flow Conduit makes, not just this one.

Limits

## What it does, and what it doesn't

### What it does

- Adds text, Markdown, CSV, Word, and PDF files to collections you control, and searches them by meaning and exact words at once.
- Shows exactly which files an answer drew on, with a click-through to the source passage.
- Parses files on your machine — Conduit has no servers of its own to upload them to.
- Lets you pick the embedding provider, and change your mind: consent is per provider and can be withdrawn from the Documents page.
- Keeps the index in the same local SQLite database as your chats, so there's no separate vector service to run.
- Runs fully on-device when you choose Ollama for both embedding and chat.

### What it doesn't

- Read a scanned PDF with no text layer — there's no OCR step, so such a file yields nothing.
- Let you index with Claude — Anthropic has no embeddings API, so pick OpenAI, Gemini, OpenRouter, or Ollama for that part even if Claude answers the chat.
- Keep a document's text off the network unless you choose Ollama — cloud embedding sends the full text once, by design.
- Encrypt document chunks unless you've turned on encryption at rest — it's off by default, and everything is plaintext until you switch it on.
- Stop at the source excerpt — retrieved passages are sent on to your chat provider as part of the prompt, so that provider's own policies apply to them too.
- Allow a cloud embedding provider while local-only mode is on — Ollama is the only choice Conduit will make in that mode.

## Chatting with your documents — questions, answered plainly

**What file types can I chat with?**

Plain text, Markdown, CSV, Word (`.docx`), and PDF. Drag any of them onto the Conduit window to add it to a collection, or add files one at a time from the Documents section of the sidebar. There is no OCR step, so a scanned PDF with no text layer underneath it can't be read — it simply yields no text.

**Do my documents leave my computer?**

Files are parsed on your machine either way. For the index to work, a document's full text is sent once to the embedding provider you choose — unless you choose Ollama, which embeds on-device and sends nothing. Later, when you ask a question, the passages retrieved from your files are sent to your chat provider as part of the prompt, the same as anything else you type. So a collection is fully on-device only when Ollama does the embedding and a local model answers.

**Why can't I use Claude to index my documents?**

Anthropic doesn't offer an embeddings API, so Claude isn't one of the choices for turning your files into a searchable index. Pick OpenAI, Gemini, OpenRouter, or Ollama for indexing — you can still send the chat itself, and the passages retrieved from your documents, to Claude to answer.

**Can I chat with documents fully offline?**

Yes, with Ollama doing both jobs — embedding your files and answering the chat — running models you already have locally. Turn on local-only mode and Conduit enforces this for you — cloud embedding providers are refused outright, so a collection can't quietly start talking to the internet.

**How does Conduit decide which passage to use?**

Two searches run at once over the same local database — a vector search that matches by meaning, and a SQLite full-text search that matches exact words — and the two rankings are merged by reciprocal rank fusion. That combination catches both a question phrased differently from the source text and a question that hinges on one exact term, like a product code or a name. The files an answer drew on appear as chips under your message — click one to read the passage itself, not a summary of it.

**Is my document index encrypted?**

Only if you've turned on encryption at rest in Settings — it's off by default. With it on, document chunks are encrypted, keyed to your OS keychain, alongside attachments, artifacts, and memory items. With it off, the index sits in the same local database as your chats, unencrypted, protected only by your operating system's own file permissions.

Related

## Other ways people use Conduit

For sensitive work

### An AI assistant that doesn't phone home

No telemetry, no account, local storage — and the same caveats about document embedding and retrieval, spelled out in full.

[Keep it private](https://conduitllm.com/use-cases/private-ai.html) For local-model users

### Local models, with a real app around them

Ollama or LM Studio for the chat, and for the embedding step too — a fully on-device way to search your own files.

Run models locally For heavy AI users

### Pay per token, not per seat

Your own key for the chat provider and, separately, for whichever service embeds your documents.

Bring your own key

## Ask your own files, and see what answered

Free, open source, and running on your own machine before your first collection exists.

[Download Conduit](https://conduitllm.com/#get) [See every Documents detail](https://conduitllm.com/features.html#documents)

A release candidate: installers aren't OS code-signed yet, so expect a SmartScreen or Gatekeeper prompt on first launch.
