recs_searcher.similarity_search package

Submodules

recs_searcher.similarity_search._base module

Алгоритмы для получения результатов моделей.

class recs_searcher.similarity_search._base.ChromaDBSearch(model: BaseEmbedding, embedding_database: ndarray, original_array: Iterable[str], preprocessing: List[BaseTransformation], metric: Literal['l2', 'ip', 'cosine'] = 'cosine', clear_array: Iterable[str] | None = None)[исходный код]

Базовые классы: BaseEmbeddingSearch

Основано на: https://github.com/chroma-core/chroma

_MAX_BATCH_CHROMA_DB = 5000
_abc_impl = <_abc._abc_data object>

Поиск наиболее схожих k-векторов из БД на array пользователя.

Параметры

arraynp.ndarray

Пользовательский текст в виде эмбеддинга, которому нужно найти наиболее схожие вектора из БД.

kint

Кол-во выдаваемых результатов.

Returns

list_texts, list_similarity: Tuple[List[str], List[float]]

Вычисленные результаты. В списке list_texts хранится текст, который похож на текст пользователя. В списке list_similarity хранится схожесть пользовательского текста на текст

из бд в виде числа.

Все данные соотносятся по индексу в этих двух списках.

class recs_searcher.similarity_search._base.FaissSearch(model: BaseEmbedding, embedding_database: ndarray, original_array: Iterable[str], preprocessing: List[BaseTransformation], count_voronoi_cells: int | None = 1, type_optimization_searcher: Literal['IVF', 'IVFPQ'] | None = None, number_centroids: int | None = 8, bits: int | None = 8, clear_array: Iterable[str] | None = None)[исходный код]

Базовые классы: BaseEmbeddingSearch

Основано на: https://github.com/facebookresearch/faiss

_abc_impl = <_abc._abc_data object>

Поиск наиболее схожих k-векторов из БД на array пользователя.

Параметры

arraynp.ndarray

Пользовательский текст в виде эмбеддинга, которому нужно найти наиболее схожие вектора из БД.

kint

Кол-во выдаваемых результатов.

Returns

list_texts, list_similarity: Tuple[List[str], List[float]]

Вычисленные результаты. В списке list_texts хранится текст, который похож на текст пользователя. В списке list_similarity хранится схожесть пользовательского текста на текст

из бд в виде числа.

Все данные соотносятся по индексу в этих двух списках.

class recs_searcher.similarity_search._base.NearestNeighborsSearch(model: BaseEmbedding, embedding_database: ndarray, original_array: Iterable[str], preprocessing: List[BaseTransformation], clear_array: Iterable[str] | None = None, radius: float = 1.0, algorithm: str = 'auto', leaf_size: int = 30, metric: Literal['cosine', 'l1', 'l2', 'minkowski', 'manhattan'] = 'cosine', p: float = 2, metric_params: dict = None, n_jobs: int = None)[исходный код]

Базовые классы: BaseEmbeddingSearch

Поиск на основе ближайших соседей. Основа на: https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.NearestNeighbors.html#sklearn.neighbors.NearestNeighbors

_abc_impl = <_abc._abc_data object>

Поиск наиболее схожих k-векторов из БД на array пользователя.

Параметры

arraynp.ndarray

Пользовательский текст в виде эмбеддинга, которому нужно найти наиболее схожие вектора из БД.

kint

Кол-во выдаваемых результатов.

Returns

list_texts, list_similarity: Tuple[List[str], List[float]]

Вычисленные результаты. В списке list_texts хранится текст, который похож на текст пользователя. В списке list_similarity хранится схожесть пользовательского текста на текст

из бд в виде числа.

Все данные соотносятся по индексу в этих двух списках.

class recs_searcher.similarity_search._base.TheFuzzSearch(original_array: Iterable[str], preprocessing: List[BaseTransformation], clear_array: Iterable[str] | None = None)[исходный код]

Базовые классы: BaseSearch

Класс поиска наиболее похожих слов в БД с помощью расстояния Ливенштейна. Основано на: https://github.com/seatgeek/thefuzz

_abc_impl = <_abc._abc_data object>

Поиск наиболее схожих текстов из БД на clear_text пользователя.

Параметры

clear_textstr

Пользовательский текст, которому нужно найти наиболее схожие тексты из БД.

kint

Кол-во выдаваемых результатов.

Returns

list_texts, list_similarity: Tuple[List[str], List[float]]

Вычисленные результаты. В списке list_texts хранится текст, который похож на текст пользователя. В списке list_similarity хранится схожесть пользовательского текста на текст

из бд в виде числа.

Все данные соотносятся по индексу в этих двух списках.

recs_searcher.similarity_search._validate module

Алгоритмы для валидации моделей.

class recs_searcher.similarity_search._validate.Validate(searcher: BaseSearch, augmentation_transforms: List[BaseTransformation], accuracy_top: List[int] = [1, 5, 10], ascending: bool = True)[исходный код]

Базовые классы: object

Класс валидации пайплайна. Не имеет методов, возвращает словарь метрик Dict[int, float].