Module vector_store

Module vector_store 

Source
Expand description

Vector Store abstraction for pluggable vector database backends

This module provides a trait-based abstraction for vector storage, enabling different backends (in-memory, Qdrant, Pinecone, etc.) to be used interchangeably for semantic skill search.

§Architecture

┌──────────────────────────────────────────────────────────────┐
│                    VectorStore Trait                         │
│  upsert, search, delete, get, count, health_check           │
└──────────────────────────────────────────────────────────────┘
                             │
         ┌───────────────────┼───────────────────┐
         ▼                   ▼                   ▼
  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
  │  InMemory   │    │   Qdrant    │    │  Pinecone   │
  │  (default)  │    │   (local/   │    │   (cloud)   │
  │             │    │    cloud)   │    │             │
  └─────────────┘    └─────────────┘    └─────────────┘

§Example

use skill_runtime::vector_store::{VectorStore, InMemoryVectorStore, EmbeddedDocument};

let store = InMemoryVectorStore::new();

// Upsert documents
let docs = vec![EmbeddedDocument::new("id1", vec![0.1, 0.2, 0.3])];
store.upsert(docs).await?;

// Search
let results = store.search(vec![0.1, 0.2, 0.3], None, 5).await?;

Structs§

DeleteStats
Statistics from a delete operation
DocumentMetadata
Metadata associated with a document for filtering and display
EmbeddedDocument
A document with its embedding vector and metadata
FileConfig
Configuration for file-based vector store
FileVectorStore
File-based vector store with automatic persistence
Filter
Filter for narrowing search results based on metadata
HealthStatus
Health status of a vector store backend
InMemoryVectorStore
In-memory vector store implementation
SearchResult
A search result with score and document
UpsertStats
Statistics from an upsert operation

Enums§

DistanceMetric
Distance metric for similarity calculation

Traits§

VectorStore
Trait for vector storage backends

Functions§

cosine_similarity
Compute cosine similarity between two vectors
euclidean_distance
Compute euclidean distance between two vectors