---
title: "Comment by Mihai_LeanZero on \"Day 17: pdf_loader.ipynb — ChromaDB, a Retriever, and a Lying Score\" | Hashnode"
description: "This is the exact bug I'd expect and most writeups skip it. Good catch showing the raw distances instead of just the fix. One thing worth adding: 1 - distance o"
url: "https://hashnode.com/posts/day-17-pdf-loader-ipynb-chromadb-a-retriever-and-a-lying-score/6aae8907995f9f3f1a702232/comment/6aaeddd9ae73beedbe30dcf2"
---

[Discussion](https://hashnode.com/posts/day-17-pdf-loader-ipynb-chromadb-a-retriever-and-a-lying-score/6aae8907995f9f3f1a702232)

Comment [Day 17: pdf\_loader.ipynb — ChromaDB, a Retriever, and a Lying Score](https://hashnode.com/posts/day-17-pdf-loader-ipynb-chromadb-a-retriever-and-a-lying-score/6aae8907995f9f3f1a702232)

[Mihai\_LeanZero](https://hashnode.com/@mihaileanzero)

[Sep 19](https://hashnode.com/posts/day-17-pdf-loader-ipynb-chromadb-a-retriever-and-a-lying-score/6aae8907995f9f3f1a702232/comment/6aaeddd9ae73beedbe30dcf2)

This is the exact bug I'd expect and most writeups skip it. Good catch showing the raw distances instead of just the fix. One thing worth adding: 1 - distance only looked like similarity because MiniLM happens to emit unit-length vectors. That's a property of that model, not of Chroma or your retriever code. Swap embedding models later and if the new one isn't reliably unit-norm, the scores don't break loudly, they just get quietly worse. Normalizing embeddings yourself right after generation, even when the model already does it, means that failure mode never comes back.
