Skip to main content

Vector embedding generation, storage, and similarity search for LlamaAI Ecosystem

Project description

llama-vector

PyPI version License Python Version CI Status

Llama Vector (llama-vector) provides tools and abstractions for working with vector embeddings and vector stores within the LlamaSearch AI ecosystem. It facilitates the creation, indexing, querying, and quality assessment of vector representations of data.

Key Features

  • Embedding Generation: Tools to create vector embeddings from data (embedding.py).
  • Vector Indexing: Components for building and managing vector indices (index.py).
  • Vector Querying: Functionality to perform similarity searches and other queries on vector stores (query.py).
  • Vector Store Abstraction: Interfaces with different vector database backends (vector_store.py).
  • Quality Assessment: Tools to evaluate the quality of embeddings and search results (quality.py).
  • Core Module: Central orchestration and management (core.py).
  • Configurable: Allows specifying embedding models, vector stores, and other parameters (config.py).

Installation

pip install llama-vector
# Or install directly from GitHub for the latest version:
# pip install git+https://github.com/llamasearchai/llama-vector.git

Usage

(Usage examples demonstrating embedding creation, indexing, and querying will be added here.)

# Placeholder for Python client usage
# from llama_vector import VectorClient, VectorConfig

# config = VectorConfig.load("config.yaml")
# client = VectorClient(config)

# # Create embeddings
# documents = ["doc1 content", "doc2 content"]
# client.add_documents(documents)

# # Query the vector store
# query_vector = client.embed_query("search query")
# results = client.search(query_vector, top_k=5)
# print(results)

# # Assess quality
# quality_metrics = client.assess_quality(ground_truth_data="...")
# print(quality_metrics)

Architecture Overview

graph TD
    A[Input Data] --> B{Embedding Generator (embedding.py)};
    B --> C[Vector Embeddings];

    C --> D{Indexer (index.py)};
    D --> E{Vector Store Interface (vector_store.py)};
    E --> F[(Vector DB / Store)];

    G[Query] --> H{Query Processor (query.py)};
    H -- Needs Embeddings --> B;
    H --> E;
    E --> I[Search Results];

    J{Core Module (core.py)} -- Manages --> B;
    J -- Manages --> D;
    J -- Manages --> H;
    J -- Manages --> K;

    K[Quality Assessor (quality.py)] -- Evaluates --> E;
    K -- Evaluates --> I;
    K --> L[Quality Metrics];

    M[Configuration (config.py)] -- Configures --> J;
    M -- Configures --> B;
    M -- Configures --> E;
    N[Utilities (utils.py)] -- Used by --> B;
    N -- Used by --> D;
    N -- Used by --> H;
    N -- Used by --> K;

    style J fill:#f9f,stroke:#333,stroke-width:2px
    style F fill:#ccf,stroke:#333,stroke-width:1px
  1. Embedding: Input data is converted into vector embeddings.
  2. Indexing: Embeddings are indexed and stored using a vector store interface.
  3. Querying: User queries are embedded and used to search the vector store via the query processor.
  4. Quality: Tools assess the quality of the stored embeddings and search results.
  5. Core/Config: The core module orchestrates these steps, guided by configuration.

Configuration

(Details on configuring embedding models, vector store connections, indexing parameters, quality metrics, etc., will be added here.)

Development

Setup

# Clone the repository
git clone https://github.com/llamasearchai/llama-vector.git
cd llama-vector

# Install in editable mode with development dependencies
pip install -e ".[dev]"

Testing

pytest tests/

Contributing

Contributions are welcome! Please refer to CONTRIBUTING.md and submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

llamavector-0.1.0.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

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

llamavector-0.1.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file llamavector-0.1.0.tar.gz.

File metadata

  • Download URL: llamavector-0.1.0.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for llamavector-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e875356ed4e741db0950611cd64ee286997c234e67a161546cd5089bf9ec775c
MD5 199f95d678c2bb0d47315b95ddb4f0a4
BLAKE2b-256 4d51c0cb220d83c91642a1d6e7e3c5f09a12a078520d385a22d66bc61cdd4d47

See more details on using hashes here.

File details

Details for the file llamavector-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: llamavector-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for llamavector-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bce064d53134feda1cb4625b2e31a789c9f236394ce02e340ad78a1ee157d88d
MD5 cec05dac3a486d763304efee0a9fadc8
BLAKE2b-256 e5097ba3b00221a8cf896565d60c547bd3558e6a6af2c914f52c6aaa3e9da047

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