Storages
BaseDocumentStore ¶
Bases: ABC
A document store is in charged of storing and managing documents
Source code in libs/kotaemon/kotaemon/storages/docstores/base.py
add
abstractmethod
¶
Add document into document store
Parameters:
Name | Type | Description | Default |
---|---|---|---|
docs
|
Union[Document, List[Document]]
|
Document or list of documents |
required |
ids
|
Optional[Union[List[str], str]]
|
List of ids of the documents. Optional, if not set will use doc.doc_id |
None
|
Source code in libs/kotaemon/kotaemon/storages/docstores/base.py
get
abstractmethod
¶
get_all
abstractmethod
¶
count
abstractmethod
¶
query
abstractmethod
¶
delete
abstractmethod
¶
ElasticsearchDocumentStore ¶
Bases: BaseDocumentStore
Simple memory document store that store document in a dictionary
Source code in libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
|
add ¶
Add document into document store
Parameters:
Name | Type | Description | Default |
---|---|---|---|
docs
|
Union[Document, List[Document]]
|
list of documents to add |
required |
ids
|
Optional[Union[List[str], str]]
|
specify the ids of documents to add or use existing doc.doc_id |
None
|
refresh_indices
|
bool
|
request Elasticsearch to update its index (default to True) |
True
|
Source code in libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py
query_raw ¶
Query Elasticsearch store using query format of ES client
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query
|
dict
|
Elasticsearch query format |
required |
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]: List of result documents |
Source code in libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py
query ¶
Search Elasticsearch docstore using search query (BM25)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query
|
str
|
query text |
required |
top_k
|
int
|
number of top documents to return. Defaults to 10. |
10
|
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]: List of result documents |
Source code in libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py
count ¶
get_all ¶
delete ¶
Delete document by id
Source code in libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py
InMemoryDocumentStore ¶
Bases: BaseDocumentStore
Simple memory document store that store document in a dictionary
Source code in libs/kotaemon/kotaemon/storages/docstores/in_memory.py
add ¶
Add document into document store
Parameters:
Name | Type | Description | Default |
---|---|---|---|
docs
|
Union[Document, List[Document]]
|
list of documents to add |
required |
ids
|
Optional[Union[List[str], str]]
|
specify the ids of documents to add or use existing doc.doc_id |
None
|
exist_ok
|
raise error when duplicate doc-id found in the docstore (default to False) |
required |
Source code in libs/kotaemon/kotaemon/storages/docstores/in_memory.py
get ¶
get_all ¶
count ¶
delete ¶
save ¶
load ¶
Load document store from path
Source code in libs/kotaemon/kotaemon/storages/docstores/in_memory.py
query ¶
LanceDBDocumentStore ¶
Bases: BaseDocumentStore
LancdDB document store which support full-text search query
Source code in libs/kotaemon/kotaemon/storages/docstores/lancedb.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
|
add ¶
Load documents into lancedb storage.
Source code in libs/kotaemon/kotaemon/storages/docstores/lancedb.py
get ¶
Get document by id
Source code in libs/kotaemon/kotaemon/storages/docstores/lancedb.py
delete ¶
Delete document by id
Source code in libs/kotaemon/kotaemon/storages/docstores/lancedb.py
SimpleFileDocumentStore ¶
Bases: InMemoryDocumentStore
Improve InMemoryDocumentStore by auto saving whenever the corpus is changed
Source code in libs/kotaemon/kotaemon/storages/docstores/simple_file.py
add ¶
Add document into document store
Parameters:
Name | Type | Description | Default |
---|---|---|---|
docs
|
Union[Document, List[Document]]
|
list of documents to add |
required |
ids
|
Optional[Union[List[str], str]]
|
specify the ids of documents to add or use existing doc.doc_id |
None
|
exist_ok
|
raise error when duplicate doc-id found in the docstore (default to False) |
required |
Source code in libs/kotaemon/kotaemon/storages/docstores/simple_file.py
delete ¶
BaseVectorStore ¶
Bases: ABC
Source code in libs/kotaemon/kotaemon/storages/vectorstores/base.py
add
abstractmethod
¶
Add vector embeddings to vector stores
Parameters:
Name | Type | Description | Default |
---|---|---|---|
embeddings
|
list[list[float]] | list[DocumentWithEmbedding]
|
List of embeddings |
required |
metadatas
|
Optional[list[dict]]
|
List of metadata of the embeddings |
None
|
ids
|
Optional[list[str]]
|
List of ids of the embeddings |
None
|
kwargs
|
meant for vectorstore-specific parameters |
required |
Returns:
Type | Description |
---|---|
list[str]
|
List of ids of the embeddings |
Source code in libs/kotaemon/kotaemon/storages/vectorstores/base.py
delete
abstractmethod
¶
Delete vector embeddings from vector stores
Parameters:
Name | Type | Description | Default |
---|---|---|---|
ids
|
list[str]
|
List of ids of the embeddings to be deleted |
required |
kwargs
|
meant for vectorstore-specific parameters |
{}
|
Source code in libs/kotaemon/kotaemon/storages/vectorstores/base.py
query
abstractmethod
¶
Return the top k most similar vector embeddings
Parameters:
Name | Type | Description | Default |
---|---|---|---|
embedding
|
list[float]
|
List of embeddings |
required |
top_k
|
int
|
Number of most similar embeddings to return |
1
|
ids
|
Optional[list[str]]
|
List of ids of the embeddings to be queried |
None
|
Returns:
Type | Description |
---|---|
tuple[list[list[float]], list[float], list[str]]
|
the matched embeddings, the similarity scores, and the ids |
Source code in libs/kotaemon/kotaemon/storages/vectorstores/base.py
ChromaVectorStore ¶
Bases: LlamaIndexVectorStore
Source code in libs/kotaemon/kotaemon/storages/vectorstores/chroma.py
delete ¶
Delete vector embeddings from vector stores
Parameters:
Name | Type | Description | Default |
---|---|---|---|
ids
|
List[str]
|
List of ids of the embeddings to be deleted |
required |
kwargs
|
meant for vectorstore-specific parameters |
{}
|
Source code in libs/kotaemon/kotaemon/storages/vectorstores/chroma.py
InMemoryVectorStore ¶
Bases: LlamaIndexVectorStore
Source code in libs/kotaemon/kotaemon/storages/vectorstores/in_memory.py
save ¶
save a simpleVectorStore to a dictionary.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
save_path
|
str
|
Path of saving vector to disk. |
required |
fs
|
Optional[AbstractFileSystem]
|
An abstract super-class for pythonic file-systems |
None
|
Source code in libs/kotaemon/kotaemon/storages/vectorstores/in_memory.py
load ¶
Create a SimpleKVStore from a load directory.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
load_path
|
str
|
Path of loading vector. |
required |
fs
|
Optional[AbstractFileSystem]
|
An abstract super-class for pythonic file-systems |
None
|
Source code in libs/kotaemon/kotaemon/storages/vectorstores/in_memory.py
LanceDBVectorStore ¶
Bases: LlamaIndexVectorStore
Source code in libs/kotaemon/kotaemon/storages/vectorstores/lancedb.py
delete ¶
Delete vector embeddings from vector stores
Parameters:
Name | Type | Description | Default |
---|---|---|---|
ids
|
List[str]
|
List of ids of the embeddings to be deleted |
required |
kwargs
|
meant for vectorstore-specific parameters |
{}
|
Source code in libs/kotaemon/kotaemon/storages/vectorstores/lancedb.py
MilvusVectorStore ¶
Bases: LlamaIndexVectorStore
Source code in libs/kotaemon/kotaemon/storages/vectorstores/milvus.py
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 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 107 108 109 110 111 112 113 114 115 |
|
QdrantVectorStore ¶
Bases: LlamaIndexVectorStore
Source code in libs/kotaemon/kotaemon/storages/vectorstores/qdrant.py
delete ¶
Delete vector embeddings from vector stores
Parameters:
Name | Type | Description | Default |
---|---|---|---|
ids
|
List[str]
|
List of ids of the embeddings to be deleted |
required |
kwargs
|
meant for vectorstore-specific parameters |
{}
|
Source code in libs/kotaemon/kotaemon/storages/vectorstores/qdrant.py
SimpleFileVectorStore ¶
Bases: LlamaIndexVectorStore
Similar to InMemoryVectorStore but is backed by file by default