Module vector

Module vector 

Source
Expand description

Vector memory and semantic search capabilities.

This module provides vector embeddings and semantic search functionality for agent memories. It enables similarity-based memory retrieval using vector embeddings rather than simple keyword matching.

§Features

  • Embedding Generation: Convert text to vector embeddings using various providers
  • Semantic Search: Find similar memories based on meaning, not just keywords
  • Hybrid Search: Combine semantic similarity with traditional keyword search
  • Multiple Backends: Support for local and cloud vector databases

§Architecture

The vector memory system is built around three core traits:

§Available Backends

§Example

use ceylon_next::memory::vector::{EmbeddingProvider, VectorMemory, LocalVectorStore};
use std::sync::Arc;

#[tokio::main]
async fn main() {
    // Create an embedding provider (e.g., OpenAI, Ollama, etc.)
    // let embedder = OpenAIEmbeddings::new("api-key");

    // Create a vector store
    let store = LocalVectorStore::new(384); // 384-dimensional embeddings

    // Use for semantic search
    // let results = store.search(&query_vector, 5).await.unwrap();
}

Structs§

CachedEmbeddings
A caching wrapper for embedding providers.
LocalVectorStore
In-memory vector store using brute-force cosine similarity search.
SearchResult
A search result with similarity score.
VectorEntry
A vector embedding with associated metadata.

Traits§

EmbeddingProvider
Trait for generating vector embeddings from text.
VectorMemory
High-level interface for semantic memory operations.
VectorStore
Trait for storing and retrieving vector embeddings.

Functions§

cosine_similarity
Computes the cosine similarity between two vectors.
normalize_vector
Normalizes a vector to unit length (L2 normalization).