Skip to main content

VectorWave: Seamless Auto-Vectorization Framework

Project description

VectorWave Logo

Need more information? Visit here

VectorWave

Star Release Tag Commit Contributors OpenPrs MergedPrs Checks Pypi
Seamless Auto-Vectorization Framework

We transform volatile data that disappears the moment code is executed into a Searchable and Reusable permanent knowledge asset.

Requirements

  • Python: 3.10 ~ 3.13
  • Docker: Required to run the Weaviate database.
  • (Optional) OpenAI API Key: Required for AI auto-documentation and high-performance embedding.

How to reach us

Have questions or found a bug? Please join our community.

Contributors

See the contributors of vectorwave
VectorWave is an open-source project and we welcome your contributions. Please refer to CONTRIBUTING.md in the GitHub repository.


🚀 What is VectorWave?

VectorWave is a unified framework designed to solve the "Efficiency vs. Reliability" dilemma in LLM-integrated applications. It introduces a new paradigm of Execution-Level Semantic Optimization combined with Autonomous Self-Healing.

Unlike conventional semantic caching tools that primarily focus on text similarity, VectorWave captures the entire Function Execution Context. It creates a permanent "Golden Dataset" from your successful executions and uses it to:

  1. Slash Costs: Serve cached results for semantically similar inputs, bypassing expensive computations.
  2. Fix Bugs: Automatically diagnose runtime errors and generate GitHub PRs using LLM.
  3. Monitor Quality: Detect when user inputs start drifting away from known patterns (Semantic Drift).

Architecture

VectorWave operates as a transparent layer between your application and the LLM/Infrastructure, handling everything from vectorization to GitOps automation.

VectorWave Architecture

Core Components

  • Optimization Engine: Intercepts function calls to check for semantic cache hits using HNSW indexes.
  • Trace Context Manager: Collects execution logs, inputs, and outputs without modifying your code structure.
  • Self-Healing Pipeline: An autonomous agent that wakes up on errors, diagnoses the root cause, and submits patches.

😊 Quick Start

You can attach VectorWave to any Python function using a simple decorator.

1. Prerequisites (Start Vector DB)

VectorWave requires a Vector Database (Weaviate) to store execution contexts. Create a docker-compose.yml file and start the service:

# docker-compose.yml
version: '3.4'
services:
  weaviate:
    command:
    - --host
    - 0.0.0.0
    - --port
    - '8080'
    - --scheme
    - http
    image: semitechnologies/weaviate:1.26.1
    ports:
    - 8080:8080
    - 50051:50051
    restart: on-failure:0
    environment:
      QUERY_DEFAULTS_LIMIT: 25
      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
      PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
      DEFAULT_VECTORIZER_MODULE: 'none'
      ENABLE_MODULES: 'text2vec-openai,generative-openai'
      CLUSTER_HOSTNAME: 'node1'

Run the container:

docker-compose up -d

2. Install VectorWave

pip install vectorwave

3. Basic Usage (Semantic Caching)

Now, apply the @vectorize decorator to your functions.

import time
from vectorwave import vectorize, initialize_database

# 1. (Optional) Set up your OpenAI Key for vectorization
# os.environ["OPENAI_API_KEY"] = "sk-..."

initialize_database()

# 2. Just add the @vectorize decorator!
@vectorize(semantic_cache=True, cache_threshold=0.95, auto=True)
def expensive_llm_task(query: str):
    # Simulate a slow and expensive API call
    time.sleep(2) 
    return f"Processed result for: {query}"

# First call: Runs the function (Cache Miss) -> Took 2.0s
print(expensive_llm_task("How do I fix a Python bug?"))

# Second call: Returns from Weaviate DB (Cache Hit) -> Took 0.02s!
# Even if the query is slightly different but semantically same.
print(expensive_llm_task("Tell me how to debug Python code."))

4. Self-Healing in Action

When your code breaks, VectorWave actively fixes it.

# Suppose this function has a bug (ZeroDivisionError)
@vectorize(auto=True)
def risky_calculation(a, b):
    return a / b

# Triggering an error
risky_calculation(10, 0) 

What happens next?

  1. Detection: The AutoHealerBot detects the ZeroDivisionError.
  2. Diagnosis: It retrieves the source code and error stack trace.
  3. Fix: It uses an LLM to generate a patch (adding try-except or input validation).
  4. Action: A Pull Request is automatically created in your GitHub repository.

VectorWave Healer Architecture

Key Features

⚡ Optimization Engine (Semantic Caching)

Don't pay for the same computation twice. VectorWave uses Weaviate vector database to store and retrieve function results based on meaning, not just exact string matching.

  • Latency: Reduced from seconds to milliseconds.
  • Cost: Up to 90% reduction in LLM token usage.

VectorWave Semantic Caching Architecture

Self-Healing & GitOps

VectorWave doesn't just log errors; it acts on them.

  • Automated Root Cause Analysis (RCA) using RAG.
  • GitOps Integration: Generates actual code fixes and pushes them to a new branch.
  • Cooldown Mechanism: Prevents spamming PRs for the same error.

Semantic Drift Radar

Detect when your users are asking things your model wasn't designed for.

  • Anomaly Detection: Calculates the distance between new queries and your "Golden Dataset".
  • Alerting: Sends notifications (e.g., Discord) when drift exceeds the threshold (default 0.25).

VectorWave Drift Architecture

How does it work?

Unlike traditional Key-Value caching (e.g., Redis), VectorWave understands Context.

  1. Vectorization: It converts function arguments into high-dimensional vectors using OpenAI or HuggingFace models.
  2. Search: It performs an Approximate Nearest Neighbor (ANN) search in the vector store.
  3. Decision:
  • If a neighbor is found within the threshold -> Return Cached Result.
  • If not -> Execute Function -> Async Log to DB.

Performance Benchmark

Metric Direct Execution With VectorWave Improvement
Latency (Hit) ~2.5s (LLM API) ~0.02s 125x Faster
Cost (Hit) $0.03 / call $0.00 100% Savings
Reliability Manual Fix Required Auto-PR Created Autonomous

Feature Comparison

Why choose VectorWave over traditional semantic caches?

Feature Traditional Tools (e.g., GPTCache) VectorWave
Semantic Caching O (Text-based) O (Execution Context)
Self-Healing (Auto-Fix) X O (Autonomous)
GitOps (Auto-PR) X O (Seamless)
Semantic Drift Detection X O (Drift Radar)
Zero-Config Setup △ (Setup Required) O (Decorator)

😍 Contributing

We are extremely open to contributions! Whether it's a new vectorizer, a better healing prompt, or just a typo fix. Please check our Contribution Guide.

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

vectorwave-0.3.0.tar.gz (50.1 kB view details)

Uploaded Source

Built Distributions

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

vectorwave-0.3.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (671.7 kB view details)

Uploaded CPython 3.14macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

vectorwave-0.3.0-cp312-cp312-win_amd64.whl (255.6 kB view details)

Uploaded CPython 3.12Windows x86-64

vectorwave-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (410.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file vectorwave-0.3.0.tar.gz.

File metadata

  • Download URL: vectorwave-0.3.0.tar.gz
  • Upload date:
  • Size: 50.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.4

File hashes

Hashes for vectorwave-0.3.0.tar.gz
Algorithm Hash digest
SHA256 410760159c1e9d83adc84d548978c67ae6c7c4a2265fb1cd13a07f6502ef980d
MD5 97b8e0fb5d01b8ae4fca70f30fee0121
BLAKE2b-256 aca497ee88b9192ac233d76334b1b237f326c586e0f2c557fae1a84779ecf908

See more details on using hashes here.

File details

Details for the file vectorwave-0.3.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for vectorwave-0.3.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 4cad2b1a995ca8259832588e62f5b2ef13d2ab6846030b7cc419506d394fd6b7
MD5 c12630377edeac57380038b77ad86bfc
BLAKE2b-256 964e62619c303abc5ff328cfc7fc63cc1e8b5a12add779f84621d7b2e8ffe190

See more details on using hashes here.

File details

Details for the file vectorwave-0.3.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for vectorwave-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8a2353c20a35850df305e964347ac4211a3dc4cfaf43283ba34895c104f7602e
MD5 a08cd983f89cce766be3500ce95e9340
BLAKE2b-256 6bd863c908a509c845515dfabeb62a968aa9944c1db32685a393a5e6556d8c33

See more details on using hashes here.

File details

Details for the file vectorwave-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vectorwave-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 05069d13d906e17813abbef029c3b8034aabb7098c6b7c030ded8635cec04859
MD5 f4b2bef78b9deb397b35a13887186e98
BLAKE2b-256 7d9617adcc83b23a571feba9e68fd3d93a00a71e2896b262ac873eb8b7661baf

See more details on using hashes here.

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