# Building an AI chat assistant for my site, part 1

I'm starting a new project: an AI chat assistant for this site that can answer visitor questions about me directly, my background, my projects, my certifications, instead of leaving people to scroll through pages to piece it together themselves. If someone lands here wondering "has this person worked with Kubernetes?" or "what's the story behind the hangman game?", they should be able to just ask.

This isn't going to be a generic chatbot bolted onto the site. It's a full RAG (Retrieval-Augmented Generation) setup: real content, retrieved and grounded, not an LLM improvising from a system prompt. The knowledge base is my blog articles plus a small structured "about me" profile I'll build specifically for this, partly from static content already on the site, and partly by having Claude interview me directly to pull out the facts a page of prose doesn't naturally capture. Every answer has to come from something actually retrieved, not from the model's imagination.

The architecture reuses the stack already running this blog: Azure Cosmos DB stays the single source of truth for content and its embeddings, and Cloudflare, Workers AI and Workers KV, does the serving, acting as a cache in front of Cosmos rather than a second database to keep in sync. Same instinct for reusing what's already there that shaped the rest of this blog's infrastructure.

The first step, before any application code, is checking whether the same embedding model, run locally through Ollama on my Intel GPU via IPEX, actually produces the same embeddings as that model hosted on Cloudflare. That's the subject of the next post.

---

*Co-authored with Claude.*

If this was useful, [you can buy me a coffee](https://ko-fi.com/p47k0).

New articles: [follow via RSS](https://blog.koorevaar.com/feed.xml).
