Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3d375161bd | |||
| 7f08813635 | |||
| 978c70e91a | |||
| 4a82352391 |
@@ -439,6 +439,15 @@ pip3 install -r pgvector-demo/backend/requirements.txt --break-system-packages
|
||||
pip3 install -r oravector-demo/backend/requirements.txt --break-system-packages
|
||||
```
|
||||
|
||||
**CLIP model** — not included in the repository. It is downloaded automatically from
|
||||
Hugging Face Hub on first use (~600 MB, cached in `~/.cache/huggingface/hub/`):
|
||||
|
||||
> `sentence-transformers/clip-ViT-B-32`
|
||||
> https://huggingface.co/sentence-transformers/clip-ViT-B-32
|
||||
|
||||
No manual download is required — `sentence-transformers` handles this transparently
|
||||
when `index_images.py` or a backend is started for the first time.
|
||||
|
||||
### 1. PostgreSQL
|
||||
|
||||
**Start the container:**
|
||||
|
||||
Binary file not shown.
@@ -592,6 +592,10 @@ txb(s, "Bild-Vektor und Text-Vektor zeigen in dieselbe Richtung,\nwenn Bild und
|
||||
Inches(0.8), Inches(5.0), Inches(11.5), Inches(1.0),
|
||||
size=18, italic=True, color=ACCENT_IDB)
|
||||
|
||||
txb(s, "🔗 huggingface.co/sentence-transformers/clip-ViT-B-32 — wird beim ersten Start automatisch heruntergeladen (~600 MB)",
|
||||
Inches(0.8), Inches(6.55), Inches(12.0), Inches(0.35),
|
||||
size=11, color=DIM_CLR, italic=True)
|
||||
|
||||
# ════════════════════════════════════════════════════════════════════════════
|
||||
# Slide 6 — Cosinus-Distanz
|
||||
# ════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
@@ -6,6 +6,9 @@ _model = None
|
||||
def _get_model():
|
||||
# Lazy load: the CLIP model is ~600 MB and takes several seconds to initialise.
|
||||
# Loading on first call avoids the cost at import time and during indexing warmup.
|
||||
# Downloaded automatically from Hugging Face Hub on first use:
|
||||
# https://huggingface.co/sentence-transformers/clip-ViT-B-32
|
||||
# Cached in ~/.cache/huggingface/hub/
|
||||
global _model
|
||||
if _model is None:
|
||||
_model = SentenceTransformer("clip-ViT-B-32")
|
||||
|
||||
@@ -147,18 +147,18 @@
|
||||
|
||||
<div class="search-area">
|
||||
<div class="search-row">
|
||||
<input id="query" type="text" placeholder="Search photos, e.g. trees, water, night…" />
|
||||
<button class="search-btn" onclick="doSearch()">Search</button>
|
||||
<input id="query" type="text" placeholder="Fotos suchen, z.B. Bäume, Wasser, Nacht…" />
|
||||
<button class="search-btn" onclick="doSearch()">Suchen</button>
|
||||
</div>
|
||||
<div class="chips">
|
||||
<span class="chip" onclick="setQuery('trees')">trees</span>
|
||||
<span class="chip" onclick="setQuery('water')">water</span>
|
||||
<span class="chip" onclick="setQuery('people')">people</span>
|
||||
<span class="chip" onclick="setQuery('buildings')">buildings</span>
|
||||
<span class="chip" onclick="setQuery('sky')">sky</span>
|
||||
<span class="chip" onclick="setQuery('street')">street</span>
|
||||
<span class="chip" onclick="setQuery('night')">night</span>
|
||||
<span class="chip" onclick="setQuery('cars')">cars</span>
|
||||
<span class="chip" onclick="setQuery('Bäume')">Bäume</span>
|
||||
<span class="chip" onclick="setQuery('Wasser')">Wasser</span>
|
||||
<span class="chip" onclick="setQuery('Menschen')">Menschen</span>
|
||||
<span class="chip" onclick="setQuery('Gebäude')">Gebäude</span>
|
||||
<span class="chip" onclick="setQuery('Himmel')">Himmel</span>
|
||||
<span class="chip" onclick="setQuery('Straße')">Straße</span>
|
||||
<span class="chip" onclick="setQuery('Nacht')">Nacht</span>
|
||||
<span class="chip" onclick="setQuery('Autos')">Autos</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -147,18 +147,18 @@
|
||||
|
||||
<div class="search-area">
|
||||
<div class="search-row">
|
||||
<input id="query" type="text" placeholder="Search photos, e.g. trees, water, night…" />
|
||||
<button class="search-btn" onclick="doSearch()">Search</button>
|
||||
<input id="query" type="text" placeholder="Fotos suchen, z.B. Bäume, Wasser, Nacht…" />
|
||||
<button class="search-btn" onclick="doSearch()">Suchen</button>
|
||||
</div>
|
||||
<div class="chips">
|
||||
<span class="chip" onclick="setQuery('trees')">trees</span>
|
||||
<span class="chip" onclick="setQuery('water')">water</span>
|
||||
<span class="chip" onclick="setQuery('people')">people</span>
|
||||
<span class="chip" onclick="setQuery('buildings')">buildings</span>
|
||||
<span class="chip" onclick="setQuery('sky')">sky</span>
|
||||
<span class="chip" onclick="setQuery('street')">street</span>
|
||||
<span class="chip" onclick="setQuery('night')">night</span>
|
||||
<span class="chip" onclick="setQuery('cars')">cars</span>
|
||||
<span class="chip" onclick="setQuery('Bäume')">Bäume</span>
|
||||
<span class="chip" onclick="setQuery('Wasser')">Wasser</span>
|
||||
<span class="chip" onclick="setQuery('Menschen')">Menschen</span>
|
||||
<span class="chip" onclick="setQuery('Gebäude')">Gebäude</span>
|
||||
<span class="chip" onclick="setQuery('Himmel')">Himmel</span>
|
||||
<span class="chip" onclick="setQuery('Straße')">Straße</span>
|
||||
<span class="chip" onclick="setQuery('Nacht')">Nacht</span>
|
||||
<span class="chip" onclick="setQuery('Autos')">Autos</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,6 +6,9 @@ _model = None
|
||||
def _get_model():
|
||||
# Lazy load: the CLIP model is ~600 MB and takes several seconds to initialise.
|
||||
# Loading on first call avoids the cost at import time and during indexing warmup.
|
||||
# Downloaded automatically from Hugging Face Hub on first use:
|
||||
# https://huggingface.co/sentence-transformers/clip-ViT-B-32
|
||||
# Cached in ~/.cache/huggingface/hub/
|
||||
global _model
|
||||
if _model is None:
|
||||
_model = SentenceTransformer("clip-ViT-B-32")
|
||||
|
||||
@@ -147,18 +147,18 @@
|
||||
|
||||
<div class="search-area">
|
||||
<div class="search-row">
|
||||
<input id="query" type="text" placeholder="Search photos, e.g. trees, water, night…" />
|
||||
<button class="search-btn" onclick="doSearch()">Search</button>
|
||||
<input id="query" type="text" placeholder="Fotos suchen, z.B. Bäume, Wasser, Nacht…" />
|
||||
<button class="search-btn" onclick="doSearch()">Suchen</button>
|
||||
</div>
|
||||
<div class="chips">
|
||||
<span class="chip" onclick="setQuery('trees')">trees</span>
|
||||
<span class="chip" onclick="setQuery('water')">water</span>
|
||||
<span class="chip" onclick="setQuery('people')">people</span>
|
||||
<span class="chip" onclick="setQuery('buildings')">buildings</span>
|
||||
<span class="chip" onclick="setQuery('sky')">sky</span>
|
||||
<span class="chip" onclick="setQuery('street')">street</span>
|
||||
<span class="chip" onclick="setQuery('night')">night</span>
|
||||
<span class="chip" onclick="setQuery('cars')">cars</span>
|
||||
<span class="chip" onclick="setQuery('Bäume')">Bäume</span>
|
||||
<span class="chip" onclick="setQuery('Wasser')">Wasser</span>
|
||||
<span class="chip" onclick="setQuery('Menschen')">Menschen</span>
|
||||
<span class="chip" onclick="setQuery('Gebäude')">Gebäude</span>
|
||||
<span class="chip" onclick="setQuery('Himmel')">Himmel</span>
|
||||
<span class="chip" onclick="setQuery('Straße')">Straße</span>
|
||||
<span class="chip" onclick="setQuery('Nacht')">Nacht</span>
|
||||
<span class="chip" onclick="setQuery('Autos')">Autos</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user