• Stefy Lanza (nextime / spora )'s avatar
    embeddings: detecting the head is not having it (v0.3.85) · 4dbe7f0c
    Stefy Lanza (nextime / spora ) authored
    0.3.84 made `_is_bge_m3` see `sparse_linear.pt` on a machine that had
    never downloaded the repo, so the multi-vector backend was finally
    selected on a pod. It then loaded the heads with the same cache-only
    lookup, and `from_pretrained` does not fetch them: it pulls the config
    and the weights the config NAMES, and bge-m3's sparse/colbert heads are
    plain tensors sitting beside the model. So they were still absent, and
    the request came back
    
        HTTP 400  "This model has no sparse head."
    
    which reads as a property of the MODEL rather than of the disk.
    
    `_fetch_repo_file` is the companion to `_resolve_repo_file` for files
    that have to be READ rather than merely detected: cache first, then a
    real hf_hub_download. Offline short-circuits, a local directory is the
    whole answer, and a failure returns None -- the dense path, which the
    caller already handles -- because a head that cannot be fetched must not
    turn into a failed load.
    
    Both halves of this were the same mistake made twice: a cache-only
    helper answering a question about existence on a machine whose cache is
    empty by design. A rented pod is that machine every single time.
    
    Needs a coderai-embeddings rebuild: this code runs on the pod.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01HXRMe9ZPUQCCCtBai9uqt3
    4dbe7f0c
test_embedding_repo_file_detection.py 8.13 KB