Skip to main content
LlamaIndex is a data framework for building LLM applications over external data. It provides tools for ingesting, structuring, and querying data, making it straightforward to connect large language models with diverse data sources. Actian VectorAI DB integrates with LlamaIndex as a vector store through the llama-index-vector-stores-actian-vectorai package. This integration supports all standard LlamaIndex vector store operations, including adding nodes, similarity search, metadata filtering, and both synchronous and asynchronous workflows.

Installation

Install the VectorAI DB vector store integration for LlamaIndex:
You also need LlamaIndex core and an embedding provider:

Requirements

  • Python 3.10–3.12
  • A running Actian VectorAI DB instance (default endpoint: localhost:6574)

Quickstart

The ActianVectorAIVectorStore uses a context manager to handle connection lifecycle automatically. Vector configuration is inferred from the first inserted embedding if not specified.

Connection management

The integration supports several connection patterns for managing client lifecycle. The examples in this section assume you have nodes and query objects as shown in the Quickstart above. Use a context manager for automatic connection handling:

Manual connection

For fine-grained control over connection lifecycle:

External client

Pass a pre-configured VectorAIClient when you need to share a connection or supply custom client configuration:
When an external client is provided, url and client_kwargs are ignored. The caller is responsible for managing the client’s lifecycle.

Async operations

All operations have async counterparts for non-blocking workflows. Async methods use AsyncVectorAIClient under the hood. The examples in this section use the same nodes setup as the Quickstart.

Async context manager

Use an async context manager for automatic connection handling:

Async manual connection

For fine-grained control over async connection lifecycle:

Async external client

Pass a pre-configured AsyncVectorAIClient when you need to share an async connection:
The async_client must be a different instance from the internal async client of a provided sync client.

Deleting data

Remove nodes from the vector store using document IDs, metadata filters, or by clearing the entire collection.

Delete by source document ID

Remove all nodes associated with a source document:

Delete with metadata filters

Remove nodes matching specific metadata conditions:

Clear collection

Delete the entire collection:

Custom vector configuration

Specify explicit vector parameters instead of relying on auto-detection:
When dense_vector_params is omitted, vector configuration is inferred from the first inserted embedding and defaults to cosine distance.

Metadata filtering

Metadata filters can be used with query, delete_nodes, and adelete_nodes to narrow results based on payload fields.

Supported filter operators

Unsupported operators (ANY, ALL, TEXT_MATCH_INSENSITIVE, CONTAINS) raise NotImplementedError.

Filter conditions

AND, OR, and NOT conditions are supported through FilterCondition:

Configuration

API reference

Limitations

  • get_nodes() and aget_nodes() are not implemented (pending scroll API support in the Actian VectorAI client).
  • Only VectorStoreQueryMode.DEFAULT (dense vector search) is supported.

Next steps

  • LangChain — Alternative framework for RAG pipelines.
  • Search — Understand the underlying vector search operations.
  • Filtering — Apply metadata conditions to narrow search results.