Skip to content

Specifying additional_files for model files in directory adds additional copy of directory to download URL #1938

@zhudotexe

Description

@zhudotexe

Prerequisites

Please answer the following questions for yourself before submitting an issue.

  • I am running the latest code. Development is very rapid so there are no tagged versions as of now.
  • I carefully followed the README.md.
  • I searched using keywords relevant to my issue to make sure that I am creating a new issue that is not already open (or closed).
  • I reviewed the Discussions, and have a new bug or useful enhancement to share.

Expected Behavior

Please provide a detailed written description of what you were trying to do, and what you expected llama-cpp-python to do.

When loading a model from the HF Hub which is:

  • sharded
  • has its GGUF files in a directory

(e.g. https://huggingface.co/unsloth/DeepSeek-R1-GGUF/tree/main/DeepSeek-R1-Q2_K_XS)

and specifying the additional_files to download, Llama.from_pretrained should download all the specified files.

Example code:

model = Llama.from_pretrained(
    repo_id="unsloth/DeepSeek-R1-GGUF", 
    filename="DeepSeek-R1-Q2_K_XS/DeepSeek-R1-Q2_K_XS-00001-of-00005.gguf",
    additional_files=["DeepSeek-R1-Q2_K_XS/DeepSeek-R1-Q2_K_XS-00002-of-00005.gguf", ...],
)

Current Behavior

Please provide a detailed written description of what llama-cpp-python did, instead.

When attempting to load the additional files, it adds an additional directory to the download URL (i.e., attempts to download https://huggingface.co/unsloth/DeepSeek-R1-GGUF/resolve/main/**DeepSeek-R1-Q2_K_XS/**DeepSeek-R1-Q2_K_XS/DeepSeek-R1-Q2_K_XS-00002-of-00005.gguf, emphasis mine, instead of https://huggingface.co/unsloth/DeepSeek-R1-GGUF/resolve/main/DeepSeek-R1-Q2_K_XS/DeepSeek-R1-Q2_K_XS-00002-of-00005.gguf). This is probably caused by this line:

subfolder = str(Path(matching_file).parent)
, but subfolder is not updated in the additional_files branch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions