| | 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) |