A comprehensive desktop application for visualizing, querying, and managing vector database data
Project description
Vector Inspector 0.6.1 (2026‑03‑19) — Session‑Aware Telemetry, LLM Runtime Fixes, and UI Polish
Vector Inspector 0.6.1 is a tightening pass across the entire stack: more reliable LLM behavior, fully session‑aware telemetry, and a smoother, more predictable user interface.
New & Improved
Ask‑AI Enhancements
- Added a persistent “Configure LLM…” button inside the Ask‑AI dialog for easier access.
- Provider status now refreshes automatically when LLM settings change.
- Ask‑AI now re‑reads the active provider’s model before sending prompts.
UI Improvements
- Data view now includes a total record count label.
- Closing the last connection now clears cached provider/collection context.
LLM Runtime Fixes
- Fixed an issue where Ask‑AI could use a stale model if preferences changed while the dialog was open.
- Runtime manager now respects provider‑specific model settings and avoids cross‑provider leakage.
Telemetry Overhaul
Core Session Model
- Added full session‑aware telemetry: session start/end events, duration tracking, OS metadata, and provider/collection context caching.
TelemetryServiceis now a singleton, initialized once at startup with the app version.- Anonymous telemetry toggle now emits a feature‑toggle event.
- Closing the last DB connection clears cached provider/collection to prevent stale context from leaking into subsequent events.
- Documentation updated to match the new session‑aware model.
Reliability & Sampling
- Deterministic sampling: SHA‑256‑based
should_sample()helper produces stable, reproducible decisions per event type and seed — backend can reconstruct sampled populations reliably. - Error grouping: canonical
error_hashfingerprint normalizes numbers and hex addresses before hashing, grouping similar errors without transmitting raw traces. - Crash‑marker lifecycle: on startup the app detects an un‑cleared crash marker from a previous run and emits
session.endwithexit_reason: "crash". Clean shutdown clears the marker. - Sampled event metadata:
queue_sampled_event()attachessampling_rate,sampling_version, andsampling_seed_typeto every sampled event for backend aggregation. - Test safety:
TelemetryServiceforces test sentinel values (app_version: "0.0-test",client_type: "unit-tests") when running under pytest, making any escaped event immediately identifiable on the backend.
Preferences & Settings Redesign
The Settings dialog has been restructured into a scalable, tabbed interface that better reflects Vector Inspector’s growing feature set.
- Settings are now organized into four tabs: General, Embeddings, Appearance, and LLM
- LLM provider configuration (provider selector, connection fields, model list, health check) now lives in its own dedicated LLM tab
- Action buttons (Apply, OK, Cancel, Reset to defaults) remain outside the tab widget for consistent visibility
Extension API Updates
SettingsDialog.add_section(widget_or_layout, tab="General")now accepts an optionaltabkeyword, allowing extensions to inject controls into any named tab (or create new tabs on demand)SettingsDialog.get_tab_layout(tab_name)is a new public API returning theQVBoxLayoutfor a named tab, creating it if neededllm_settings_panelhook handler updated to inject its group into the LLM tab when supported, with backward‑compatible fallback toparent_layout
Testing & CI
- Replaced timing‑dependent polling with deterministic worker synchronization via
_batch_processed.wait()— eliminates flakiness under CI load. - Global HTTP guard in
conftest.pyreturns synthetic 200 responses, preventing network leakage and ensuring batches clear cleanly across all tests. - Autouse singleton reset plus test‑mode queue‑file purge guarantees clean state at every test boundary regardless of execution order.
- Added tests covering: sampling determinism,
error_hashnormalization, crash‑marker full lifecycle, singleton enforcement, retry semantics, stale‑context clearing on connection close, and the mid‑flight shutdown race condition.
Summary
0.6.1 strengthens Vector Inspector’s identity as a diagnostic, session‑aware intelligence console. Telemetry is now reconstructable end‑to‑end, Ask‑AI behaves consistently across providers, and the user interface surfaces more context with less friction.
Vector Inspector
The ultimate toolkit for vector databases - a comprehensive desktop app to inspect, query, and visualize your embeddings across Chroma, Qdrant, Weaviate, Pinecone, LanceDB, pgvector and more.
Similar to SQL viewers (DBeaver/TablePlus) but built for vector databases, Vector Inspector offers an intuitive GUI for exploring embeddings, metadata, similarity search, and CRUD across multiple providers.
Quick Demo: See Vector Inspector in action!
Overview
Vector Inspector bridges the gap between vector databases and user-friendly data exploration tools. While vector databases are powerful for semantic search and AI applications, they often lack the intuitive inspection and management tools that traditional SQL databases have. This project aims to provide that missing layer.
Homepage
https://vector-inspector.divinedevops.com
🟦 Installation
Quick Install (recommended)
These installers work on macOS, Linux, and Windows (PowerShell or Git Bash).
macOS & Linux
curl -fsSL https://vector-inspector.divinedevops.com/install.sh | bash
Windows (PowerShell)
powershell -c "iwr https://vector-inspector.divinedevops.com/install.ps1 -UseBasicParsing | iex"
Windows (Git Bash)
curl -fsSL https://vector-inspector.divinedevops.com/install.sh | bash
These scripts:
- install Vector Inspector
- create a desktop shortcut
- launch the app immediately
This is the easiest and most reliable way to get started.
From PyPI
pip install vector-inspector
vector-inspector
From a Downloaded Wheel or Tarball (e.g., GitHub Release)
Download the .whl or .tar.gz file from the GitHub Releases page, then install with:
pip install <your-filename.whl>
# or
pip install <your-filename.tar.gz>
After installation, run the application with:
vector-inspector
Note: pip install does not create a desktop shortcut.
Use the bootstrap installer for the full experience.
From Source
# Clone the repository
git clone https://github.com/anthonypdawson/vector-inspector.git
cd vector-inspector
# Install dependencies using PDM
pdm install
# Launch application
scripts/run.sh # Linux/macOS
scripts/run.bat # Windows
🟩 Running Vector Inspector
vector-inspector
Note: The Quick Install script launches the app automatically. If you installed via pip or from source, use the command above. This opens the full desktop application.
Optional LLM runtime (llama-cpp-python)
llama-cpp-python is optional and only needed for the in-process LLM provider (llama-cpp).
- Install via PDM optional-dependency group (developer / recommended):
pdm install -G llm
- Platform-specific pip install (end users / PyPI):
Windows (pre-built CPU wheel index):
pip install llama-cpp-python --prefer-binary \
--extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
Linux / macOS (official wheels / source build):
pip install llama-cpp-python
CUDA / GPU wheels (pick matching CUDA version):
pip install llama-cpp-python --prefer-binary \
--extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cu121
- Scripts included in this repo:
scripts/install-llm-windows.ps1— PowerShell helper for Windowsscripts/install-llm-unix.sh— bash helper for Linux/macOS
Notes:
- If you cannot build native wheels on Windows, use the Windows pre-built index above.
- Vector Studio users can use Settings → LLM → "Download default model" to automatically download the default Phi-3-mini GGUF model into the local cache. This button is disabled in the free Vector Inspector tier.
- Free-tier users should download a GGUF model manually (or use the scripts above) and set the path in Settings → LLM, or configure Ollama (local server) or an OpenAI-compatible API instead.
Table of Contents
- Key Features
- Architecture
- Use Cases
- Feature Access
- Roadmap
- Configuration
- Development Setup
- Contributing
- License
- Acknowledgments
Key Features
Note: Some features listed below may be not started or currently in progress.
1. Multi-Provider Support
- Connect to vector databases:
- ChromaDB (persistent local storage)
- Qdrant (remote server or embedded local)
- Pinecone (cloud-hosted)
- Milvus (remote server or Milvus Lite) (Only on MacOs/Linux, experimental) - In Progress
- LanceDB (persistent local storage) — requires
lancedb>=0.27.0,pyarrow>=14.0.0 - PgVector/PostgreSQL (remote server)
- Weaviate (Local/Remote + WCD/Cloud)
- Unified interface regardless of backend provider
- Automatically saves last connection configuration
- Secure API key storage for cloud providers
2. Data Visualization
- Metadata Explorer: Browse and filter vector entries by metadata fields
- Vector Dimensionality Reduction: Visualize high-dimensional vectors in 2D/3D using:
- t-SNE
- UMAP
- PCA
- Cluster Visualization: Color-code vectors by metadata categories or clustering results
- Interactive Plots: Zoom, pan, and select vectors for detailed inspection
- Data Distribution Charts: Histograms and statistics for metadata fields
3. Search & Query Interface
- Similarity Search:
- Text-to-vector search (with embedding model integration)
- Vector-to-vector search
- Find similar items to selected entries
- Adjustable top-k results and similarity thresholds
- Metadata Filtering:
- SQL-like query builder for metadata
- Combine vector similarity with metadata filters
- Advanced filtering: ranges, IN clauses, pattern matching
- Hybrid Search: Combine semantic search with keyword search
- Query History: Save and reuse frequent queries
4. Data Management
- Browse Collections/Indexes: View all available collections with statistics
- CRUD Operations:
- View individual vectors and their metadata
- Add new vectors (with auto-embedding options)
- Update metadata fields
- Delete vectors (single or batch)
- Bulk Import/Export:
- Import from CSV, JSON, Parquet
- Export query results to various formats
- Backup and restore collections
- Schema Inspector: View collection configuration, vector dimensions, metadata schema
5. SQL-Like Experience
- Query Console: Write queries in a familiar SQL-like syntax (where supported)
- Results Grid:
- Sortable, filterable table view
- Pagination for large result sets
- Column customization
- Data Inspector: Click any row to see full details including raw vector
- Query Execution Plans: Understand how queries are executed
- Auto-completion: Intelligent suggestions for collection names, fields, and operations
6. Advanced Features
- Embedding Model Integration:
- Use OpenAI, Cohere, HuggingFace models for text-to-vector conversion
- Local model support (sentence-transformers)
- Custom model integration
- Vector Analysis:
- Compute similarity matrices
- Identify outliers and anomalies
- Cluster analysis with k-means, DBSCAN
- Embedding Inspector:
- For similar collections or items, automatically identify which vector dimensions (activations) most contribute to the similarity
- Map key activations to interpretable concepts (e.g., 'humor', 'sadness', 'anger') using metadata or labels
- Generate human-readable explanations for why items are similar
- Performance Monitoring:
- Query latency tracking
- Index performance metrics
- Connection health monitoring
Architecture
Vector Inspector is built with PySide6 (Qt for Python) for the GUI, providing a native desktop experience. The backend uses Python with support for multiple vector database providers through a unified interface.
For detailed architecture information, see docs/architecture.md.
Use Cases
- AI/ML Development: Inspect embeddings generated during model development
- RAG System Debugging: Verify what documents are being retrieved
- Data Quality Assurance: Identify poorly embedded or outlier vectors
- Production Monitoring: Check vector database health and data consistency
- Data Migration: Transfer data between vector database providers
- Education: Learn and experiment with vector databases interactively
Feature Access
Vector Inspector follows a user-friendly monetization model:
- All vector database providers are free — Try the full app with any database
- Core workflows remain free — Connect, browse, search, visualize, and manage your data
- Pro adds power tools — Advanced analytics, enterprise formats, workflow automation, and collaboration
Nothing currently in Free will ever move to Pro. See FEATURES.md for a detailed comparison.
Roadmap
Current Status: ✅ Phase 2 Complete
See ROADMAP.md for the complete development roadmap and planned features.
Configuration
Paths are resolved relative to the project root (where pyproject.toml is). For example, entering ./data/chroma_db will use the absolute path resolved from the project root.
The application automatically saves your last connection configuration to ~/.vector-inspector/settings.json. The next time you launch the application, it will attempt to reconnect using the last saved settings.
Example settings structure:
{
"last_connection": {
"provider": "chromadb",
"connection_type": "persistent",
"path": "./data/chroma_db"
}
}
Development Setup
# Install PDM if you haven't already
pip install pdm
# Install dependencies with development tools (PDM will create venv automatically)
pdm install -d
# Run tests
pdm run pytest
# Run application in development mode
./run.sh # Linux/macOS
./run.bat # Windows
# Or use Python module directly from src directory:
cd src
pdm run python -m vector_inspector
Contributing
Contributions are welcome! Areas where help is needed:
- Additional vector database provider integrations
- UI/UX improvements
- Performance optimizations
- Documentation
- Test coverage
Please see CONTRIBUTING.md for guidelines.
License
MIT License - See LICENSE file for details.
Acknowledgments
This project draws inspiration from:
- DBeaver (SQL database viewer)
- MongoDB Compass (NoSQL database GUI)
- Pinecone Console
- Various vector database management tools
See CHANGELOG.md for the latest status and what's new in each release.
See GETTING_STARTED.md for usage instructions and IMPLEMENTATION_SUMMARY.md for technical details.
Contact: Anthony Dawson
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vector_inspector-0.6.1.tar.gz.
File metadata
- Download URL: vector_inspector-0.6.1.tar.gz
- Upload date:
- Size: 962.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c3652861a19d96e439a4f2c4479e287ec30b3337172b30c669f3851dfe03348
|
|
| MD5 |
ba5dac4e9ad862d755868b9dba4b8363
|
|
| BLAKE2b-256 |
a5be6029a8e104a86768fd80266cc3d56dc42d6b700afcc83fd7ae68e1550413
|
Provenance
The following attestation bundles were made for vector_inspector-0.6.1.tar.gz:
Publisher:
release-and-publish.yml on anthonypdawson/vector-inspector
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vector_inspector-0.6.1.tar.gz -
Subject digest:
4c3652861a19d96e439a4f2c4479e287ec30b3337172b30c669f3851dfe03348 - Sigstore transparency entry: 1154757809
- Sigstore integration time:
-
Permalink:
anthonypdawson/vector-inspector@8bc076be9e194f82ba474a29aec83bcff25c9cfa -
Branch / Tag:
refs/heads/master - Owner: https://github.com/anthonypdawson
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-and-publish.yml@8bc076be9e194f82ba474a29aec83bcff25c9cfa -
Trigger Event:
push
-
Statement type:
File details
Details for the file vector_inspector-0.6.1-py3-none-any.whl.
File metadata
- Download URL: vector_inspector-0.6.1-py3-none-any.whl
- Upload date:
- Size: 836.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0925817d9ef1b48ff8b06fcc010c6bba432a88844f8226d5f7ce6ca143c635e
|
|
| MD5 |
c59462f6208e79166c98a170ccffd87a
|
|
| BLAKE2b-256 |
59bdbff9b62baec6e4c51e1f2e9bb972fbeb2b2f19528c5fbe4cdedc8065ab97
|
Provenance
The following attestation bundles were made for vector_inspector-0.6.1-py3-none-any.whl:
Publisher:
release-and-publish.yml on anthonypdawson/vector-inspector
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vector_inspector-0.6.1-py3-none-any.whl -
Subject digest:
a0925817d9ef1b48ff8b06fcc010c6bba432a88844f8226d5f7ce6ca143c635e - Sigstore transparency entry: 1154757812
- Sigstore integration time:
-
Permalink:
anthonypdawson/vector-inspector@8bc076be9e194f82ba474a29aec83bcff25c9cfa -
Branch / Tag:
refs/heads/master - Owner: https://github.com/anthonypdawson
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-and-publish.yml@8bc076be9e194f82ba474a29aec83bcff25c9cfa -
Trigger Event:
push
-
Statement type: