diff --git a/fastembed/config/dense_models.json b/fastembed/config/dense_models.json new file mode 100644 index 0000000..1d6fad8 --- /dev/null +++ b/fastembed/config/dense_models.json @@ -0,0 +1,16 @@ +{ + "models": [ + { + "model": "BAAI/bge-base-en", + "dim": 768, + "description": "Text embeddings, Unimodal (text), English...", + "license": "mit", + "size_in_GB": 0.42, + "sources": { + "hf": "Qdrant/fast-bge-base-en", + "url": "https://storage.googleapis.com/qdrant-fastembed/fast-bge-base-en.tar.gz" + }, + "model_file": "model_optimized.onnx" + } + ] +} diff --git a/fastembed/config/sparse_models.json b/fastembed/config/sparse_models.json new file mode 100644 index 0000000..e69de29 diff --git a/fastembed/model_loader.py b/fastembed/model_loader.py new file mode 100644 index 0000000..e6ff9b3 --- /dev/null +++ b/fastembed/model_loader.py @@ -0,0 +1,16 @@ +from pathlib import Path +import json +from typing import Dict, List + + +class ModelLoader: + def __init__(self): + self.config_dir = Path(__file__).parent / "configs" + self._models: Dict[str, List[Dict]] = {} + + def load_models(self, model_type: str) -> List[Dict]: + if model_type not in self._models: + config_path = self.config_dir / f"{model_type}_models.json" + with open(config_path) as f: + self._models[model_type] = json.load(f)["models"] + return self._models[model_type]