ahvn.utils.vdb.base module

class ahvn.utils.vdb.base.VectorDatabase(collection=None, provider=None, encoder=None, embedder=None, connect=False, **kwargs)[源代码]

基类:object

参数:
  • collection (Optional[str])

  • provider (Optional[str])

  • encoder (Union[Callable[[Any], str], Tuple[Callable[[Any], str], Callable[[Any], str]]])

  • embedder (Optional[Union[Callable[[str], List[float]], Tuple[Callable[[str], List[float]], Callable[[str], List[float]]], 'LLM']])

  • connect (bool)

__init__(collection=None, provider=None, encoder=None, embedder=None, connect=False, **kwargs)[源代码]
参数:
connect()[源代码]

Create the appropriate vector store based on provider.

返回类型:

VectorStore

返回:

LlamaIndex VectorStore instance.

close()[源代码]
k_encode(kl)[源代码]
返回类型:

str

参数:

kl (Any)

k_embed(encoded_kl)[源代码]
返回类型:

List[float]

参数:

encoded_kl (str)

batch_k_encode(kls)[源代码]
返回类型:

List[str]

参数:

kls (Iterable[Any])

batch_k_embed(encoded_kls)[源代码]
返回类型:

List[List[float]]

参数:

encoded_kls (List[str])

q_encode(query)[源代码]
返回类型:

str

参数:

query (Any)

q_embed(encoded_query)[源代码]
返回类型:

List[float]

参数:

encoded_query (str)

batch_q_encode(queries)[源代码]
返回类型:

List[str]

参数:

queries (Iterable[str])

batch_q_embed(encoded_queries)[源代码]
返回类型:

List[List[float]]

参数:

encoded_queries (List[str])

k_encode_embed(obj)[源代码]

Encode an object and generate its embedding.

参数:

obj (Any) -- Object to encode and embed.

返回类型:

Tuple[str, List[float]]

返回:

Tuple of (encoded_text, embedding).

batch_k_encode_embed(objs)[源代码]

Encode a batch of objects and generate their embeddings.

参数:

objs (Iterable[Any]) -- Iterable of objects to encode and embed.

返回类型:

List[Tuple[str, List[float]]]

返回:

List of tuples of (encoded_text, embedding).

q_encode_embed(query)[源代码]

Encode a query and generate its embedding.

参数:

query (Any) -- Query to encode and embed.

返回类型:

Tuple[str, List[float]]

返回:

Tuple of (encoded_text, embedding).

batch_q_encode_embed(queries)[源代码]

Encode a batch of queries and generate their embeddings.

参数:

queries (Iterable[Any]) -- Iterable of queries to encode and embed.

返回类型:

List[Tuple[str, List[float]]]

返回:

List of tuples of (encoded_text, embedding).

search(query=None, embedding=None, topk=5, filters=None, *args, **kwargs)[源代码]
insert(record)[源代码]

Insert a single record into the vector database.

参数:

record (Dict[str, Any]) -- Dictionary containing the record data with vector and text fields.

返回类型:

None

delete(record_id)[源代码]

Delete a record from the vector database by ID.

参数:

record_id (Union[str, int]) -- ID of the record to delete.

返回类型:

None

batch_insert(records)[源代码]

Insert multiple records into the vector database.

参数:

records (List[Dict[str, Any]]) -- List of dictionaries containing record data.

返回类型:

None

clear()[源代码]

Clear all records from the vector database.

返回类型:

None

flush()[源代码]

Flush any pending operations to the vector database.

返回类型:

None