Per-Collection Models
Override embedding, rerank, expansion, and answer models for one collection without replacing the active global preset.
Per-Collection Models
GNO has two layers of model configuration:
- global presets
- optional collection overrides
This lets you keep one opinionated workspace default while tuning a few collections independently.
Resolution Order
For each role:
- collection override
- active preset
- built-in default fallback
Supported per-collection roles:
embedrerankexpandgen
Overrides are partial. You only set the roles you want to change.
Example
collections:
- name: work
path: /Users/you/work/docs
models:
rerank: "file:/models/work-reranker.gguf"
expand: "http://gpu-box:8083/v1/chat/completions#gno-expand"
- name: code
path: /Users/you/work/project/src
models:
embed: "hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf"
Everything not overridden still inherits from the active preset.
Best Use Cases
Use per-collection models when:
- one code collection should use a different embed model
- one collection needs a larger reranker
- one high-value collection needs a custom answer model
- you want to experiment without replacing the workspace default
Do not use per-collection overrides when the whole workspace should change. In that case, make or switch a preset instead.
Web UI
Collections page:
- open a collection card menu
- click Model settings
- edit one or more roles
- save
The dialog shows:
- the current effective model per role
- whether it is inherited or overridden
- reset-to-inherit actions
CLI
At collection creation time:
gno collection add ~/work/project/src \
--name code \
--embed-model "hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf"
After changing an embed model on an existing populated collection:
gno embed code
Optional stale cleanup:
gno collection clear-embeddings code
API
Update collection overrides:
curl -X PATCH http://localhost:3000/api/collections/code \
-H "Content-Type: application/json" \
-d '{
"models": {
"embed": "hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf",
"rerank": null
}
}'
null clears an override and returns that role to preset inheritance.
Current Limit
GNO does not yet support:
- per-path model overrides
- per-file-type model overrides
- multiple embed models inside one collection
If you need different model behavior for code and markdown, split them into separate collections.
See also: