Skip to main content

vector-rag-tool logo

vector-rag-tool

Python Version License: MIT Code style: ruff Type checked: mypy Built with Claude Code

A CLI that provides local RAG with Ollama embeddings and FAISS vector search.

Features

  • Semantic search using vector embeddings
  • Multiple file types: Python, Markdown, YAML, JSON
  • Document support: PDF, Word, Excel, PowerPoint via markitdown
  • Fast local search with FAISS (~100ms queries)
  • Optional S3 Vectors backend for cloud scale
  • Incremental indexing with file hash tracking
  • Configurable chunk size and overlap

Installation

Prerequisites:

  • Python 3.13+
  • Ollama with an embedding model
# Install Ollama and pull embedding model
brew install ollama
ollama pull embeddinggemma

# Install vector-rag-tool
git clone https://github.com/dnvriend/vector-rag-tool.git
cd vector-rag-tool
uv tool install .

Usage

# Preview what would be indexed (dry-run is default)
vector-rag-tool index "**/*.py" --store my-project

# Index files
vector-rag-tool index "**/*.py" --store my-project --no-dry-run

# Index multiple file types
vector-rag-tool index "**/*.py" "**/*.md" --store my-project --no-dry-run

# Query for relevant code
vector-rag-tool query "how does authentication work" --store my-project

# Get full chunk content for RAG grounding
vector-rag-tool query "database connection" --store my-project --full

# JSON output for piping
vector-rag-tool query "logging" --store my-project --json

# Force reindex all files
vector-rag-tool index "**/*.py" --store my-project --force --no-dry-run

# Index documents (PDF, Word, Excel)
vector-rag-tool index "docs/**/*.pdf" --store my-docs --no-dry-run

# Use S3 Vectors backend
vector-rag-tool index "**/*.py" --store my-store \
    --bucket my-vectors-bucket --profile aws-profile --no-dry-run

Store Management

vector-rag-tool store list              # List all stores
vector-rag-tool store create my-store   # Create empty store
vector-rag-tool store delete my-store --force  # Delete store

Options

Index Command

Option Description
--store Store name (required)
--chunk-size Characters per chunk (default: 1500)
--chunk-overlap Overlap between chunks (default: 200)
--force Reindex all files, ignore cache
--no-dry-run Actually index files
--bucket S3 bucket for S3 Vectors backend
--profile AWS profile for S3 backend

Query Command

Option Description
--store Store name (required)
--top-k Number of results (default: 5)
--full Return full chunk content
--snippet-length Characters per snippet (default: 300)
--json JSON output
--stdin Read query from stdin

Global Options

Option Description
-v INFO level logging
-vv DEBUG level logging
-vvv TRACE level (library internals)

Development

make install        # Install dependencies
make test           # Run tests
make lint           # Run linting
make typecheck      # Type checking
make check          # All checks
make pipeline       # Full pipeline

License

MIT

Author

Dennis Vriend

Metadata

Release files for vector-rag-tool 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vector-rag-tool 0.1.0
File Size Uploaded
vector_rag_tool-0.1.0.tar.gz 235.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vector-rag-tool 0.1.0
File Interpreter ABI Platform
vector_rag_tool-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 282.2 kB

Release files / vector_rag_tool-0.1.0.tar.gz

Download URL vector_rag_tool-0.1.0.tar.gz
Size 235.3 kB
Tags Source
SHA-256 checksum
How to use checksums
efb7cdead414ee0c35272c4aabb463014b25b20e5462c060c38cfd170e1aaa41
BLAKE2b-256 checksum
How to use checksums
1726889e92d566856a6aa91ea7befd32d8e8415718573e28b1c7852c7103b08b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 5, 2025.

Transparency log

Release files / vector_rag_tool-0.1.0-py3-none-any.whl

Download URL vector_rag_tool-0.1.0-py3-none-any.whl
Size 46.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b79aaf93b01e22e310315a04d75c32b9f9dccc6d82e015a59db50126497a8f28
BLAKE2b-256 checksum
How to use checksums
28fffedfb3a1eef7cccea54972e5c383d615f2f1c0c4c831271aa3361a61a5f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 5, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page