Skip to main content

A comprehensive desktop application for visualizing, querying, and managing vector database data

Project description

Release Notes (0.6.0) — 2026-03-02

LLM Provider Layer

  • Add pluggable LLMProvider abstraction (core/llm_providers/) with three implementations: LlamaCppProvider (in-process, zero-setup default), OllamaProvider (used opportunistically when Ollama is running locally), and OpenAICompatibleProvider (cloud or local OpenAI-compatible APIs).

  • Add LLMProviderFactory with auto-detection: user-configured → Ollama (probed at localhost:11434) → llama-cpp fallback.

  • Add LLMProviderInstance runtime wrapper on AppState (app_state.llm_provider) for lazy initialisation and refresh() after settings changes.

  • Default llama-cpp model: Phi-3-mini-4k-instruct Q4_K_M (~2.4 GB); download_default_model() helper downloads on first use with progress callback support.

  • New optional dependency group llm (llama-cpp-python>=0.3.0); install with pdm add "vector-inspector[llm]".

  • Developer: add hidden CLI flag --llm-console to open an interactive LLM test window alongside the main app for manual provider testing and quick reloads.

Settings

  • Add LLM provider settings keys to SettingsService (llm.provider, llm.model_path, llm.cache_dir, llm.ollama_url, llm.ollama_model, llm.openai_url, llm.openai_api_key, llm.openai_model, llm.context_length, llm.temperature) with typed getters/setters.

  • Add LLM Provider status group to the Settings dialog (free tier): shows configured provider, live availability check button, and a disabled "Configure LLM…" stub that Vector Studio enables.

  • Vector Studio: add full LLM Configuration settings panel (provider dropdown, model browser, download button, Ollama/OpenAI-compatible fields, context length, temperature) injected via settings_panel_hook.

    Note: For ease of local verification and testing, this PR temporarily includes the full LLM configuration panel directly in Vector Inspector (see src/vector_inspector/extensions/llm_settings_panel.py). The long-term plan is for Vector Studio to inject the full configuration UI via settings_panel_hook while the free tier in Vector Inspector exposes only the small status group and a disabled "Configure LLM…" stub. This placement is intentional for developer testing and will be migrated to the Vector Studio extension in a follow-up change.

Testing

  • Add 22 unit tests in tests/core/llm_providers/ covering factory provider selection, auto-detection order and fallback, provider availability mocking, generate() response parsing, and LLMProviderInstance refresh behaviour.
  • Add comprehensive LLM provider contract tests: streaming paths, error/exception handling, get_model_name, is_available HTTP probe, llama-cpp cache helpers (get_llm_cache_dir, list_cached_models, download_default_model), get_capabilities, and get_health for all three providers. Core LLM provider coverage raised from 78% to 95%.
  • Add tests/ui/test_llm_settings_panel.py (item 15): widget structure checks, provider switching, API key maximumWidth/full-value-storage assertion, and thread unit tests (_HealthCheckThread, _ModelListThread) called synchronously without a Qt event loop.
  • Add 17 SettingsService getter/setter unit tests covering all LLM settings keys.
  • Fix datetime.UTC (Python 3.11+ only) → datetime.timezone.utc in base_provider.py, ollama_provider.py, openai_compatible_provider.py, runtime_manager.py, and llm_settings_panel.py.

Bug Fixes

  • Fix WebEngine shutdown warnings: ensure QWebEnginePage/QWebEngineView and QWebChannel are explicitly disposed before application shutdown to avoid "Release of profile requested but WebEnginePage still not deleted" warnings in CI and on user machines. Files updated: src/vector_inspector/ui/views/visualization/plot_panel.py, src/vector_inspector/ui/views/visualization/histogram_panel.py, src/vector_inspector/ui/views/visualization_view.py, src/vector_inspector/ui/main_window.py.

  • Fix histogram scan bug: when scanning other connections for collections with the same embedding dimensionality, avoid excluding collections from other connections that happen to share the same collection name as the primary collection. The background scanner now only excludes the primary collection on the same connection. File updated: src/vector_inspector/ui/views/visualization/histogram_panel.py.


Vector Inspector

CI Coverage Status Publish

PyPI Version PyPI Downloads

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.

Vector Inspector Demo

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 Windows
    • scripts/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

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

  1. AI/ML Development: Inspect embeddings generated during model development
  2. RAG System Debugging: Verify what documents are being retrieved
  3. Data Quality Assurance: Identify poorly embedded or outlier vectors
  4. Production Monitoring: Check vector database health and data consistency
  5. Data Migration: Transfer data between vector database providers
  6. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vector_inspector-0.5.4.tar.gz (914.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vector_inspector-0.5.4-py3-none-any.whl (812.5 kB view details)

Uploaded Python 3

File details

Details for the file vector_inspector-0.5.4.tar.gz.

File metadata

  • Download URL: vector_inspector-0.5.4.tar.gz
  • Upload date:
  • Size: 914.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vector_inspector-0.5.4.tar.gz
Algorithm Hash digest
SHA256 e4c405fe391e059f4b316fb7febc9cb336ce56c1c1cf14fe142cd3a00ed20581
MD5 d07666946aecd03ec3fd4d5c73f8e204
BLAKE2b-256 664b3b6670f143cbadd05b59a4c3c0e079f89f0a43cd6e176cbcfba89050dfc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for vector_inspector-0.5.4.tar.gz:

Publisher: release-and-publish.yml on anthonypdawson/vector-inspector

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vector_inspector-0.5.4-py3-none-any.whl.

File metadata

File hashes

Hashes for vector_inspector-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 da220a56ab6e26534dd993570015ccca91a0af21dcdf72550a5b83d7807c5a3c
MD5 cc606adcacbfffd19482bceb612b3b22
BLAKE2b-256 88d836ea09cd82d86f9b12853c0e012403dbae23dae2119730b96b7c23d16591

See more details on using hashes here.

Provenance

The following attestation bundles were made for vector_inspector-0.5.4-py3-none-any.whl:

Publisher: release-and-publish.yml on anthonypdawson/vector-inspector

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page