Skip to content

db

Rago DB package.

Modules:

  • base

    Base classes for database.

  • faiss

    Module for faiss database.

Classes:

  • DBBase

    Base class for vector database.

  • FaissDB

    Faiss Database.

DBBase

Base class for vector database.

Methods:

  • embed

    Embed the documents into the database.

  • search

    Search a query from documents.

embed abstractmethod

embed(documents: Any) -> None

Embed the documents into the database.

Source code in src/rago/augmented/db/base.py
17
18
19
20
@abstractmethod
def embed(self, documents: Any) -> None:
    """Embed the documents into the database."""
    ...

search abstractmethod

search(
    query_encoded: Any, top_k: int = 2
) -> tuple[Iterable[float], Iterable[int]]

Search a query from documents.

Source code in src/rago/augmented/db/base.py
22
23
24
25
26
27
@abstractmethod
def search(
    self, query_encoded: Any, top_k: int = 2
) -> tuple[Iterable[float], Iterable[int]]:
    """Search a query from documents."""
    ...

FaissDB

Bases: DBBase

Faiss Database.

Methods:

  • embed

    Embed the documents into the database.

  • search

    Search an encoded query into vector database.

embed

embed(documents: Any) -> None

Embed the documents into the database.

Source code in src/rago/augmented/db/faiss.py
18
19
20
21
def embed(self, documents: Any) -> None:
    """Embed the documents into the database."""
    self.index = faiss.IndexFlatL2(documents.shape[1])
    self.index.add(documents)

search

search(
    query_encoded: Any, top_k: int = 2
) -> tuple[Iterable[float], Iterable[int]]

Search an encoded query into vector database.

Source code in src/rago/augmented/db/faiss.py
23
24
25
26
27
28
def search(
    self, query_encoded: Any, top_k: int = 2
) -> tuple[Iterable[float], Iterable[int]]:
    """Search an encoded query into vector database."""
    distances, indices = self.index.search(query_encoded, top_k)
    return distances, indices[0]