From a1d4c3ce0778bafcae2eb0f4334e4aa866103c2f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 11:20:17 +0000 Subject: [PATCH 1/2] Initial plan From 57dda9dc6c17af990cee0d91a6982809d556a7d7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 11:23:34 +0000 Subject: [PATCH 2/2] Fix RedisProvider HybridQuery compatibility with redisvl 0.14.0 Co-authored-by: markwallace-microsoft <127216156+markwallace-microsoft@users.noreply.github.com> --- .../agent_framework_redis/_context_provider.py | 2 +- .../redis/agent_framework_redis/_provider.py | 2 +- .../redis/tests/test_redis_provider.py | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/python/packages/redis/agent_framework_redis/_context_provider.py b/python/packages/redis/agent_framework_redis/_context_provider.py index f4e44a8677..080efed3e9 100644 --- a/python/packages/redis/agent_framework_redis/_context_provider.py +++ b/python/packages/redis/agent_framework_redis/_context_provider.py @@ -380,7 +380,7 @@ async def _redis_search( vector_field_name=self.vector_field_name, text_scorer=text_scorer, filter_expression=combined_filter, - alpha=alpha, + linear_alpha=alpha, dtype=self.redis_vectorizer.dtype, num_results=num_results, return_fields=return_fields, diff --git a/python/packages/redis/agent_framework_redis/_provider.py b/python/packages/redis/agent_framework_redis/_provider.py index 193ea444d3..454feffd1e 100644 --- a/python/packages/redis/agent_framework_redis/_provider.py +++ b/python/packages/redis/agent_framework_redis/_provider.py @@ -417,7 +417,7 @@ async def _redis_search( vector_field_name=self.vector_field_name, text_scorer=text_scorer, filter_expression=combined_filter, - alpha=alpha, + linear_alpha=alpha, dtype=self.redis_vectorizer.dtype, num_results=num_results, return_fields=return_fields, diff --git a/python/packages/redis/tests/test_redis_provider.py b/python/packages/redis/tests/test_redis_provider.py index 8e842b3de7..5b5397f867 100644 --- a/python/packages/redis/tests/test_redis_provider.py +++ b/python/packages/redis/tests/test_redis_provider.py @@ -209,10 +209,28 @@ async def test_hybridquery_path_with_vectorizer(self, mock_index: AsyncMock, pat assert k["dtype"] == "float32" assert k["num_results"] == 10 assert "filter_expression" in k + assert "linear_alpha" in k # Context assembled from returned memories assert ctx.messages and "Hit" in ctx.messages[0].text + # Ensures HybridQuery receives linear_alpha parameter (redisvl 0.14.0+ compatibility) + async def test_hybridquery_uses_linear_alpha_parameter( + self, mock_index: AsyncMock, patch_index_from_dict, patch_queries + ): # noqa: ARG002 + mock_index.query = AsyncMock(return_value=[{"content": "Result"}]) + provider = RedisProvider(user_id="u1", redis_vectorizer=CUSTOM_VECTORIZER, vector_field_name="vec") + + await provider.invoking([Message(role="user", text="query")]) + + # Assert: HybridQuery called with linear_alpha parameter (not alpha) + assert patch_queries["HybridQuery"].call_count == 1 + k = patch_queries["calls"]["HybridQuery"][0] + assert "linear_alpha" in k + assert "alpha" not in k + # Default alpha value is 0.7 from _redis_search signature + assert k["linear_alpha"] == 0.7 + class TestRedisProviderContextManager: # Verifies async context manager returns self for chaining