Document

Bases: BaseModel

A document is a chunk of text.

content (str): the string that makes up the chunk of text id (str): the optional id associated with the chunk of text metadata (Optional[dict]): optional information about the chunk of text

Source code in wiseagents/vectordb/wise_agent_vector_db.py
12
13
14
15
16
17
18
19
20
21
22
class Document(BaseModel):
    """
    A document is a chunk of text.

    content (str): the string that makes up the chunk of text
    id (str): the optional id associated with the chunk of text
    metadata (Optional[dict]): optional information about the chunk of text
    """
    content: str
    id: Optional[str] = Field(default_factory=lambda: str(uuid.uuid4()))
    metadata: Optional[dict] = Field(default_factory=dict)

WiseAgentVectorDB

Bases: WiseAgentsYAMLObject

Abstract class to define the interface for a WiseAgentVectorDB.

Source code in wiseagents/vectordb/wise_agent_vector_db.py
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
class WiseAgentVectorDB(WiseAgentsYAMLObject):
    """Abstract class to define the interface for a WiseAgentVectorDB."""

    def __init__(self):
        enforce_no_abstract_class_instances(self.__class__, WiseAgentVectorDB)


    @abstractmethod
    def get_or_create_collection(self, collection_name: str):
        """
        Get the collection for the vector DB or create it if it doesn't already exist.


        Args:
            collection_name (str): the name of the collection
        """
        ...

    @abstractmethod
    def delete_collection(self, collection_name: str):
        """
        Delete the collection with the specified name from the vector DB.


        Args:
            collection_name (str): the name of the collection to delete
        """
        ...

    @abstractmethod
    def insert_documents(self, documents: List[Document], collection_name: str):
        """
        Insert the given documents into the specified collection in the vector DB.


        Args:
            documents (List[Document]): the documents to be inserted into the specified collection
            collection_name (str): the name of the collection in the vector DB to insert the documents into
        """
        ...

    @abstractmethod
    def insert_or_update_documents(self, documents: List[Document], collection_name: str):
        """
        Insert the given documents into the specified collection in the vector DB, updating any
        documents that already exist in the collection.


        Args:
            documents (List[Document]): the documents to be inserted into the specified collection
            collection_name (str): the name of the collection in the vector DB to insert the documents into
        """
        ...

    @abstractmethod
    def delete_documents(self, ids: List[str], collection_name: str):
        """
        Delete documents from the specified collection in the vector DB.


        Args:
            ids (List[str]): the list of document IDs to be deleted
            collection_name (str): the name of the collection in the vector DB to delete the documents from
        """
        ...

    @abstractmethod
    def query(self, queries: List[str], collection_name: str, k: Optional[int]) -> List[List[Document]]:
        """
        Retrieve documents from the specified collection in the vector DB using the given queries.


        Args:
            queries (List[str]): the list of queries where each query is a string
            collection_name (str): the name of the collection in the vector DB to query
            k (Optional[int]): the number of documents to retrieve for each query

        Returns:
            List[List[Document]]: the list containing a list of documents that were
            retrieved for each query
        """
        ...

delete_collection(collection_name) abstractmethod

Delete the collection with the specified name from the vector DB.

Parameters:
  • collection_name (str) –

    the name of the collection to delete

Source code in wiseagents/vectordb/wise_agent_vector_db.py
43
44
45
46
47
48
49
50
51
52
@abstractmethod
def delete_collection(self, collection_name: str):
    """
    Delete the collection with the specified name from the vector DB.


    Args:
        collection_name (str): the name of the collection to delete
    """
    ...

delete_documents(ids, collection_name) abstractmethod

Delete documents from the specified collection in the vector DB.

Parameters:
  • ids (List[str]) –

    the list of document IDs to be deleted

  • collection_name (str) –

    the name of the collection in the vector DB to delete the documents from

Source code in wiseagents/vectordb/wise_agent_vector_db.py
79
80
81
82
83
84
85
86
87
88
89
@abstractmethod
def delete_documents(self, ids: List[str], collection_name: str):
    """
    Delete documents from the specified collection in the vector DB.


    Args:
        ids (List[str]): the list of document IDs to be deleted
        collection_name (str): the name of the collection in the vector DB to delete the documents from
    """
    ...

get_or_create_collection(collection_name) abstractmethod

Get the collection for the vector DB or create it if it doesn't already exist.

Parameters:
  • collection_name (str) –

    the name of the collection

Source code in wiseagents/vectordb/wise_agent_vector_db.py
32
33
34
35
36
37
38
39
40
41
@abstractmethod
def get_or_create_collection(self, collection_name: str):
    """
    Get the collection for the vector DB or create it if it doesn't already exist.


    Args:
        collection_name (str): the name of the collection
    """
    ...

insert_documents(documents, collection_name) abstractmethod

Insert the given documents into the specified collection in the vector DB.

Parameters:
  • documents (List[Document]) –

    the documents to be inserted into the specified collection

  • collection_name (str) –

    the name of the collection in the vector DB to insert the documents into

Source code in wiseagents/vectordb/wise_agent_vector_db.py
54
55
56
57
58
59
60
61
62
63
64
@abstractmethod
def insert_documents(self, documents: List[Document], collection_name: str):
    """
    Insert the given documents into the specified collection in the vector DB.


    Args:
        documents (List[Document]): the documents to be inserted into the specified collection
        collection_name (str): the name of the collection in the vector DB to insert the documents into
    """
    ...

insert_or_update_documents(documents, collection_name) abstractmethod

Insert the given documents into the specified collection in the vector DB, updating any documents that already exist in the collection.

Parameters:
  • documents (List[Document]) –

    the documents to be inserted into the specified collection

  • collection_name (str) –

    the name of the collection in the vector DB to insert the documents into

Source code in wiseagents/vectordb/wise_agent_vector_db.py
66
67
68
69
70
71
72
73
74
75
76
77
@abstractmethod
def insert_or_update_documents(self, documents: List[Document], collection_name: str):
    """
    Insert the given documents into the specified collection in the vector DB, updating any
    documents that already exist in the collection.


    Args:
        documents (List[Document]): the documents to be inserted into the specified collection
        collection_name (str): the name of the collection in the vector DB to insert the documents into
    """
    ...

query(queries, collection_name, k) abstractmethod

Retrieve documents from the specified collection in the vector DB using the given queries.

Parameters:
  • queries (List[str]) –

    the list of queries where each query is a string

  • collection_name (str) –

    the name of the collection in the vector DB to query

  • k (Optional[int]) –

    the number of documents to retrieve for each query

Returns:
  • List[List[Document]]

    List[List[Document]]: the list containing a list of documents that were

  • List[List[Document]]

    retrieved for each query

Source code in wiseagents/vectordb/wise_agent_vector_db.py
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
@abstractmethod
def query(self, queries: List[str], collection_name: str, k: Optional[int]) -> List[List[Document]]:
    """
    Retrieve documents from the specified collection in the vector DB using the given queries.


    Args:
        queries (List[str]): the list of queries where each query is a string
        collection_name (str): the name of the collection in the vector DB to query
        k (Optional[int]): the number of documents to retrieve for each query

    Returns:
        List[List[Document]]: the list containing a list of documents that were
        retrieved for each query
    """
    ...