Class AlloyDBVectorStore (0.14.0)

AlloyDBVectorStore(
    key: object,
    engine: langchain_postgres.v2.engine.PGEngine,
    vs: langchain_postgres.v2.async_vectorstore.AsyncPGVectorStore,
)

Google AlloyDB Vector Store class

Methods

AlloyDBVectorStore

AlloyDBVectorStore(
    key: object,
    engine: langchain_postgres.v2.engine.PGEngine,
    vs: langchain_postgres.v2.async_vectorstore.AsyncPGVectorStore,
)

PGVectorStore constructor.

Parameters
Name Description
key object

Prevent direct constructor usage.

engine PGEngine

Connection pool engine for managing connections to Postgres database.

vs AsyncPGVectorStore

The async only VectorStore implementation

Exceptions
Type Description
Exception If called directly by user.

aadd_images

aadd_images(
    uris: list[str],
    metadatas: typing.Optional[list[dict]] = None,
    ids: typing.Optional[list[str]] = None,
    store_uri_only: bool = False,
    **kwargs: typing.Any
) -> list[str]

Embed images and add to the table.

add_images

add_images(
    uris: list[str],
    metadatas: typing.Optional[list[dict]] = None,
    ids: typing.Optional[list[str]] = None,
    store_uri_only: bool = False,
    **kwargs: typing.Any
) -> list[str]

Embed images and add to the table.

aset_maintenance_work_mem

aset_maintenance_work_mem(num_leaves: int, vector_size: int) -> None

Set database maintenance work memory (for ScaNN index creation).

asimilarity_search_image

asimilarity_search_image(
    image_uri: str,
    k: typing.Optional[int] = None,
    filter: typing.Optional[dict] = None,
    **kwargs: typing.Any
) -> list[langchain_core.documents.base.Document]

Return docs selected by similarity search on image_uri.

create

create(
    engine: langchain_google_alloydb_pg.engine.AlloyDBEngine,
    embedding_service: langchain_core.embeddings.embeddings.Embeddings,
    table_name: str,
    schema_name: str = "public",
    content_column: str = "content",
    embedding_column: str = "embedding",
    metadata_columns: typing.Optional[list[str]] = None,
    ignore_metadata_columns: typing.Optional[list[str]] = None,
    id_column: str = "langchain_id",
    metadata_json_column: typing.Optional[str] = "langchain_metadata",
    distance_strategy: langchain_postgres.v2.indexes.DistanceStrategy = DistanceStrategy.COSINE_DISTANCE,
    k: int = 4,
    fetch_k: int = 20,
    lambda_mult: float = 0.5,
    index_query_options: typing.Optional[
        langchain_postgres.v2.indexes.QueryOptions
    ] = None,
    hybrid_search_config: typing.Optional[
        langchain_postgres.v2.hybrid_search_config.HybridSearchConfig
    ] = None,
) -> langchain_google_alloydb_pg.vectorstore.AlloyDBVectorStore

Create an PGVectorStore instance.

Parameters
Name Description
engine AlloyDBEngine

Connection pool engine for managing connections to postgres database.

embedding_service Embeddings

Text embedding model to use.

table_name str

Name of an existing table.

schema_name str, optional

Name of the database schema. Defaults to "public".

content_column str

Column that represent a Document's page_content. Defaults to "content".

embedding_column str

Column for embedding vectors. The embedding is generated from the document value. Defaults to "embedding".

metadata_columns list[str]

Column(s) that represent a document's metadata.

ignore_metadata_columns list[str]

Column(s) to ignore in pre-existing tables for a document's metadata. Can not be used with metadata_columns. Defaults to None.

id_column str

Column that represents the Document's id. Defaults to "langchain_id".

metadata_json_column str

Column to store metadata as JSON. Defaults to "langchain_metadata".

distance_strategy DistanceStrategy

Distance strategy to use for vector similarity search. Defaults to COSINE_DISTANCE.

k int

Number of Documents to return from search. Defaults to 4.

fetch_k int

Number of Documents to fetch to pass to MMR algorithm.

lambda_mult float

Number between 0 and 1 that determines the degree of diversity among the results with 0 corresponding to maximum diversity and 1 to minimum diversity. Defaults to 0.5.

index_query_options QueryOptions

Index query option.

hybrid_search_config HybridSearchConfig

Hybrid search configuration. Defaults to None.

create_sync

create_sync(
    engine: langchain_google_alloydb_pg.engine.AlloyDBEngine,
    embedding_service: langchain_core.embeddings.embeddings.Embeddings,
    table_name: str,
    schema_name: str = "public",
    content_column: str = "content",
    embedding_column: str = "embedding",
    metadata_columns: typing.Optional[list[str]] = None,
    ignore_metadata_columns: typing.Optional[list[str]] = None,
    id_column: str = "langchain_id",
    metadata_json_column: str = "langchain_metadata",
    distance_strategy: langchain_postgres.v2.indexes.DistanceStrategy = DistanceStrategy.COSINE_DISTANCE,
    k: int = 4,
    fetch_k: int = 20,
    lambda_mult: float = 0.5,
    index_query_options: typing.Optional[
        langchain_postgres.v2.indexes.QueryOptions
    ] = None,
    hybrid_search_config: typing.Optional[
        langchain_postgres.v2.hybrid_search_config.HybridSearchConfig
    ] = None,
) -> langchain_google_alloydb_pg.vectorstore.AlloyDBVectorStore

Create an AlloyDBVectorStore instance.

Parameters
Name Description
key object

Prevent direct constructor usage.

engine AlloyDBEngine

Connection pool engine for managing connections to AlloyDB database.

embedding_service Embeddings

Text embedding model to use.

table_name str

Name of an existing table.

schema_name str, optional

Name of the database schema. Defaults to "public".

content_column str, optional

Column that represent a Document’s page_content. Defaults to "content".

embedding_column str, optional

Column for embedding vectors. The embedding is generated from the document value. Defaults to "embedding".

metadata_columns list[str]

Column(s) that represent a document's metadata. Defaults to an empty list.

ignore_metadata_columns Optional[list[str]]

Column(s) to ignore in pre-existing tables for a document's metadata. Can not be used with metadata_columns. Defaults to None.

id_column str, optional

Column that represents the Document's id. Defaults to "langchain_id".

metadata_json_column str, optional

Column to store metadata as JSON. Defaults to "langchain_metadata".

distance_strategy DistanceStrategy, optional

Distance strategy to use for vector similarity search. Defaults to COSINE_DISTANCE.

k int, optional

Number of Documents to return from search. Defaults to 4.

fetch_k int, optional

Number of Documents to fetch to pass to MMR algorithm. Defaults to 20.

lambda_mult float, optional

Number between 0 and 1 that determines the degree of diversity among the results with 0 corresponding to maximum diversity and 1 to minimum diversity. Defaults to 0.5.

index_query_options Optional[QueryOptions], optional

Index query option. Defaults to None.

hybrid_search_config HybridSearchConfig

Hybrid search configuration. Defaults to None.

set_maintenance_work_mem

set_maintenance_work_mem(num_leaves: int, vector_size: int) -> None

Set database maintenance work memory (for ScaNN index creation).

similarity_search_image

similarity_search_image(
    image_uri: str,
    k: typing.Optional[int] = None,
    filter: typing.Optional[dict] = None,
    **kwargs: typing.Any
) -> list[langchain_core.documents.base.Document]

Return docs selected by similarity search on image.