Skip to main content

llama-index vector_stores Vertex AI Vector Search integration

Project description

LlamaIndex Vector Stores Integration: Vertex AI Vector Search

Vertex AI Vector Search is a fully managed, highly scalable vector similarity search service on Google Cloud.

Overview

This integration supports both Vertex AI Vector Search architectures:

  • v1.0 (default): Index + Endpoint architecture
  • v2.0 (opt-in): Collection-based architecture (simpler setup, more features)

The v2.0 support is opt-in and maintains 100% backward compatibility with existing v1.0 code.

Installation

Basic Installation (v1 only)

pip install llama-index-vector-stores-vertexaivectorsearch

With v2 Support

pip install 'llama-index-vector-stores-vertexaivectorsearch[v2]'

Quick Start

v1.0 (Default)

from llama_index.vector_stores.vertexaivectorsearch import VertexAIVectorStore

vector_store = VertexAIVectorStore(
    project_id="my-project",
    region="us-central1",
    index_id="projects/.../indexes/123",
    endpoint_id="projects/.../indexEndpoints/456",
    gcs_bucket_name="my-staging-bucket",  # Required for batch updates
)

v2.0 (New - Simpler Setup)

from llama_index.vector_stores.vertexaivectorsearch import VertexAIVectorStore

vector_store = VertexAIVectorStore(
    api_version="v2",  # Opt-in to v2
    project_id="my-project",
    region="us-central1",
    collection_id="my-collection",
    # No GCS bucket needed!
)

Usage with LlamaIndex

from llama_index.core import VectorStoreIndex, StorageContext, Document
from llama_index.vector_stores.vertexaivectorsearch import VertexAIVectorStore

# Create vector store (v1 or v2)
vector_store = VertexAIVectorStore(
    api_version="v2",
    project_id="my-project",
    region="us-central1",
    collection_id="my-collection",
)

# Create storage context
storage_context = StorageContext.from_defaults(vector_store=vector_store)

# Build index from documents
index = VectorStoreIndex.from_documents(
    documents, storage_context=storage_context
)

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

v1 vs v2 Comparison

Feature v1 v2
Required Resources Index + Endpoint Collection only
GCS Bucket Required for batch Not needed
clear() method Not supported Supported
Setup Complexity Higher Lower

Parameters

v1 Parameters

  • project_id: Google Cloud project ID
  • region: Google Cloud region
  • index_id: Vertex AI index resource name
  • endpoint_id: Vertex AI endpoint resource name
  • gcs_bucket_name: GCS bucket for batch updates

v2 Parameters

  • api_version: Set to "v2"
  • project_id: Google Cloud project ID
  • region: Google Cloud region
  • collection_id: Vertex AI collection name

Hybrid Search (V2 Only)

V2 supports hybrid search, combining vector similarity with text-based search for improved retrieval quality.

Enable Hybrid Search

from llama_index.vector_stores.vertexaivectorsearch import VertexAIVectorStore

vector_store = VertexAIVectorStore(
    api_version="v2",
    project_id="my-project",
    region="us-central1",
    collection_id="my-collection",
    enable_hybrid=True,
    text_search_fields=["title", "content"],  # Fields for text search
)

Query Modes

from llama_index.core.vector_stores.types import (
    VectorStoreQuery,
    VectorStoreQueryMode,
)

# DEFAULT: Vector similarity search only
query = VectorStoreQuery(
    query_embedding=embedding,
    mode=VectorStoreQueryMode.DEFAULT,
)

# TEXT_SEARCH: Full-text keyword search only
query = VectorStoreQuery(
    query_str="search terms",
    mode=VectorStoreQueryMode.TEXT_SEARCH,
)

# HYBRID: Vector + Text search combined with RRF
query = VectorStoreQuery(
    query_embedding=embedding,
    query_str="search terms",
    mode=VectorStoreQueryMode.HYBRID,
    alpha=0.5,  # 0=text only, 1=vector only
)

# SEMANTIC_HYBRID: Vector + Semantic search
query = VectorStoreQuery(
    query_embedding=embedding,
    query_str="search terms",
    mode=VectorStoreQueryMode.SEMANTIC_HYBRID,
)

Ranker Options

Two ranker options are available for combining search results:

# RRF (default) - uses alpha for weighting
vector_store = VertexAIVectorStore(
    ...,
    hybrid_ranker="rrf",
    default_hybrid_alpha=0.5,  # 0=text only, 1=vector only
)

# VertexRanker - AI-powered semantic ranking
vector_store = VertexAIVectorStore(
    ...,
    hybrid_ranker="vertex",
    vertex_ranker_model="semantic-ranker-default@latest",
    vertex_ranker_title_field="title",
    vertex_ranker_content_field="content",
)

Hybrid Search Parameters

Parameter Type Default Description
enable_hybrid bool False Enable hybrid search modes
text_search_fields List[str] None Data fields for TextSearch
embedding_field str "embedding" Vector field name in collection
default_hybrid_alpha float 0.5 Default RRF weight (0=text, 1=vector)
hybrid_ranker str "rrf" Ranker type: "rrf" or "vertex"
semantic_task_type str "RETRIEVAL_QUERY" Task type for SemanticSearch
vertex_ranker_model str "semantic-ranker-default@latest" VertexRanker model ID
vertex_ranker_title_field str None Field for VertexRanker title
vertex_ranker_content_field str None Field for VertexRanker content

For a complete working example with hybrid search, see the v2 example notebook.

Documentation

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

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_vertexaivectorsearch-0.4.0.tar.gz.

File metadata

  • Download URL: llama_index_vector_stores_vertexaivectorsearch-0.4.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for llama_index_vector_stores_vertexaivectorsearch-0.4.0.tar.gz
Algorithm Hash digest
SHA256 cbe3aa2403567df77f1d9f591fd4e8a25cd475e4ede0af2efd5b8b44ef1d9d1a
MD5 ddad59ef95cba06e7fcd245bad0ebfe6
BLAKE2b-256 3cd297ea218fc65f9c8e4a4cc08b8c02d3d1134848e57811d395b8be486627cc

See more details on using hashes here.

File details

Details for the file llama_index_vector_stores_vertexaivectorsearch-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: llama_index_vector_stores_vertexaivectorsearch-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for llama_index_vector_stores_vertexaivectorsearch-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ac0372fb01eb40ad9f1321c3bc54ea26864e6c515d4abf65dee2e395daeeaec
MD5 599cca63b02430227e75d13eabca4e0b
BLAKE2b-256 7e2127577f27618c571b87f688887b18fc386a123c9c0a16d4a49780be649bf0

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