"""Deterministic fake embeddings for indexing/retrieval tests. Identical text maps to an identical unit vector (cosine distance 0); unrelated texts land near-orthogonal. Semantics are exercised by the evals against the real endpoint — these tests cover the SQL plumbing. """ import hashlib import math import random from app.models import EMBEDDING_DIM def deterministic_embedding(text: str) -> list[float]: seed = hashlib.sha256(text.encode()).digest() rng = random.Random(seed) vector = [rng.uniform(-1.0, 1.0) for _ in range(EMBEDDING_DIM)] norm = math.sqrt(sum(value * value for value in vector)) return [value / norm for value in vector] async def fake_embed(texts: list[str], *, role: str = "embedding") -> list[list[float]]: return [deterministic_embedding(text) for text in texts]