Building a personal AI knowledge base is three jobs: collecting the right material, turning it into something searchable, and asking questions in a way that forces the system to show its evidence. Most guides skip the first and third, which is why most attempts end with a chatbot that confidently invents your own decisions back at you.
Step 1: Gathering your private data and notes
The instinct is to upload everything. Resist it. Retrieval quality degrades when your index is full of duplicates, meeting invites and half-finished drafts — every junk passage is a competitor for the five slots the model actually sees.
Start with material that changed a decision:
- Decision records and strategy notes from the last 12 months. These are the highest-value passages in any personal archive.
- Project specs that were actually built, not the 14 drafts before them.
- Research you would cite in an argument — papers, long articles, competitor notes.
- Documents you have looked up twice: contracts, policies, invoices, onboarding material.
Exporting from the usual suspects
Notion: Settings → Export all workspace content → Markdown & CSV, include subpages. Expect a zip of folders; flatten it before uploading.
Obsidian: your vault is already Markdown — copy the folder and exclude anything in .obsidian/, attachments you do not need, and daily notes you never revisit.
Apple Notes / Google Keep: export to PDF or HTML per note, then consolidate. This is the tedious one; do the twenty notes that matter rather than all four hundred.
PDFs: check the text layer first. Open the file and try to select a sentence. If you cannot, it is an image — run OCR before uploading, or the index will be empty.
Step 2: Choosing the right AI model and vector indexing
Two models are involved, and conflating them is the most common conceptual mistake.
- The embedding model turns text into vectors. It must be fast and cheap, and it must be the same model for ingestion and for queries. Changing it later means re-embedding everything.
- The generation model writes the answer from retrieved passages. This is the one you can swap freely.
Sizing your passages
Chunk at roughly 300–400 tokens with a small overlap. Too small and a passage loses the context that makes it meaningful; too large and one irrelevant paragraph drags the whole chunk into the prompt. Splitting on paragraph or heading boundaries beats splitting on a fixed character count, because a passage that starts mid-sentence retrieves badly.
Keep the original text next to the vector. Vectors are for finding; text is for prompting and for showing the user what was used.
Where the index lives
| Option | Setup effort | Privacy | Best for |
|---|---|---|---|
| Hosted vector database (e.g. Cloudflare Vectorize) | Low | Cloud, namespace-isolated | Fast start, multi-device |
| Local vector store (sqlite-vec, Chroma) | Medium | Stays on your disk | Private archive, offline |
| No index — paste context each time | None | Whatever the chat app does | One-off questions only |
Step 3: Setting up long-term memory and custom instructions
"Memory" in a personal AI is mostly a retrieval decision. What you want is that last month's notes are still in the index and get retrieved without you mentioning them. The instruction layer matters just as much: without it, the model fills gaps with plausible invention.
Use an instruction set that forces grounding:
- Answer only from the provided context.
- Cite every claim with the passage number.
- If the answer is not in the context, say so and name the file that would likely contain it.
- Lead with the answer; details second.
We publish the exact prompt on the templates page — copy it, it is the difference between a demo and a tool you trust.
Cloud vs local: which protects your privacy better?
Local wins on privacy by definition: if nothing leaves the machine, no policy can leak it. The costs are setup time, hardware, and answer quality on tasks that need long multi-document synthesis.
Cloud can be perfectly defensible if three things are true: your content is not used for training, it is stored in a namespace only you can query, and deletion actually removes the passages and vectors. Ask for those three in writing. If a vendor cannot answer, that is your answer.
For a full local build, read the local private AI setup guide. For the indexing details that make or break retrieval quality, read how to train AI on your notes.
Free tools to get started today
- The brain tool on this site — upload a PDF or Markdown file and ask a question. Free tier: 100 answers, 20 documents a month.
- Ollama — run an embedding model and a chat model locally in one command each.
- Obsidian — free Markdown home for the notes you are going to index.
- Chroma or sqlite-vec — local vector storage, both open source.
Start with five documents and one question you already know the answer to. If the system cannot find the passage you know is there, fix chunking before you add anything else.
