Skip to content

Class swarmauri_core.vector_stores.ISimilarity.ISimilarity

swarmauri_core.vector_stores.ISimilarity.ISimilarity

Bases: ABC

Interface to define operations for computing similarity and distance between vectors. This interface is crucial for systems that need to perform similarity searches, clustering, or any operations where vector similarity plays a key role.

similarity abstractmethod

similarity(vector_a, vector_b)

Compute the similarity between two vectors. The definition of similarity (e.g., cosine similarity) should be implemented in concrete classes.

PARAMETER DESCRIPTION
vector_a

The first vector.

TYPE: IVector

vector_b

The second vector to compare with the first vector.

TYPE: IVector

RETURNS DESCRIPTION
float

A similarity score between vector_a and vector_b.

TYPE: float

Source code in swarmauri_core/vector_stores/ISimilarity.py
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@abstractmethod
def similarity(self, vector_a: IVector, vector_b: IVector) -> float:
    """
    Compute the similarity between two vectors. The definition of similarity (e.g., cosine similarity)
    should be implemented in concrete classes.

    Args:
        vector_a (IVector): The first vector.
        vector_b (IVector): The second vector to compare with the first vector.

    Returns:
        float: A similarity score between vector_a and vector_b.
    """
    pass