---
title: "Comment by Ahmet Özel on \"Day 17: pdf_loader.ipynb — ChromaDB, a Retriever, and a Lying Score\" | Hashnode"
description: "\"A lying score\" is the right title, and the specific trap is that cosine distance is not calibrated across queries. A 0.4 on one question and a 0.4 on another d"
url: "https://hashnode.com/posts/day-17-pdf-loader-ipynb-chromadb-a-retriever-and-a-lying-score/6aae8907995f9f3f1a702232/comment/6ab047438bb6af4e322ff417"
---

[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)

[Ahmet Özel](https://hashnode.com/@ahmetozel)

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

"A lying score" is the right title, and the specific trap is that cosine distance is not calibrated across queries. A 0.4 on one question and a 0.4 on another do not mean the same thing, so any absolute threshold you pick from one example will misfire on the next.

What made this debuggable for me was checking two things side by side: the rank of the chunk you know is correct, and whether a plain keyword search finds it. If BM25 returns it at rank 2 and vector search does not see it at all, the problem is the embedding or the index rather than the corpus, and you have eliminated half the search space in about a minute.
