Atovika waste-research retrieval
This repository documents the retrieval setup that serves the academic-paper corpus of atikova.com — not a set of weights we trained, but the configuration, prompts and evaluation behind the answers, published so the numbers can be checked.
Index
| Field | Value |
|---|---|
| Embedding model | @cf/baai/bge-m3 (1024 dims, multilingual) |
| Reranker | @cf/baai/bge-reranker-base |
| Generation | @cf/mistralai/mistral-small-3.1-24b-instruct |
| Corpus | 226 papers · 121 standards · 119 posts · 1252 organisations |
| Documents indexed | 466 research documents plus the site knowledge base |
| Store | Cloudflare KV, brute-force cosine, shortlist of 24 reranked to 6 |
Retrieval contract
- The question is embedded with the query prefix of the model above.
- Cosine over every chunk produces a shortlist of 24 — deliberately wide, because a vague question otherwise crowds out the passage that answers it.
- A cross-encoder reranks those 24 and the top 6 become the context.
- The answer model may only use the context, and every claim carries the id of the passage it came from. If the context does not contain the answer, it says so.
Known limits, stated in public
- The organisation directory is indexed as aggregates, not as a thousand separate rows; retrieval should not spend six context slots on research institutes.
- Papers whose abstracts are missing in OpenAlex are indexed as title-level records and say so in the body.
- Turkish renderings of the newest posts are model-written from the abstract and labelled as such in the post itself.
Evaluation
The corpus is checked by a synchronisation test that compares the KV tables, the vector index and the Hugging Face artifacts, and by a smoke suite of 100+ live checks against production. Both are part of the repository.