Skip to content

Qdrant/bm25 refetches from the Hub when fully cached (offline probe ignores the mock model_file) #675

Closed

Description

@codechrl

What happened: On fastembed >=0.7.4, loading Qdrant/bm25 with a fully populated cache (HF_HUB_OFFLINE=1 or local_files_only=True) still triggers a live Hugging Face Hub fetch instead of resolving offline.

Why: bm25 is a mock model with model_file "mock.file" (no real weight file). The offline cache probe in ModelManagement.download_model requires the model_file to exist on disk; "mock.file" is never downloaded, so the check is always False and bm25 falls through to the network even when every real additional_files stop-word list is cached. #577 fixed the general cached case but not this mock-model path.

Repro: cache Qdrant/bm25, set HF_HUB_OFFLINE=1, load it. A Hub request is still attempted.

Activity

  1. joein commented on Oct 2, 2026

    @joein
    Member

    Thanks for the detailed report. This is fixed on main by #728.

    Qdrant/bm25 now uses the repo's config.json as its model_file instead of mock.file, so the cache check finds a file that's actually on disk. #728 also removed tamil.txt from additional_files. The Hub repo doesn't have that file, so listing it would have kept failing the check.

    I tested it with a fully cached model and all network connections blocked. On main, Qdrant/bm25 loads from the cache with no network requests in all three modes: HF_HUB_OFFLINE=1, local_files_only=True, and the defaults. Before #728, the first two failed with Could not load model Qdrant/bm25 from any source., and the default mode went to the Hub even though the cache was full.

    The fix isn't in 0.8.1 and will ship in the next release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions