|
|
from application.vectorstore.faiss import FaissStore |
|
|
from application.vectorstore.elasticsearch import ElasticsearchStore |
|
|
from application.vectorstore.mongodb import MongoDBVectorStore |
|
|
|
|
|
|
|
|
class VectorCreator: |
|
|
vectorstores = { |
|
|
'faiss': FaissStore, |
|
|
'elasticsearch':ElasticsearchStore, |
|
|
'mongodb': MongoDBVectorStore, |
|
|
} |
|
|
|
|
|
@classmethod |
|
|
def create_vectorstore(cls, type, *args, **kwargs): |
|
|
vectorstore_class = cls.vectorstores.get(type.lower()) |
|
|
if not vectorstore_class: |
|
|
raise ValueError(f"No vectorstore class found for type {type}") |
|
|
return vectorstore_class(*args, **kwargs) |