What happens to a file you upload
The same five steps run for a teacher’s course library and for a student’s own notes. Nothing in them trains a model; everything in them stays in the EU.
- Step 1Text is extracted
PDF, Word, PowerPoint and Excel are read without any AI. Images and scanned pages go through Pixtral, a vision model, which transcribes what it sees.
unpdf · officeparser · Pixtral 12B
- Step 2The text is split into fragments
About 800 tokens each, cut on paragraph or sentence boundaries, with a 100-token overlap so an idea is never halved between two fragments.
~3,200 characters, 400 overlap
- Step 3Each fragment gets an embedding
mistral-embed turns the fragment into a list of 1,024 numbers that captures what it is about. Fragments on the same topic end up with similar lists, whatever the wording or the language.
mistral-embed · 1,024 dimensions · EU
- Step 4Text and vector are stored together
In our own Postgres in Frankfurt, scoped to your course and your institution. A vector index (HNSW, cosine distance) makes the search instant.
pgvector · row-level security
- Step 5A question finds its sources
The question becomes a vector too. The 8 closest fragments of your course are handed to Mistral Large as source material, and the answer cites the file in brackets.
top 8 by cosine · Mistral Large
Embeddings, explained
An embedding is a list of 1,024 numbers that summarises what a piece of text is about. Two texts on the same idea get similar lists even if they share no words. That lets Rubrica search by meaning instead of by keyword.
Every dot is a fragment of a course document, placed by meaning. The highlighted dot is a question. The lines go to the eight fragments the assistant reads before answering. Real vectors have 1,024 dimensions; three of them are drawn here.
What it does
- Finds the paragraph that answers “how is free cash flow calculated?” even when the slide says “caja libre”.
- Works across languages: English material, Spanish questions.
- Stays inside your course. A fragment from another course or another institution is never a candidate.
What it is not
- It does not write. Mistral Large writes; the embedding only finds.
- It does not understand. It measures how close two meanings are, nothing more.
- It does not keep your text. The text lives in the database; the vector is an index that points back to it.
- It is not keyword search. For “article 14.3” or an exact figure, the stored text is used directly.
The models
All three come from Mistral AI (Paris) and are served from EU infrastructure under API terms that exclude training on customer data. We do not use OpenAI, Anthropic or Google models for your learning content.
| Model | What it does in Rubrica | Where it runs |
|---|---|---|
| Mistral Large | Writing and reasoning: assistant answers, quizzes, rubrics, 360 reports, slide content, live-class advice. | Mistral AI, served from the EU |
| Pixtral 12B | Reading images and scanned pages attached to a course or a student's notes. | Mistral AI, served from the EU |
| mistral-embed | Turning fragments and questions into vectors so the right paragraph can be found. | Mistral AI, served from the EU |
Peer and jury ratings never reach any model as individual votes. Only aggregates leave the database, by design of the schema itself.
Why it is useful for a teacher
- Create from your own material. Quizzes, evaluation criteria, a course page and slide decks (exportable to PPTX) written from your readings, not from the internet.
- Measure the room while you teach. Students pulse from their phones; the assistant reads the signal and suggests when to slow down or move on.
- Evaluate objectively. Gradebook, project jury with anonymous aggregates, and 360 reports that combine quizzes, peer ratings and rubrics.
- Answers you can check. Every grounded answer names the file it came from.
Why it is useful for a student
- Your notes become a tutor. Upload your own notes and ask questions; the answers come from your material, not from a generic model.
- Exams and flashcards from what you actually studied. Generated from your documents, scoped to you.
- Private by default. Your notes are yours alone unless you decide to publish them to the community.
- EU only, always. Rubric Student runs in a mode that refuses any non-EU model, even as a fallback.
Library and grounded answers
The course Library, chat attachments and answers grounded in your documents are part of the Pro and Institution plans. Institutions in the private beta have them included. Every indexed fragment is stored in your institution’s space in our European database, and nothing about it is shared with other institutions or used to improve any model.
Database in Frankfurt, Germany AI inference in the EU Never used for training
The guarantees behind all of this
Where your data lives, who can see it, and what we commit to in writing.