Add hybrid CLIP+PDQ scoring to image-similarity plugin#111
Open
miriyalamani wants to merge 44 commits into
Open
Add hybrid CLIP+PDQ scoring to image-similarity plugin#111miriyalamani wants to merge 44 commits into
miriyalamani wants to merge 44 commits into
Conversation
see README_UI.md for frontend details
Made-with: Cursor
chat area , fix job id , and other ui issues
update image_summary for batching ui fixes
cuda,cudnn,pgvector,onnxruntime , update to version 3.0.0
Updated README to include references for backend and UI server scripts.
seach-images update case-export
New `image_similarity` plugin finds visually similar images given a query image, using CLIP embeddings and pgvector cosine similarity.
…e format - Add "Similar Images" entry to chatbot tool menu (config.py) - Add ImageSimilaritySearch schema and endpoint to tool_config.py - Update poetry.lock with image-similarity package entry
Replace torch + transformers CLIPModel inference with onnxruntime, The bundled ONNX vision model (clip-vit-base-patch32.onnx) is loaded directly from onnx_models/ — no runtime export or torch dependency needed for inference. Default model changed from Apple DFN CLIP to openai/clip-vit-base-patch32.
- Add batched ONNX inference (_embed_images_batch) with dynamic batch detection to process multiple images per kernel launch instead of one - Restructure _embed_and_store_images into three phases: discover new hashes, batch-embed all new images in one GPU pass, then persist - Extract _cosine_similarity_search into its own function for clarity - Add torchvision dependency to image-similarity and root pyproject
Bring in v3.1 UI and plugin updates from main while preserving image-similarity optimisations (ONNX runtime, PDQ hashing, scorer interface).
- Add process-wide caching for ONNX vision model to avoid reloading on each request - Fix unbound variable error for LD_LIBRARY_PATH in run_backend_server on macOS
…nd PDQ hybrid scoring
nb950
reviewed
Jul 2, 2026
nb950
reviewed
Jul 2, 2026
…nd lint format - Remove plugin-level threading locks (framework handles serialization) - Remove unused torchvision dependency - Widen Python requirement to >=3.11,<3.15 to match root project - Run black on all modified files - Regenerate poetry.lock to include pdqhash - Fix LD_LIBRARY_PATH unbound variable in run_backend_server
Collaborator
|
please run tests using images in this src-tauri\demo\search-images\inputs folder. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.