Source code for sherpa_ai.connectors.base

from abc import ABC, abstractmethod
from typing import List

from langchain_core.documents import Document 


[docs] class BaseVectorDB(ABC): """Abstract base class for vector database connectors. This class defines the interface that all vector database connectors must implement, providing methods for similarity search operations. Attributes: db: The underlying database connection or client. Example: >>> from sherpa_ai.connectors.base import BaseVectorDB >>> from sherpa_ai.connectors.chroma_vector_store import ChromaVectorStore >>> # ChromaVectorStore implements BaseVectorDB >>> vector_db = ChromaVectorStore(db=some_db) >>> results = vector_db.similarity_search("query", number_of_results=5) """ def __init__(self, db): """Initialize the vector database connector. Args: db: The database connection or client to use. Example: >>> from sherpa_ai.connectors.base import BaseVectorDB >>> from sherpa_ai.connectors.chroma_vector_store import ChromaVectorStore >>> vector_db = ChromaVectorStore(db=some_db) """ self.db = db