Skip to content

Commit 13ca5c6

Browse files
committed
Adopt Hyper3-CLIP v1 model name
1 parent c6cdfdc commit 13ca5c6

6 files changed

Lines changed: 20 additions & 19 deletions

File tree

‎.agents/skills/hyperview-cli/SKILL.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ Read [references/extensions.md](references/extensions.md) when the task involves
105105
- Treat dataset creation and workspace binding as separate steps when needed: `dataset create ...` creates persisted data, `workspace create --dataset ...` or `workspace set-dataset ...` binds it to a workspace.
106106
- Prefer `workspace create --dataset ...` over separate create and dataset-attach calls when setting up a new workspace.
107107
- In Python dataset setup code, use public ingestion helpers such as `dataset.add_samples([...])` or `dataset.add_images_dir(...)`.
108-
- Prefer built-in providers before registering custom providers. For Hyper3-CLIP, use `dataset.compute_embeddings(model="hyper3-clip-v0.5", provider="hyper-models")`.
108+
- Prefer built-in providers before registering custom providers. For Hyper3-CLIP, use `dataset.compute_embeddings(model="hyper3-clip-v1", provider="hyper-models")`.
109109
- In comparison demos, fail fast when a required model/provider cannot compute embeddings; do not silently substitute the baseline model as a "candidate" fallback.
110110
- When a project truly needs a custom Python provider, use `hyperview provider register ...` from the CLI or `hv.register_provider(...)` in Python.
111111
- For custom panel code, create an extension under `.hyperview/extensions/<extension-name>/`; do not register arbitrary panel module files directly.

‎.agents/skills/hyperview-cli/references/commands.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ Use built-in providers directly when possible. Hyper3-CLIP is available through
110110
the `hyper-models` provider:
111111

112112
```python
113-
dataset.compute_embeddings(model="hyper3-clip-v0.5", provider="hyper-models")
113+
dataset.compute_embeddings(model="hyper3-clip-v1", provider="hyper-models")
114114
```
115115

116116
Register a custom provider only when the model is not available through a

‎pyproject.toml‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,11 @@ dependencies = [
2828
"uvicorn[standard]>=0.40.0",
2929
"embed-anything>=0.7.0",
3030
"huggingface-hub>=1.11.0,<2.0",
31-
# 0.3.1 is the floor, not a preference: 0.3.0 loads the Hyper3-CLIP v0.5 text
31+
# 0.3.2 is the floor, not a preference: it publishes the Hyper3-CLIP v1
32+
# catalog name. 0.3.0 also loads the Hyper3-CLIP text
3233
# tower with randomly initialised weights and still returns embeddings, so a
3334
# resolver allowed to keep 0.3.0 gives silently meaningless text search.
34-
"hyper-models>=0.3.1", # PyPI package: https://pypi.org/project/hyper-models/
35+
"hyper-models>=0.3.2", # PyPI package: https://pypi.org/project/hyper-models/
3536
"numpy>=1.26.4,<2.4",
3637
"umap-learn>=0.5.11",
3738
"pillow>=12.1.0",
@@ -61,7 +62,7 @@ publish = [
6162
"huggingface-hub>=1.11.0,<2.0",
6263
]
6364
ml = [
64-
"hyper-models[ml]>=0.3.1",
65+
"hyper-models[ml]>=0.3.2",
6566
"torch>=2.9.1",
6667
"torchvision>=0.24.1",
6768
"timm>=1.0.0",

‎tests/test_public_panel_api.py‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -324,28 +324,28 @@ def test_find_layout_separates_two_spaces_of_one_model_by_modality() -> None:
324324
dataset = _make_dataset(f"find_layout_modality_{uuid4().hex}")
325325
image_only = _add_layout(
326326
dataset,
327-
model_id="hyper3-clip-v0.5",
327+
model_id="hyper3-clip-v1",
328328
provider="hyper-models",
329329
geometry="poincare",
330330
modality="image",
331331
space_key="hyper3-clip-v0_5__image",
332332
)
333333
multimodal = _add_layout(
334334
dataset,
335-
model_id="hyper3-clip-v0.5",
335+
model_id="hyper3-clip-v1",
336336
provider="hyper-models",
337337
geometry="poincare",
338338
modality="multimodal",
339339
space_key="hyper3-clip-v0_5__multimodal",
340340
)
341341
assert image_only != multimodal
342342

343-
assert dataset.find_layout(model="hyper3-clip-v0.5", modality="image") == image_only
344-
assert dataset.find_layout(model="hyper3-clip-v0.5", modality="multimodal") == multimodal
343+
assert dataset.find_layout(model="hyper3-clip-v1", modality="image") == image_only
344+
assert dataset.find_layout(model="hyper3-clip-v1", modality="multimodal") == multimodal
345345

346346
# Without the modality the two are indistinguishable, and the error says so.
347347
with pytest.raises(ValueError) as error:
348-
dataset.find_layout(model="hyper3-clip-v0.5", geometry="poincare")
348+
dataset.find_layout(model="hyper3-clip-v1", geometry="poincare")
349349
assert "modality=image" in str(error.value)
350350
assert "modality=multimodal" in str(error.value)
351351

‎tests/test_text_retrieval.py‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,25 +205,25 @@ def test_embed_anything_text_query_passes_list_to_model() -> None:
205205

206206

207207
def test_hyper_models_image_only_model_does_not_claim_text_support() -> None:
208-
provider = HyperModelsEmbeddings(name="hyper3-clip-v0.5")
208+
provider = HyperModelsEmbeddings(name="hyper3-clip-v1")
209209
provider._model_info = SimpleNamespace(input_name="image", geometry="hyperboloid", dim=513)
210210

211211
assert provider.supports == frozenset({"image"})
212212

213213
with pytest.raises(
214214
ValueError,
215-
match=r"hyper-models model 'hyper3-clip-v0.5' does not support text queries",
215+
match=r"hyper-models model 'hyper3-clip-v1' does not support text queries",
216216
):
217217
provider.compute_query_embeddings("dog in park")
218218

219219

220220
def test_hyper_models_image_only_text_search_fails_before_encoding() -> None:
221-
provider = HyperModelsEmbeddings(name="hyper3-clip-v0.5")
221+
provider = HyperModelsEmbeddings(name="hyper3-clip-v1")
222222
provider._model_info = SimpleNamespace(input_name="image", geometry="hyperboloid", dim=513)
223223
engine = EmbeddingEngine()
224224
spec = EmbeddingSpec(
225225
provider="hyper-models",
226-
model_id="hyper3-clip-v0.5",
226+
model_id="hyper3-clip-v1",
227227
modality="multimodal",
228228
)
229229
engine._cache[spec.content_hash()] = provider

‎uv.lock‎

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)