NVIDIA Morpheus (25.02.01)

morpheus_llm.service.vdb.vector_db_service.VectorDBService

class VectorDBService[source]

Bases: abc.ABC

Class used for vectorstore specific implementation.

Methods

close() Close connection to the vector database.
count(name, **kwargs) Returns number of rows/entities in the given resource.
create(name[, overwrite]) Create resources in the vector database.
create_from_dataframe(name, df[, overwrite]) Create resources in the vector database.
delete(name, expr, **kwargs) Delete data in the vector database.
delete_by_keys(name, keys, **kwargs) Delete vectors by keys from the resource.
describe(name, **kwargs) Describe resource in the vector database.
drop(name, **kwargs) Drop resources from the vector database.
has_store_object(name) Check if a resource exists in the vector database.
insert(name, data, **kwargs) Insert data into the vector database.
insert_dataframe(name, df, **kwargs) Converts dataframe to rows and insert into the vector database resource.
list_store_objects(**kwargs) List existing resources in the vector database.
query(name, query, **kwargs) Query a resource in the vector database.
release_resource(name) Release a loaded resource from the memory.
retrieve_by_keys(name, keys, **kwargs) Retrieve the inserted vectors using keys from the resource.
similarity_search(name, **kwargs) Perform a similarity search within the vector database.
transform(data, **kwargs) Transform data according to the specific vector database implementation.
update(name, data, **kwargs) Update data in the vector database.

load_resource

abstract close()[source]

Close connection to the vector database.

abstract count(name, **kwargs)[source]

Returns number of rows/entities in the given resource.

Parameters
namestr

Name of the resource.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
int

Returns number of rows/entities in the given resource.

abstract create(name, overwrite=False, **kwargs)[source]

Create resources in the vector database.

Parameters
namestr

Name of the resource.

overwritebool, default False

Whether to overwrite the resource if it already exists.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

abstract create_from_dataframe(name, df, overwrite=False, **kwargs)[source]

Create resources in the vector database.

Parameters
namestr

Name of the resource.

dfDataFrameType

The dataframe to create the resource from.

overwritebool, optional

Whether to overwrite the resource if it already exists. Default is False.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

abstract delete(name, expr, **kwargs)[source]

Delete data in the vector database.

Parameters
namestr

Name of the resource.

exprtyping.Any

Delete expression.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
dict[str, typing.Any]

Returns result of the delete operation stats.

abstract delete_by_keys(name, keys, **kwargs)[source]

Delete vectors by keys from the resource.

Parameters
namestr

Name of the resource.

keysint | str | list

Primary keys to delete vectors.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
typing.Any

Returns vectors of the given keys that are delete from the resource.

abstract describe(name, **kwargs)[source]

Describe resource in the vector database.

Parameters
namestr

Name of the resource.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
dict

Returns resource information.

abstract drop(name, **kwargs)[source]

Drop resources from the vector database.

Parameters
namestr

Name of the resource.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

abstract has_store_object(name)[source]

Check if a resource exists in the vector database.

Parameters
namestr

Name of the resource.

Returns
bool

Returns True if resource exists in the vector database, otherwise False.

abstract insert(name, data, **kwargs)[source]

Insert data into the vector database.

Parameters
namestr

Name of the resource.

datalist[list] | list[dict]

Data to be inserted into the resource.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
dict

Returns response content as a dictionary.

abstract insert_dataframe(name, df, **kwargs)[source]

Converts dataframe to rows and insert into the vector database resource.

Parameters
namestr

Name of the resource to be inserted.

dfDataFrameType

Dataframe to be inserted.

**kwargsdict[str, typing.Any]

Additional keyword arguments containing collection configuration.

Returns
dict

Returns response content as a dictionary.

Raises
RuntimeError

If the resource not exists exists.

abstract list_store_objects(**kwargs)[source]

List existing resources in the vector database.

Parameters
**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
list[str]

Returns available resouce names in the vector database.

abstract query(name, query, **kwargs)[source]

Query a resource in the vector database.

Parameters
namestr

Name of the resource.

querystr

Query to execute on the given resource.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
typing.Any

Returns search results.

abstract release_resource(name)[source]

Release a loaded resource from the memory.

Parameters
namestr

Name of the resource to release.

abstract retrieve_by_keys(name, keys, **kwargs)[source]

Retrieve the inserted vectors using keys from the resource.

Parameters
namestr

Name of the resource.

keystyping.Any

Primary keys to get vectors.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
list[typing.Any]

Returns rows of the given keys that exists in the resource.

Perform a similarity search within the vector database.

Parameters
namestr

Name of the resource.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
list[list[dict]]

Returns a list of lists, where each inner list contains dictionaries representing the results of the similarity search.

transform(data, **kwargs)[source]

Transform data according to the specific vector database implementation.

Parameters
datatyping.Any

Data to be updated in the resource.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
typing.Any

Returns transformed data as per the implementation.

abstract update(name, data, **kwargs)[source]

Update data in the vector database.

Parameters
namestr

Name of the resource.

datalist[typing.Any]

Data to be updated in the resource.

**kwargsdict[str, typing.Any]

Extra keyword arguments specific to the vector database implementation.

Returns
dict[str, typing.Any]

Returns result of the updated operation stats.

Previous morpheus_llm.service.vdb.vector_db_service.VectorDBResourceService
Next morpheus_llm.stages
© Copyright 2024, NVIDIA. Last updated on Mar 3, 2025.