CoolFace
Apppublic

build-small-hackathon/hackathon-advisor

sourceHugging Facemitupdated 3mo agoView on Hugging Face
16likes
helpers.py27 linesDownload Raw Back to tests
1from __future__ import annotations2 3from hashlib import sha2564from pathlib import Path5 6from hackathon_advisor.data import ProjectIndex, normalize_vector, tokenize7 8 9def load_test_index() -> ProjectIndex:10    return ProjectIndex.from_files(11        Path("data/projects.json"),12        Path("data/project_index.json"),13        query_embedder=test_query_embedder,14    )15 16 17def test_query_embedder(text: str) -> tuple[float, ...]:18    vector = [0.0] * 76819    for token in tokenize(text):20        digest = sha256(token.encode("utf-8")).digest()21        index = int.from_bytes(digest[:2], "big") % len(vector)22        sign = 1.0 if digest[2] % 2 == 0 else -1.023        vector[index] += sign24    if not any(vector):25        vector[0] = 1.026    return normalize_vector(vector)27