Repository navigation
Releases
0.4.2
Release Notes
- Add
visiongrep index DIR, which downloads missing models, updates the index and prepares both
models without running a query, so the first search after it only embeds the query. - Report indexing progress as
Indexed N/TOTAL imageslines every 256 images when stderr is not a
terminal, instead of printing nothing until indexing finishes. - Document use with AI agents in the README.
- Remove the
cargo binstallmetadata; VisionGrep is not published to crates.io.
Install visiongrep 0.4.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/udayj/visiongrep/releases/download/v0.4.2/visiongrep-installer.sh | shDownload visiongrep 0.4.2
| File | Platform | Checksum |
|---|---|---|
| visiongrep-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| visiongrep-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| visiongrep-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.4.1
Release Notes
- Publish prebuilt macOS and Linux binaries with each GitHub release, installable with a shell
installer orcargo binstall visiongrep. Add crates.io package metadata for
cargo install visiongrep.
Install visiongrep 0.4.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/udayj/visiongrep/releases/download/v0.4.1/visiongrep-installer.sh | shDownload visiongrep 0.4.1
| File | Platform | Checksum |
|---|---|---|
| visiongrep-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| visiongrep-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| visiongrep-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
visiongrep 0.4.0
Image queries and re-indexing are about 2.5× faster with about 65% less memory. The vision model now uses mixed-precision int8 (dynamic quantization, with the final projection and first transformer block kept in fp32).
Measured on AWS c7a.xlarge against v0.3.0:
image query: 871 → 336 ms, peak memory 596 → 207 MiB;
search after 1% of images change: 990 → 401 ms, peak memory 603 → 234 MiB;
text queries unchanged.
Accuracy: on COCO val2017 text-to-image retrieval (5,000 images, 25,014 captions), recall changed by −0.0035, −0.0031 and −0.0044 at 1, 5 and 10.
Smaller download: the vision model is now 119 MB instead of 352 MB.
Existing indexes re-embed their images once on first use.
visiongrep 0.3.0
- Add
visiongrep serve --socket DIRECTORY, an opt-in server that keeps the index and model sessions loaded. Ordinary cached searches for the same directory and index use it automatically while it is running and fall back to one-shot searches otherwise.--no-cache,--reindex,--verify-modelsand--timingalways run one-shot. servenow requires exactly one of--stdioor--socket.- Refuse
--reindexwhile a socket server is running for the same index. - Save optimized ONNX graphs under
models/optimized/on first use and reuse them in later processes to reduce model startup time (about 578 MiB of extra disk; falls back to the source models if a graph cannot be used or saved). - Replace the benchmark harness with
benchmarks/bench.py:prepare, pairedcompareandqualityruns, plusaws-run,aws-fetchandaws-listfor self-terminating EC2 comparisons.
Measured on AWS c7a.xlarge against v0.2.0: novel text query 6.9% faster, external image query 8.3% faster, 1% changed corpus 8.3% faster, identical results.
VisionGrep 0.2.0
Run multiple searches in one process with the new serve --stdio command:
visiongrep serve --stdio --index-path photos.db ./photosSend one JSON request per line through stdin and receive one JSON response per line on stdout:
{"id":"search-1","query":"a dog on a beach","top":10}
{"id":"search-2","image":"./reference.jpg","top":5}- Supports text and image searches, optional request IDs, result limits, and similarity thresholds.
- Keeps the database connection open and reuses text and vision model sessions after their first use.
- Refreshes the image index before every search to pick up added, modified, and deleted images.
- Flushes each response immediately. Invalid requests return an error response so subsequent requests can continue.
Close stdin to end the server. Existing one-shot search commands remain available.
Benchmark Foundation v1
Merge pull request #4 from udayj/codex/fix-index-ordering-top-capacity Fix incremental indexing order and excessive --top allocation