Login to follow
Image Semantic Search

Image Semantic Search (ODC)

Stable version 0.1.0 (Compatible with ODC)
Uploaded on 25 Jun (12 days ago) by Michael Guzman
Image Semantic Search

Image Semantic Search (ODC)

Details
Detailed Description

Native semantic image search built entirely inside ODC. Upload images, embed them with Cohere Embed v4, and store the vectors in ODC entities. No external vector database needed.

Two screens.

The ingestion screen lets users upload images and add them to the searchable index. A live gallery shows everything currently indexed.

The search screen supports two query modes. Text-to-image: describe what you are looking for in natural language and get back ranked results. Image-to-image: upload a reference image and get back visually similar matches. Both modes return results with similarity scores.

All embedding and similarity logic lives in reusable server actions. The architecture is straightforward to extend.

Requires the ImageVectorLibrary dependency and a configured Cohere API key. Assign the ImageSemanticSearch role to grant users access.

Limitations
  • Single-image ingestion only. Images are uploaded and vectorized one at a time. No bulk import.
  • No automatic re-indexing on model change. If the embedding model version changes, existing vectors are not updated. Stale vectors must be deleted and re-indexed manually.
  • In-memory similarity search. All stored vectors are loaded into memory for each query. Performance degrades as the index grows.
  • Binary storage in ODC entities. Image binaries and vectors are stored directly in the database. Storage costs increase at scale.
  • No per-image access control. Any user with the ImageSemanticSearch role can see and delete any indexed image.
  • No duplicate detection. Uploading the same image twice creates two independent records.
  • Cohere dependency. The app requires a valid Cohere API key and a configured ImageVectorLibrary. It will not function without both.
  • Gallery loads up to 200 images per scroll. Very large indexes may require multiple scrolls to browse fully.