Vector capability
Base class for vector capability implementations.
This module defines BaseVectorCapability that centralizes encryption and batching for vector operations. Subclasses implement internal methods for datastore-specific logic.
BaseVectorCapability(em_invoker, encryption=None, default_batch_size=None)
Bases: DataStoreCapability
Base class for vector capability implementations.
Provides default batching/encryption flows for create, create_from_vector, retrieve, retrieve_by_vector, update, delete, and clear.
Initialize the base vector capability.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
em_invoker
|
BaseEMInvoker
|
Embedding model invoker (required). |
required |
encryption
|
EncryptionCapability | None
|
Encryption capability. Defaults to None. |
None
|
default_batch_size
|
int | None
|
Default batch size. Defaults to None. |
None
|
em_invoker
property
Return the embedding model invoker.
Returns:
| Name | Type | Description |
|---|---|---|
BaseEMInvoker |
BaseEMInvoker
|
The EM invoker instance. |
create(data, batch_size=None, **kwargs)
async
create_from_vector(chunk_vectors, batch_size=None, **kwargs)
async
Create from pre-computed vectors with encryption and batching.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chunk_vectors
|
list[tuple[Chunk, Vector]]
|
Chunks and their vectors. |
required |
batch_size
|
int | None
|
Override batch size. Defaults to None. |
None
|
**kwargs
|
Any
|
Passed to subclass. |
{}
|
ensure_index(**kwargs)
abstractmethod
async
Ensure vector index exists.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
**kwargs
|
Any
|
Datastore-specific parameters. |
{}
|
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This method is not implemented in the subclass. |
retrieve_by_vector(vector, filters=None, options=None, **kwargs)
async
Retrieve by vector with automatic decryption.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vector
|
Vector
|
Query vector. |
required |
filters
|
FilterClause | QueryFilter | None
|
Filters. Defaults to None. |
None
|
options
|
QueryOptions | None
|
Query options. Defaults to None. |
None
|
**kwargs
|
Any
|
Passed to _retrieve_by_vector. |
{}
|
Returns:
| Type | Description |
|---|---|
list[Chunk]
|
list[Chunk]: Decrypted chunks. |
update(update_values, filters=None, batch_size=None, **kwargs)
async
Update records with centralized encryption and content embedding refresh.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
update_values
|
dict[str, Any]
|
Fields to update. |
required |
filters
|
FilterClause | QueryFilter | None
|
Filters. Defaults to None. |
None
|
batch_size
|
int | None
|
Optional batch size override. Defaults to DefaultBatchSize.UPDATE when not configured at request/capability level. |
None
|
**kwargs
|
Any
|
Passed to backend-specific _update implementation. |
{}
|