↓ Skip to main content

Ragnhild

Ragnhild Is an AI
#

Ragnhild is an AI system. She answers questions about this site using its own content: the blog posts, the project pages and the about page. You talk to her through the “Ask Ragnhild” button in the corner of every page.

Before you ask, it is worth knowing her limits:

  • The answers are generated by a language model and may be inaccurate. Every answer drawn from the site links to the pages it came from, so you can check it against what I actually wrote.
  • She only knows this site. Ask about anything I have not written about and she says so instead of guessing.
  • She answers in English. A question asked in another language is understood, and the answer starts with “Although I understand your question, I am only able to answer in English:”.
  • Each question is answered on its own, so she cannot follow up on an earlier answer.

What Ragnhild Can See
#

Only the published pages of this site. Every time I deploy the site, Hugo builds a feed of the published pages, and Ragnhild syncs her knowledge from it. Drafts and posts dated in the future are not in the feed, so she cannot see them. This page is in the feed too, so you can ask her about it.

She cannot see anything about you, the page you are on, or anything you have asked before.


What Happens to Your Question
#

Ragnhild stores nothing. Each question is sent to Mistral AI, a French company, to be embedded and answered. Mistral processes it as our data processor under the Data Processing Addendum in its terms, with model training switched off, and deletes it after 30 rolling days of abuse monitoring (Mistral Privacy Policy, section 5).

Mistral prioritises EU-based providers but may use non-EU subprocessors under contractual safeguards; its list is on Mistral’s Trust Center. Because Ragnhild keeps nothing, there is nothing afterwards that links a question to a visitor.


What Is on Ragnhild’s Server
#

“Stores nothing” means nothing about you. The only thing on her server is this site:

  • The portfolio’s own content, as embedding vectors and chunk text, in the two knowledge base files. This is the site’s public content — nothing private, nothing user-generated.

What Ragnhild does not store:

  • Visitor questions. Each /ask is stateless — one question in, one answer out, nothing retained.
  • Visitor IP addresses, timestamps, or answers. The HTTP server’s request logging is switched off, and Caddy keeps no access log. The rate limit counts requests per IP in memory for one minute and never writes them anywhere.
  • Conversation history. Single-turn only; no session state.
  • Anything on the visitor’s device. No cookies, no browser storage.

The rate limit is there so nobody can run up my Mistral bill: 10 questions a minute per visitor, and at most 500 characters per question. Your earlier questions and answers stay visible in the chat window while the page is open. That is only the page showing them. Ragnhild never sees them again, and they are gone when you leave.


Please Leave Out Personal Information
#

Your question passes through Mistral, as described above, so please don’t put personal information in it, yours or anyone else’s. Ragnhild only knows what is on this site, so she has no use for it anyway.


Who Is Responsible
#

I am. This is my personal portfolio, and I decide what Ragnhild does with your question (in GDPR terms, I am the controller and Mistral is the processor). You can read more about me on the about page.

If you have a question about Ragnhild or about your data, you can reach me on Codeberg, either through my profile or by opening an issue in the Ragnhild repository.


How It Works
#

Ragnhild is a retrieval-augmented generation (RAG) service I built on the Mistral ecosystem. When you ask a question:

  1. Mistral Moderation 2 checks the question first. A blocked question gets a polite refusal.
  2. mistral-embed turns the question into a vector.
  3. Ragnhild compares that vector with the vectors of every chunk of this site’s content and picks the closest chunks.
  4. Ministral 3 3B writes the answer from those chunks only, and reports which of them it used.
  5. The answer comes back with links to the pages it drew on.

There is no database. The whole knowledge base is two files on my server, and it is updated after every deploy of this site. I have written more about how Ragnhild came about in Ragnhild Remembers Nothing.

The code, including the full data transparency notice this page is based on, is on Codeberg: