Commit 664f031f4 for llama.cpp

commit 664f031f492f7c14a147cfe6372e3915abacf731
Author: Xuan-Son Nguyen <son@huggingface.co>
Date:   Wed Nov 11 21:17:16 2026 +0100

    ci: move test models to ggml-org-dev (#32096)

    * ci: move test models to ggml-org-dev

    * fix test spec

diff --git a/.github/workflows/build-ibm.yml b/.github/workflows/build-ibm.yml
index e896b8701..67ca8b683 100644
--- a/.github/workflows/build-ibm.yml
+++ b/.github/workflows/build-ibm.yml
@@ -100,7 +100,7 @@ jobs:
         run: |
           cd build
           echo "Fetch llama2c big-endian model"
-          wget https://huggingface.co/ggml-org/models/resolve/main/tinyllamas/stories260K-be.gguf
+          wget https://huggingface.co/ggml-org-dev/stories260K/resolve/main/stories260K-be.gguf
           ./bin/llama-completion -m stories260K-be.gguf -p "One day, Lily met a Shoggoth" -n 500 -c 256

       - name: Test quantize (s390x)
diff --git a/cmake/download-models.cmake b/cmake/download-models.cmake
index de252906a..57c141265 100644
--- a/cmake/download-models.cmake
+++ b/cmake/download-models.cmake
@@ -2,11 +2,11 @@ get_filename_component(DEST_DIR "${DEST}" DIRECTORY)
 file(MAKE_DIRECTORY "${DEST_DIR}")

 if(NOT EXISTS "${DEST}")
-    message(STATUS "Downloading ${NAME} from ggml-org/models...")
+    message(STATUS "Downloading ${NAME} from ${REPO}...")
 endif()

 file(DOWNLOAD
-    "https://huggingface.co/ggml-org/models/resolve/main/${NAME}?download=true"
+    "https://huggingface.co/${REPO}/resolve/main/${NAME}?download=true"
     "${DEST}"
     TLS_VERIFY ON
     EXPECTED_HASH ${HASH}
diff --git a/examples/eval-callback/CMakeLists.txt b/examples/eval-callback/CMakeLists.txt
index 96e1e1b35..0a9070a24 100644
--- a/examples/eval-callback/CMakeLists.txt
+++ b/examples/eval-callback/CMakeLists.txt
@@ -6,15 +6,16 @@ target_compile_features(${TARGET} PRIVATE cxx_std_17)

 if(LLAMA_BUILD_TESTS)
     if(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "s390x")
-        set(MODEL_NAME "tinyllamas/stories15M-q4_0.gguf")
+        set(MODEL_NAME "stories15M-q4_0.gguf")
         set(MODEL_HASH "SHA256=66967fbece6dbe97886593fdbb73589584927e29119ec31f08090732d1861739")
     else()
-        set(MODEL_NAME "tinyllamas/stories15M-be.Q4_0.gguf")
+        set(MODEL_NAME "stories15M-be.Q4_0.gguf")
         set(MODEL_HASH "SHA256=9aec857937849d976f30397e97eb1cabb53eb9dcb1ce4611ba8247fb5f44c65d")
     endif()
     set(MODEL_DEST "${CMAKE_BINARY_DIR}/${MODEL_NAME}")
     set(TEST_TARGET test-eval-callback)
     add_test(NAME ${TEST_TARGET}-download-model COMMAND ${CMAKE_COMMAND}
+        -DREPO=ggml-org-dev/stories15M
         -DDEST=${MODEL_DEST}
         -DNAME=${MODEL_NAME}
         -DHASH=${MODEL_HASH}
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index d0eb01daf..36e48a0f2 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -161,7 +161,7 @@ if (NOT WIN32)
         NAME test-tokenizers-ggml-vocabs
         LABEL behavior
         WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-        ARGS https://huggingface.co/ggml-org/vocabs ${PROJECT_SOURCE_DIR}/models/ggml-vocabs
+        ARGS https://huggingface.co/ggml-org-dev/vocabs ${PROJECT_SOURCE_DIR}/models/ggml-vocabs
     )
 endif()

@@ -325,15 +325,16 @@ llama_build_and_test(
 )

 if (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "s390x")
-    set(MODEL_NAME "tinyllamas/stories15M-q4_0.gguf")
+    set(MODEL_NAME "stories15M-q4_0.gguf")
     set(MODEL_HASH "SHA256=66967fbece6dbe97886593fdbb73589584927e29119ec31f08090732d1861739")
 else()
-    set(MODEL_NAME "tinyllamas/stories15M-be.Q4_0.gguf")
+    set(MODEL_NAME "stories15M-be.Q4_0.gguf")
     set(MODEL_HASH "SHA256=9aec857937849d976f30397e97eb1cabb53eb9dcb1ce4611ba8247fb5f44c65d")
 endif()
 set(MODEL_DEST "${CMAKE_BINARY_DIR}/${MODEL_NAME}")

 add_test(NAME test-download-model COMMAND ${CMAKE_COMMAND}
+    -DREPO=ggml-org-dev/stories15M
     -DDEST=${MODEL_DEST}
     -DNAME=${MODEL_NAME}
     -DHASH=${MODEL_HASH}
diff --git a/tests/test-quantize-be.sh b/tests/test-quantize-be.sh
index ba2d923d2..2840b79d4 100755
--- a/tests/test-quantize-be.sh
+++ b/tests/test-quantize-be.sh
@@ -34,7 +34,7 @@ if [ "$(uname -m)" != s390x ]; then
     exit 1
 fi

-MODEL_URL=https://huggingface.co/ggml-org/models/resolve/499bc8821c6b12b4e53c5bffcb21ec206f212d81/tinyllamas/stories15M.gguf
+MODEL_URL=https://huggingface.co/ggml-org-dev/stories15M/resolve/main/stories15M.gguf
 MODEL_SHA256=61b50d457809a5194818fd22e6724b456cd7bb9a6264c52c8110684c53f3704a
 F32_SHA256=55174d7a7d46f29fc6be163ccb040330c357aa727b22ec13e2c5d713e5ba5b76

diff --git a/tools/server/tests/README.md b/tools/server/tests/README.md
index 7ed02d22e..d0f8b7938 100644
--- a/tools/server/tests/README.md
+++ b/tools/server/tests/README.md
@@ -117,7 +117,7 @@ Example using `gdb`:
 $ gdb --args ../../../build/bin/llama-server \
     --host 127.0.0.1 --port 8080 \
     --temp 0.8 --seed 42 \
-    --hf-repo ggml-org/models --hf-file tinyllamas/stories260K.gguf \
+    --hf-repo ggml-org-dev/stories260K --hf-file stories260K.gguf \
     --batch-size 32 --no-slots --alias tinyllama-2 --ctx-size 512 \
     --parallel 2 --n-predict 64
 ```
diff --git a/tools/server/tests/unit/test_basic.py b/tools/server/tests/unit/test_basic.py
index b9e9f84f6..423a7c326 100644
--- a/tools/server/tests/unit/test_basic.py
+++ b/tools/server/tests/unit/test_basic.py
@@ -98,8 +98,8 @@ def test_server_slots():
 def test_load_split_model():
     global server
     server.offline = False
-    server.model_hf_repo = "ggml-org/models"
-    server.model_hf_file = "tinyllamas/split/stories15M-q8_0-00001-of-00003.gguf"
+    server.model_hf_repo = "ggml-org-dev/stories15M"
+    server.model_hf_file = "split/stories15M-q8_0-00001-of-00003.gguf"
     server.model_alias = "tinyllama-split"
     server.start()
     res = server.make_request("POST", "/completion", data={
diff --git a/tools/server/tests/unit/test_compat_anthropic.py b/tools/server/tests/unit/test_compat_anthropic.py
index 13d077445..220417745 100644
--- a/tools/server/tests/unit/test_compat_anthropic.py
+++ b/tools/server/tests/unit/test_compat_anthropic.py
@@ -11,7 +11,7 @@ server: ServerProcess
 def get_test_image_base64() -> str:
     """Get a test image in base64 format"""
     # Use the same test image as test_vision_api.py
-    IMG_URL = "https://huggingface.co/ggml-org/tinygemma3-GGUF/resolve/main/test/11_truck.png"
+    IMG_URL = "https://huggingface.co/ggml-org-dev/tinygemma3-GGUF/resolve/main/test/11_truck.png"
     response = requests.get(IMG_URL)
     response.raise_for_status()
     return base64.b64encode(response.content).decode("utf-8")
diff --git a/tools/server/tests/unit/test_lora.py b/tools/server/tests/unit/test_lora.py
index 00b2f245f..e21d9048b 100644
--- a/tools/server/tests/unit/test_lora.py
+++ b/tools/server/tests/unit/test_lora.py
@@ -3,7 +3,7 @@ from utils import *

 server = ServerPreset.stories15m_moe()

-LORA_FILE_URL = "https://huggingface.co/ggml-org/stories15M_MOE/resolve/main/moe_shakespeare15M.gguf"
+LORA_FILE_URL = "https://huggingface.co/ggml-org-dev/stories15M_MOE/resolve/main/moe_shakespeare15M.gguf"

 @pytest.fixture(autouse=True)
 def create_server():
diff --git a/tools/server/tests/unit/test_router.py b/tools/server/tests/unit/test_router.py
index 98f6aab9e..bd5fb785d 100644
--- a/tools/server/tests/unit/test_router.py
+++ b/tools/server/tests/unit/test_router.py
@@ -27,7 +27,7 @@ def test_router_props():
 @pytest.mark.parametrize(
     "model,success",
     [
-        ("ggml-org/tinygemma3-GGUF:Q8_0", True),
+        ("ggml-org-dev/tinygemma3-GGUF:Q8_0", True),
         ("non-existent/model", False),
     ]
 )
@@ -109,7 +109,7 @@ def _load_model_and_wait(
 def test_router_unload_model():
     global server
     server.start()
-    model_id = "ggml-org/tinygemma3-GGUF:Q8_0"
+    model_id = "ggml-org-dev/tinygemma3-GGUF:Q8_0"

     _load_model_and_wait(model_id)

@@ -125,9 +125,9 @@ def test_router_models_max_evicts_lru():
     server.start()

     candidate_models = [
-        "ggml-org/tinygemma3-GGUF:Q8_0",
-        "ggml-org/test-model-stories260K:F32",
-        "ggml-org/test-model-stories260K-infill:F32",
+        "ggml-org-dev/tinygemma3-GGUF:Q8_0",
+        "ggml-org-dev/test-model-stories260K:F32",
+        "ggml-org-dev/test-model-stories260K-infill:F32",
     ]

     # Load only the first 2 models to fill the cache
@@ -150,9 +150,9 @@ def test_router_models_max_evicts_lru():

 # server_lru_sched tests (relying on LLAMA_SERVER_DEBUG_FAKE_TIMING)

-MODEL_A = "ggml-org/tinygemma3-GGUF:Q8_0"
-MODEL_B = "ggml-org/test-model-stories260K:F32"
-MODEL_C = "ggml-org/test-model-stories260K-infill:F32"
+MODEL_A = "ggml-org-dev/tinygemma3-GGUF:Q8_0"
+MODEL_B = "ggml-org-dev/test-model-stories260K:F32"
+MODEL_C = "ggml-org-dev/test-model-stories260K-infill:F32"


 def _tokenize(model_id: str, timeout: float | None = DEFAULT_REQUEST_TIMEOUT) -> ServerResponse:
@@ -388,7 +388,7 @@ def test_router_no_models_autoload():
     global server
     server.no_models_autoload = True
     server.start()
-    model_id = "ggml-org/tinygemma3-GGUF:Q8_0"
+    model_id = "ggml-org-dev/tinygemma3-GGUF:Q8_0"

     res = server.make_request(
         "POST",
@@ -422,7 +422,7 @@ def test_router_api_key_required():
     server.api_key = "sk-router-secret"
     server.start()

-    model_id = "ggml-org/tinygemma3-GGUF:Q8_0"
+    model_id = "ggml-org-dev/tinygemma3-GGUF:Q8_0"
     auth_headers = {"Authorization": f"Bearer {server.api_key}"}

     res = server.make_request(
@@ -463,10 +463,10 @@ def test_router_reload_models():
     with open(preset_path, "w") as f:
         f.write(
             "[model-reload-a]\n"
-            "hf-repo = ggml-org/test-model-stories260K\n"
+            "hf-repo = ggml-org-dev/test-model-stories260K\n"
             "\n"
             "[model-reload-b]\n"
-            "hf-repo = ggml-org/test-model-stories260K-infill\n"
+            "hf-repo = ggml-org-dev/test-model-stories260K-infill\n"
         )

     server.models_preset = preset_path
@@ -480,10 +480,10 @@ def test_router_reload_models():
     with open(preset_path, "w") as f:
         f.write(
             "[model-reload-b]\n"
-            "hf-repo = ggml-org/test-model-stories260K-infill\n"
+            "hf-repo = ggml-org-dev/test-model-stories260K-infill\n"
             "\n"
             "[model-reload-c]\n"
-            "hf-repo = ggml-org/test-model-stories260K\n"
+            "hf-repo = ggml-org-dev/test-model-stories260K\n"
         )

     try:
@@ -500,14 +500,14 @@ def test_router_dedup_cache_models():
     global server

     preset_path = os.path.join(TMP_DIR, "test_dedup.ini")
-    main_cache_id = "ggml-org/test-model-stories260K:F32"
-    draft_cache_id = "ggml-org/test-model-stories260K-infill:F32"
+    main_cache_id = "ggml-org-dev/test-model-stories260K:F32"
+    draft_cache_id = "ggml-org-dev/test-model-stories260K-infill:F32"

     with open(preset_path, "w") as f:
         f.write(
             "[model-dedup]\n"
-            "hf-repo = ggml-org/test-model-stories260K\n"
-            "spec-draft-hf = ggml-org/test-model-stories260K-infill\n"
+            "hf-repo = ggml-org-dev/test-model-stories260K\n"
+            "spec-draft-hf = ggml-org-dev/test-model-stories260K-infill\n"
             "dedup-cache-models = 1\n"
         )

@@ -520,7 +520,7 @@ def test_router_dedup_cache_models():
         assert main_cache_id not in ids, "main cache model should be hidden by dedup"
         assert draft_cache_id not in ids, "draft cache model should be hidden by dedup"
         # other cache models are unaffected
-        assert "ggml-org/tinygemma3-GGUF:Q8_0" in ids
+        assert "ggml-org-dev/tinygemma3-GGUF:Q8_0" in ids

         # the hidden model is only hidden from the listing, it can still be used
         res = server.make_request("POST", "/tokenize", data={"model": main_cache_id, "content": "hello"})
@@ -530,8 +530,8 @@ def test_router_dedup_cache_models():
         with open(preset_path, "w") as f:
             f.write(
                 "[model-dedup]\n"
-                "hf-repo = ggml-org/test-model-stories260K\n"
-                "spec-draft-hf = ggml-org/test-model-stories260K-infill\n"
+                "hf-repo = ggml-org-dev/test-model-stories260K\n"
+                "spec-draft-hf = ggml-org-dev/test-model-stories260K-infill\n"
             )
         ids = _get_model_ids(is_reload=True)
         assert main_cache_id in ids
@@ -544,8 +544,8 @@ def test_router_dedup_cache_models():
                 "dedup-cache-models = 1\n"
                 "\n"
                 "[model-dedup]\n"
-                "hf-repo = ggml-org/test-model-stories260K\n"
-                "spec-draft-hf = ggml-org/test-model-stories260K-infill\n"
+                "hf-repo = ggml-org-dev/test-model-stories260K\n"
+                "spec-draft-hf = ggml-org-dev/test-model-stories260K-infill\n"
             )
         ids = _get_model_ids(is_reload=True)
         assert "model-dedup" in ids
@@ -557,7 +557,7 @@ def test_router_dedup_cache_models():

 def test_router_remote_preset():
     global server
-    server.model_hf_repo = "ggml-org/test-preset-ci"
+    server.model_hf_repo = "ggml-org-dev/test-preset-ci"
     server.model_hf_file = None
     server.offline = False
     server.start()
@@ -574,7 +574,7 @@ def test_router_remote_preset():
     _load_model_and_wait(model_id)


-MODEL_DOWNLOAD_ID = "ggml-org/test-model-router-download:F16"
+MODEL_DOWNLOAD_ID = "ggml-org-dev/test-model-router-download:F16"
 MODEL_DOWNLOAD_TIMEOUT = 30


@@ -843,7 +843,7 @@ def test_router_preset_model_sidecars():
     preset_path = os.path.join(TMP_DIR, "test_preset_sidecars.ini")

     with open(preset_path, "w") as f:
-        f.write("[preset-sidecars]\nhf-repo = ggml-org/tinygemma3-GGUF:Q8_0\n")
+        f.write("[preset-sidecars]\nhf-repo = ggml-org-dev/tinygemma3-GGUF:Q8_0\n")

     server.models_preset = preset_path
     server.start()
diff --git a/tools/server/tests/unit/test_slot_save.py b/tools/server/tests/unit/test_slot_save.py
index 488b63701..70d06c2a9 100644
--- a/tools/server/tests/unit/test_slot_save.py
+++ b/tools/server/tests/unit/test_slot_save.py
@@ -217,8 +217,8 @@ def test_slot_erase():
 # Erase remains gated on the slot's content.
 #

-IMG_URL_CAT = "https://huggingface.co/ggml-org/tinygemma3-GGUF/resolve/main/test/91_cat.png"
-IMG_URL_TRUCK = "https://huggingface.co/ggml-org/tinygemma3-GGUF/resolve/main/test/11_truck.png"
+IMG_URL_CAT = "https://huggingface.co/ggml-org-dev/tinygemma3-GGUF/resolve/main/test/91_cat.png"
+IMG_URL_TRUCK = "https://huggingface.co/ggml-org-dev/tinygemma3-GGUF/resolve/main/test/11_truck.png"


 def _get_img_base64(url: str) -> str:
@@ -785,7 +785,7 @@ def test_slot_restore_damaged_checkpoint_appendix(swa_server, damage):
 @pytest.mark.parametrize("ctkd_restore", ["f16", "q8_0"])
 def test_slot_restore_checkpoints_draft_kv_type_change(swa_server, ctkd_restore):
     server = swa_server
-    server.model_draft_hf_repo = "ggml-org/tinygemma3-GGUF:Q8_0"  # same file as the target, already in the HF cache
+    server.model_draft_hf_repo = "ggml-org-dev/tinygemma3-GGUF:Q8_0"  # same file as the target, already in the HF cache
     server.spec_type = "draft-simple"
     server.ctkd = "f16"
     server.start()
diff --git a/tools/server/tests/unit/test_speculative.py b/tools/server/tests/unit/test_speculative.py
index 0d41b1173..10597fdb0 100644
--- a/tools/server/tests/unit/test_speculative.py
+++ b/tools/server/tests/unit/test_speculative.py
@@ -5,7 +5,7 @@ from utils import *

 server = ServerPreset.stories15m_moe()

-MODEL_DRAFT_FILE_URL = "https://huggingface.co/ggml-org/tiny-llamas/resolve/main/stories15M-q4_0.gguf"
+MODEL_DRAFT_FILE_URL = "https://huggingface.co/ggml-org-dev/tiny-llamas/resolve/main/stories15M-q4_0.gguf"

 def create_server():
     global server
diff --git a/tools/server/tests/unit/test_stream.py b/tools/server/tests/unit/test_stream.py
index a1ef55567..741086316 100644
--- a/tools/server/tests/unit/test_stream.py
+++ b/tools/server/tests/unit/test_stream.py
@@ -10,7 +10,7 @@ server: ServerProcess

 # a model name with slashes exercises the query string routing of the stream routes: the id
 # cannot travel as a path param because the decoded slash would split it before capture
-MODEL = "ggml-org/tinygemma3-GGUF:Q8_0"
+MODEL = "ggml-org-dev/tinygemma3-GGUF:Q8_0"
 STREAM_ID = f"conv-stream-test::{MODEL}"
 QS = "conv_id=" + quote(STREAM_ID, safe="")

diff --git a/tools/server/tests/unit/test_vision_api.py b/tools/server/tests/unit/test_vision_api.py
index dd04e2e2b..96d340746 100644
--- a/tools/server/tests/unit/test_vision_api.py
+++ b/tools/server/tests/unit/test_vision_api.py
@@ -6,8 +6,8 @@ import requests
 server: ServerProcess

 def get_img_url(id: str) -> str:
-    IMG_URL_0 = "https://huggingface.co/ggml-org/tinygemma3-GGUF/resolve/main/test/11_truck.png"
-    IMG_URL_1 = "https://huggingface.co/ggml-org/tinygemma3-GGUF/resolve/main/test/91_cat.png"
+    IMG_URL_0 = "https://huggingface.co/ggml-org-dev/tinygemma3-GGUF/resolve/main/test/11_truck.png"
+    IMG_URL_1 = "https://huggingface.co/ggml-org-dev/tinygemma3-GGUF/resolve/main/test/91_cat.png"
     if id == "IMG_URL_0":
         return IMG_URL_0
     elif id == "IMG_URL_1":
diff --git a/tools/server/tests/utils.py b/tools/server/tests/utils.py
index af69fafe0..e232fdd83 100644
--- a/tools/server/tests/utils.py
+++ b/tools/server/tests/utils.py
@@ -52,8 +52,8 @@ class ServerProcess:
     debug: bool = False
     server_port: int = 8080
     server_host: str = "127.0.0.1"
-    model_hf_repo: str | None = "ggml-org/models"
-    model_hf_file: str | None = "tinyllamas/stories260K.gguf"
+    model_hf_repo: str | None = "ggml-org-dev/stories260K"
+    model_hf_file: str | None = "stories260K.gguf"
     model_alias: str = "tinyllama-2"
     temperature: float = 0.8
     seed: int = 42
@@ -564,7 +564,7 @@ class ServerPreset:
     def tinyllama2() -> ServerProcess:
         server = ServerProcess()
         server.offline = True # will be downloaded by load_all()
-        server.model_hf_repo = "ggml-org/test-model-stories260K"
+        server.model_hf_repo = "ggml-org-dev/test-model-stories260K"
         server.model_hf_file = None
         server.model_alias = "tinyllama-2"
         server.n_ctx = 512
@@ -578,8 +578,8 @@ class ServerPreset:
     def bert_bge_small() -> ServerProcess:
         server = ServerProcess()
         server.offline = True # will be downloaded by load_all()
-        server.model_hf_repo = "ggml-org/models"
-        server.model_hf_file = "bert-bge-small/ggml-model-f16.gguf"
+        server.model_hf_repo = "ggml-org-dev/bert-bge-small-GGUF"
+        server.model_hf_file = "ggml-model-f16.gguf"
         server.model_alias = "bert-bge-small"
         server.n_ctx = 512
         server.n_batch = 128
@@ -593,8 +593,8 @@ class ServerPreset:
     def bert_bge_small_with_fa() -> ServerProcess:
         server = ServerProcess()
         server.offline = True # will be downloaded by load_all()
-        server.model_hf_repo = "ggml-org/models"
-        server.model_hf_file = "bert-bge-small/ggml-model-f16.gguf"
+        server.model_hf_repo = "ggml-org-dev/bert-bge-small-GGUF"
+        server.model_hf_file = "ggml-model-f16.gguf"
         server.model_alias = "bert-bge-small"
         server.n_ctx = 1024
         server.n_batch = 300
@@ -609,7 +609,7 @@ class ServerPreset:
     def tinyllama_infill() -> ServerProcess:
         server = ServerProcess()
         server.offline = True # will be downloaded by load_all()
-        server.model_hf_repo = "ggml-org/test-model-stories260K-infill"
+        server.model_hf_repo = "ggml-org-dev/test-model-stories260K-infill"
         server.model_hf_file = None
         server.model_alias = "tinyllama-infill"
         server.n_ctx = 2048
@@ -624,7 +624,7 @@ class ServerPreset:
     def stories15m_moe() -> ServerProcess:
         server = ServerProcess()
         server.offline = True # will be downloaded by load_all()
-        server.model_hf_repo = "ggml-org/stories15M_MOE"
+        server.model_hf_repo = "ggml-org-dev/stories15M_MOE"
         server.model_hf_file = "stories15M_MOE-F16.gguf"
         server.model_alias = "stories15m-moe"
         server.n_ctx = 2048
@@ -639,8 +639,8 @@ class ServerPreset:
     def jina_reranker_tiny() -> ServerProcess:
         server = ServerProcess()
         server.offline = True # will be downloaded by load_all()
-        server.model_hf_repo = "ggml-org/models"
-        server.model_hf_file = "jina-reranker-v1-tiny-en/ggml-model-f16.gguf"
+        server.model_hf_repo = "ggml-org-dev/jina-reranker-v1-tiny-en-GGUF"
+        server.model_hf_file = "ggml-model-f16.gguf"
         server.model_alias = "jina-reranker"
         server.n_ctx = 512
         server.n_batch = 512
@@ -659,7 +659,7 @@ class ServerPreset:
             server.model_file = local_model
             server.model_hf_repo = None
         else:
-            server.model_hf_repo = "ggml-org/tinylaya-for-testing-gguf"
+            server.model_hf_repo = "ggml-org-dev/tinylaya-for-testing-gguf"
         server.n_ctx = 1024
         server.n_batch = 512
         server.n_ubatch = 512
@@ -673,7 +673,7 @@ class ServerPreset:
         server.offline = True # will be downloaded by load_all()
         # mmproj is already provided by HF registry API
         server.model_hf_file = None
-        server.model_hf_repo = "ggml-org/tinyopenjev-for-testing-gguf:Q8_0"
+        server.model_hf_repo = "ggml-org-dev/tinyopenjev-for-testing-gguf:Q8_0"
         server.n_ctx = 4096
         server.n_batch = 512
         server.n_slots = 4
@@ -686,7 +686,7 @@ class ServerPreset:
         server.offline = True # will be downloaded by load_all()
         # mmproj is already provided by HF registry API
         server.model_hf_file = None
-        server.model_hf_repo = "ggml-org/tinygemma3-GGUF:Q8_0"
+        server.model_hf_repo = "ggml-org-dev/tinygemma3-GGUF:Q8_0"
         server.model_alias = "tinygemma3"
         server.n_ctx = 1024
         server.n_batch = 512
@@ -701,7 +701,7 @@ class ServerPreset:
         server.offline = True # will be downloaded by load_all()
         # mmproj is already provided by HF registry API
         server.model_hf_file = None
-        server.model_hf_repo = "ggml-org/tinyLFM3-Omni-for-testing-gguf:Q2_K"
+        server.model_hf_repo = "ggml-org-dev/tinyLFM3-Omni-for-testing-gguf:Q2_K"
         server.model_alias = "tinylfm3omni"
         server.n_ctx = 1024
         server.n_batch = 512