Skip to content

Commit 97504f8

Browse files
committed
cache to dict method
1 parent 184f521 commit 97504f8

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

redisvl/utils/vectorize/__init__.py

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import os
2+
from typing import Optional
3+
4+
from redisvl.extensions.cache.embeddings import EmbeddingsCache
15
from redisvl.utils.vectorize.base import BaseVectorizer, Vectorizers
26
from redisvl.utils.vectorize.text.azureopenai import AzureOpenAITextVectorizer
37
from redisvl.utils.vectorize.text.bedrock import BedrockTextVectorizer
@@ -23,22 +27,33 @@
2327
]
2428

2529

26-
def vectorizer_from_dict(vectorizer: dict) -> BaseVectorizer:
30+
def vectorizer_from_dict(
31+
vectorizer: dict,
32+
cache: dict = {},
33+
cache_folder=os.getenv("SENTENCE_TRANSFORMERS_HOME"),
34+
) -> BaseVectorizer:
2735
vectorizer_type = Vectorizers(vectorizer["type"])
2836
model = vectorizer["model"]
37+
38+
args = {"model": model}
39+
if cache:
40+
emb_cache = EmbeddingsCache(**cache)
41+
args["cache"] = emb_cache
42+
args["cache_folder"] = cache_folder
43+
2944
if vectorizer_type == Vectorizers.cohere:
30-
return CohereTextVectorizer(model=model)
45+
return CohereTextVectorizer(**args)
3146
elif vectorizer_type == Vectorizers.openai:
32-
return OpenAITextVectorizer(model=model)
47+
return OpenAITextVectorizer(**args)
3348
elif vectorizer_type == Vectorizers.azure_openai:
34-
return AzureOpenAITextVectorizer(model=model)
49+
return AzureOpenAITextVectorizer(**args)
3550
elif vectorizer_type == Vectorizers.hf:
36-
return HFTextVectorizer(model=model)
51+
return HFTextVectorizer(**args)
3752
elif vectorizer_type == Vectorizers.mistral:
38-
return MistralAITextVectorizer(model=model)
53+
return MistralAITextVectorizer(**args)
3954
elif vectorizer_type == Vectorizers.vertexai:
40-
return VertexAITextVectorizer(model=model)
55+
return VertexAITextVectorizer(**args)
4156
elif vectorizer_type == Vectorizers.voyageai:
42-
return VoyageAITextVectorizer(model=model)
57+
return VoyageAITextVectorizer(**args)
4358
else:
4459
raise ValueError(f"Unsupported vectorizer type: {vectorizer_type}")

0 commit comments

Comments
 (0)