Skip to content

Search Engine

BaseSearchEngine

Bases: ABC

Base class for a search engine that performs text-to-vector searches in a vector store.

__init__(embedding_model, vector_db)

Initialize the search engine with an embedding model and a vector database.

Parameters:

  • embedding_model (BaseEmbedding) –

    The model used to generate text embeddings.

  • vector_db (BaseVectorDB) –

    The vector database for storing and querying embeddings.

search(text, k=10, **kwargs) async

Convert text to embedding and search in the vector database.

Parameters:

  • text (str) –

    The input text to search.

  • k (int, default: 10 ) –

    The number of top results to return.

  • **kwargs (Any, default: {} ) –

    Additional arguments for the vector database query.

Returns:

  • List[str]

    A list of IDs corresponding to the search results.

TigerVectorSearchEngine

Bases: BaseSearchEngine

Search engine that performs text embedding and similarity search using OpenAI and TigerVector.

__init__(embedding_model, vector_db)

Initialize the TigerVectorSearchEngine.

Parameters:

  • embedding_model (OpenAIEmbedding) –

    The embedding model used for text-to-vector conversion.

  • vector_db (TigerVectorManager) –

    The vector database for similarity search.

NanoVectorDBSearchEngine

Bases: BaseSearchEngine

Search engine that performs text embedding and similarity search using OpenAI and NanoVectorDB.

__init__(embedding_model, vector_db)

Initialize the NanoVectorDBSearchEngine.

Parameters:

  • embedding_model (OpenAIEmbedding) –

    The embedding model used for text-to-vector conversion.

  • vector_db (NanoVectorDBManager) –

    The vector database for similarity search.