Skip to main content

llama-index-vector-stores-pixeltable

LlamaIndex VectorStore integration backed by Pixeltable -- multimodal data infrastructure with built-in embedding indexes, metadata filtering, computed column lineage, and incremental computation.

Installation

pip install llama-index-vector-stores-pixeltable

Quick Start

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, StorageContext
from llama_index.vector_stores.pixeltable import PixeltableVectorStore

# Create the vector store
vector_store = PixeltableVectorStore(
    table_name="mydir.docs",
    embed_dim=1536,
)

# Load documents and build index
storage_context = StorageContext.from_defaults(vector_store=vector_store)
documents = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents, storage_context=storage_context)

# Query
query_engine = index.as_query_engine()
response = query_engine.query("What is Pixeltable?")
print(response)

Filtered Queries with MetadataFilters

MetadataFilters on query() map to Pixeltable's .where() clause -- predicates are evaluated before ranking:

from llama_index.core.vector_stores.types import (
    VectorStoreQuery, MetadataFilters, MetadataFilter, FilterOperator,
)

filters = MetadataFilters(filters=[
    MetadataFilter(key="category", value="science", operator=FilterOperator.EQ),
])
result = vector_store.query(VectorStoreQuery(
    query_embedding=embedding,
    similarity_top_k=5,
    filters=filters,
))

Supported operators: ==, !=, >, <, >=, <= with AND/OR conditions.

Access the Underlying Pixeltable Table

The .table property gives direct access to the Pixeltable table for operations beyond the VectorStore interface -- computed columns, lineage, version history, and arbitrary predicates:

import pixeltable as pxt

t = vector_store.table

# Inspect all data
t.select(t.text, t.metadata, t.embedding).collect()

# Add a computed column -- auto-backfills all existing rows
t.add_computed_column(modality=extract_modality(t.metadata))

# WHERE on computed columns + similarity
import numpy as np
sim = t.embedding.similarity(vector=np.array(query_vec, dtype=np.float32))
results = (
    t.where(t.modality == "image")
    .order_by(sim, asc=False)
    .limit(5)
    .select(t.text, t.modality, sim=sim)
    .collect()
)

Connect to an Existing Pixeltable Table

vector_store = PixeltableVectorStore(table_name="mydir.existing_docs")
index = VectorStoreIndex.from_vector_store(vector_store)
query_engine = index.as_query_engine()

Why Pixeltable as a Vector Backend?

  • Metadata filtering via .where(): Filter on metadata fields before ranking, not post-hoc
  • Computed column lineage: Add derived columns that auto-backfill and auto-compute on new inserts
  • Persistent and versioned: Data survives restarts; every change is tracked
  • Incremental: Only new/changed rows get re-embedded
  • Multimodal native: Images, video, audio, and documents alongside text
  • Any embedding model: Works with OpenAI, Hugging Face, or any local model
  • No external services: Embedded PostgreSQL, no Docker required

Links

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llama_index_vector_stores_pixeltable-0.1.2.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file llama_index_vector_stores_pixeltable-0.1.2.tar.gz.

File metadata

File hashes

Hashes for llama_index_vector_stores_pixeltable-0.1.2.tar.gz
Algorithm Hash digest
SHA256 557273d554fc64ddf106d79d319c739a25f43fb3948633b0df29424e64145dcb
MD5 c2129808a248879332cf0628666c7399
BLAKE2b-256 4f11c3b0f85cb636382879f748f029a34e6e14969b7d74198fcf8e1ad8ac77c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for llama_index_vector_stores_pixeltable-0.1.2.tar.gz:

Publisher: release.yml on pixeltable/llama-index-vector-stores-pixeltable

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llama_index_vector_stores_pixeltable-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_index_vector_stores_pixeltable-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6cc2f7e16ad5c2c993150839729f2a70957ce66f072a1e3e431920c3bede74d3
MD5 07d8c40519e540800504b0b322e22fa0
BLAKE2b-256 685eb5511483d0c209d0d1335c4b76e811767fe8be80cf5399d201343da9fc8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for llama_index_vector_stores_pixeltable-0.1.2-py3-none-any.whl:

Publisher: release.yml on pixeltable/llama-index-vector-stores-pixeltable

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page