Fix: Normalze all database distances to score in [0, 1]

This commit is contained in:
Marko Henning
2025-03-25 16:46:14 +01:00
parent 8aa6dade41
commit 94d9d3d590
6 changed files with 22 additions and 25 deletions

View File

@@ -278,7 +278,9 @@ class PgvectorClient:
for row in results:
qid = int(row.qid)
ids[qid].append(row.id)
distances[qid].append(row.distance)
# normalize and re-orders pgvec distance from [2, 0] to [0, 1] score range
# https://github.com/pgvector/pgvector?tab=readme-ov-file#querying
distances[qid].append((2.0 - row.distance)/2.0)
documents[qid].append(row.text)
metadatas[qid].append(row.vmetadata)