Skip to content

Commit b44ac7b

Browse files
Changes default cache embedding model (#326)
Changes the default semantic cache embedding model to our fine tuned model.
1 parent 8fe754b commit b44ac7b

File tree

3 files changed

+39
-6
lines changed

3 files changed

+39
-6
lines changed

docs/user_guide/03_llmcache.ipynb

+1-1
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@
271271
"outputs": [],
272272
"source": [
273273
"# Widen the semantic distance threshold\n",
274-
"llmcache.set_threshold(0.3)"
274+
"llmcache.set_threshold(0.5)"
275275
]
276276
},
277277
{

redisvl/extensions/cache/llm/semantic.py

+26-1
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,19 @@ def __init__(
111111
if dtype:
112112
vectorizer_kwargs.update(dtype=dtype)
113113

114+
# raise a warning to inform users we changed the default model
115+
# remove this warning in future releases
116+
logger.warning(
117+
"The default vectorizer has changed from `sentence-transformers/all-mpnet-base-v2` "
118+
"to `redis/langcache-embed-v1` in version 0.6.0 of RedisVL. "
119+
"For more information about this model, please refer to https://arxiv.org/abs/2504.02268 "
120+
"or visit https://huggingface.co/redis/langcache-embed-v1. "
121+
"To continue using the old vectorizer, please specify it explicitly in the constructor as: "
122+
"vectorizer=HFTextVectorizer(model='sentence-transformers/all-mpnet-base-v2')"
123+
)
124+
114125
self._vectorizer = HFTextVectorizer(
115-
model="sentence-transformers/all-mpnet-base-v2",
126+
model="redis/langcache-embed-v1",
116127
**vectorizer_kwargs,
117128
)
118129

@@ -147,6 +158,20 @@ def __init__(
147158
# Check for existing cache index and handle schema mismatch
148159
self.overwrite = overwrite
149160
if not self.overwrite and self._index.exists():
161+
162+
if not vectorizer:
163+
# user hasn't specified a vectorizer and an index already exists they're not overwriting
164+
# raise a warning to inform users we changed the default embedding model
165+
# remove this warning in future releases
166+
logger.warning(
167+
"The default vectorizer has changed from `sentence-transformers/all-mpnet-base-v2` "
168+
"to `redis/langcache-embed-v1` in version 0.6.0 of RedisVL. "
169+
"For more information about this model, please refer to https://arxiv.org/abs/2504.02268 "
170+
"or visit https://huggingface.co/redis/langcache-embed-v1. "
171+
"To continue using the old vectorizer, please specify it explicitly in the constructor as: "
172+
"vectorizer=HFTextVectorizer(model='sentence-transformers/all-mpnet-base-v2')"
173+
)
174+
150175
existing_index = SearchIndex.from_existing(
151176
name, redis_client=self._index.client
152177
)

tests/integration/test_llmcache.py

+12-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
@pytest.fixture
1919
def vectorizer():
20-
return HFTextVectorizer("sentence-transformers/all-mpnet-base-v2")
20+
return HFTextVectorizer("redis/langcache-embed-v1")
2121

2222

2323
@pytest.fixture
@@ -720,12 +720,17 @@ def test_cache_filtering(cache_with_filters):
720720
# test we can pass a list of tags
721721
combined_filter = filter_1 | filter_2 | filter_3
722722
results = cache_with_filters.check(
723-
"test prompt 1", filter_expression=combined_filter, num_results=5
723+
"test prompt 1",
724+
filter_expression=combined_filter,
725+
num_results=5,
726+
distance_threshold=0.5,
724727
)
725728
assert len(results) == 3
726729

727730
# test that default tag param searches full cache
728-
results = cache_with_filters.check("test prompt 1", num_results=5)
731+
results = cache_with_filters.check(
732+
"test prompt 1", num_results=5, distance_threshold=0.6
733+
)
729734
assert len(results) == 4
730735

731736
# test no results are returned if we pass a nonexistant tag
@@ -784,7 +789,10 @@ def test_complex_filters(cache_with_filters):
784789
# test we can do range filters on inserted_at and updated_at fields
785790
range_filter = Num("inserted_at") < current_timestamp
786791
results = cache_with_filters.check(
787-
"prompt 1", filter_expression=range_filter, num_results=5
792+
"prompt 1",
793+
filter_expression=range_filter,
794+
num_results=5,
795+
distance_threshold=0.5,
788796
)
789797
assert len(results) == 2
790798

0 commit comments

Comments
 (0)