Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
5534073
Lazy load imports for language model component
jordanrfrazier Feb 11, 2026
8fb6205
Add backwards-compat functions
jordanrfrazier Feb 11, 2026
ad06992
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 11, 2026
2fbc810
[autofix.ci] apply automated fixes (attempt 2/3)
autofix-ci[bot] Feb 11, 2026
82079b0
Add exception handling
jordanrfrazier Feb 11, 2026
d306322
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 11, 2026
a75c5cb
Merge branch 'main' into lazy-load-language-model-imports
HzaRashid Feb 13, 2026
5cd3e24
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 13, 2026
251e92c
Merge branch 'main' into lazy-load-language-model-imports
jordanrfrazier Feb 16, 2026
d54e5d9
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 16, 2026
d00f199
Merge branch 'main' into lazy-load-language-model-imports
jordanrfrazier Feb 18, 2026
b103e00
Merge branch 'main' into lazy-load-language-model-imports
jordanrfrazier Feb 20, 2026
6b2b181
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 20, 2026
4d312e6
Merge branch 'main' into lazy-load-language-model-imports
jordanrfrazier Feb 23, 2026
6774d90
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 23, 2026
e81810a
[autofix.ci] apply automated fixes (attempt 2/3)
autofix-ci[bot] Feb 23, 2026
fe3ec55
comp index
jordanrfrazier Feb 22, 2026
0af17f2
docs: azure default temperature (#11829)
mendonk Feb 23, 2026
e24d059
Merge branch 'main' into lazy-load-language-model-imports
jordanrfrazier Feb 23, 2026
e61fe6f
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 23, 2026
425e856
[autofix.ci] apply automated fixes (attempt 2/3)
autofix-ci[bot] Feb 23, 2026
f84c68c
Merge branch 'main' into lazy-load-language-model-imports
jordanrfrazier Feb 24, 2026
804a4e1
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 24, 2026
be0db59
Merge branch 'main' into lazy-load-language-model-imports
jordanrfrazier Feb 24, 2026
7b70125
Merge branch 'main' into lazy-load-language-model-imports
jordanrfrazier Feb 24, 2026
c4393fa
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 24, 2026
0752adb
Merge branch 'main' into lazy-load-language-model-imports
jordanrfrazier Feb 25, 2026
4f221c2
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 25, 2026
3dcda19
[autofix.ci] apply automated fixes (attempt 2/3)
autofix-ci[bot] Feb 25, 2026
a912056
fix unit test?
jordanrfrazier Feb 25, 2026
e07ea9a
Merge branch 'main' into lazy-load-language-model-imports
jordanrfrazier Feb 26, 2026
70d0536
add no-group dev to docker builds
jordanrfrazier Feb 26, 2026
474c381
[autofix.ci] apply automated fixes
autofix-ci[bot] Feb 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -563,13 +563,13 @@ def test_should_format_json_when_result_is_dict(self, component_class):
class TestProcessAsDataIntegration(TestLambdaFilterComponent):
"""Integration tests for process_as_data method."""

@patch("lfx.base.models.unified_models.get_model_classes")
@patch("lfx.base.models.unified_models.get_model_class")
async def test_should_return_filtered_data_when_lambda_is_valid(
self, mock_get_model_classes, component_class, default_kwargs, mock_llm
self, mock_get_model_class, component_class, default_kwargs, mock_llm
):
# Arrange
mock_model_class = MagicMock(return_value=mock_llm)
mock_get_model_classes.return_value = {"MockLanguageModel": mock_model_class}
mock_get_model_class.return_value = mock_model_class
component = await self.component_setup(component_class, default_kwargs)
mock_llm.ainvoke.return_value.content = "lambda x: [item for item in x['items'] if item['value'] > 15]"

Expand All @@ -584,13 +584,13 @@ async def test_should_return_filtered_data_when_lambda_is_valid(
assert filtered_items[0]["name"] == "test2"
assert filtered_items[0]["value"] == 20

@patch("lfx.base.models.unified_models.get_model_classes")
@patch("lfx.base.models.unified_models.get_model_class")
async def test_should_raise_error_when_lambda_not_found_in_response(
self, mock_get_model_classes, component_class, default_kwargs, mock_llm
self, mock_get_model_class, component_class, default_kwargs, mock_llm
):
# Arrange
mock_model_class = MagicMock(return_value=mock_llm)
mock_get_model_classes.return_value = {"MockLanguageModel": mock_model_class}
mock_get_model_class.return_value = mock_model_class
component = await self.component_setup(component_class, default_kwargs)
mock_llm.ainvoke.return_value.content = "invalid response without lambda"

Expand All @@ -614,13 +614,13 @@ def message_kwargs(self, model_metadata):
"max_size": 30000,
}

@patch("lfx.base.models.unified_models.get_model_classes")
@patch("lfx.base.models.unified_models.get_model_class")
async def test_should_transform_message_when_input_is_message(
self, mock_get_model_classes, component_class, message_kwargs, mock_llm
self, mock_get_model_class, component_class, message_kwargs, mock_llm
):
# Arrange
mock_model_class = MagicMock(return_value=mock_llm)
mock_get_model_classes.return_value = {"MockLanguageModel": mock_model_class}
mock_get_model_class.return_value = mock_model_class
component = await self.component_setup(component_class, message_kwargs)
mock_llm.ainvoke.return_value.content = "lambda text: text.upper()"

Expand All @@ -631,13 +631,13 @@ async def test_should_transform_message_when_input_is_message(
assert isinstance(result, Message)
assert result.text == "HELLO WORLD"

@patch("lfx.base.models.unified_models.get_model_classes")
@patch("lfx.base.models.unified_models.get_model_class")
async def test_should_join_multiple_messages_when_input_is_list_of_messages(
self, mock_get_model_classes, component_class, model_metadata, mock_llm
self, mock_get_model_class, component_class, model_metadata, mock_llm
):
# Arrange
mock_model_class = MagicMock(return_value=mock_llm)
mock_get_model_classes.return_value = {"MockLanguageModel": mock_model_class}
mock_get_model_class.return_value = mock_model_class
kwargs = {
"data": [Message(text="Hello"), Message(text="World")],
"model": model_metadata,
Expand All @@ -660,13 +660,13 @@ async def test_should_join_multiple_messages_when_input_is_list_of_messages(
class TestProcessAsDataframeIntegration(TestLambdaFilterComponent):
"""Integration tests for process_as_dataframe method."""

@patch("lfx.base.models.unified_models.get_model_classes")
@patch("lfx.base.models.unified_models.get_model_class")
async def test_should_return_dataframe_when_lambda_returns_list_of_dicts(
self, mock_get_model_classes, component_class, default_kwargs, mock_llm
self, mock_get_model_class, component_class, default_kwargs, mock_llm
):
# Arrange
mock_model_class = MagicMock(return_value=mock_llm)
mock_get_model_classes.return_value = {"MockLanguageModel": mock_model_class}
mock_get_model_class.return_value = mock_model_class
component = await self.component_setup(component_class, default_kwargs)
mock_llm.ainvoke.return_value.content = "lambda x: x['items']"

Expand All @@ -680,13 +680,13 @@ async def test_should_return_dataframe_when_lambda_returns_list_of_dicts(
class TestLargeDataset(TestLambdaFilterComponent):
"""Tests for handling large datasets."""

@patch("lfx.base.models.unified_models.get_model_classes")
@patch("lfx.base.models.unified_models.get_model_class")
async def test_should_filter_large_dataset_when_data_exceeds_max_size(
self, mock_get_model_classes, component_class, default_kwargs, mock_llm
self, mock_get_model_class, component_class, default_kwargs, mock_llm
):
# Arrange
mock_model_class = MagicMock(return_value=mock_llm)
mock_get_model_classes.return_value = {"MockLanguageModel": mock_model_class}
mock_get_model_class.return_value = mock_model_class
large_data = {"items": [{"name": f"test{i}", "value": i} for i in range(2000)]}
default_kwargs["data"] = [Data(data=large_data)]
default_kwargs["filter_instruction"] = "Filter items with value greater than 1500"
Expand All @@ -707,13 +707,13 @@ async def test_should_filter_large_dataset_when_data_exceeds_max_size(
class TestComplexDataStructure(TestLambdaFilterComponent):
"""Tests for handling complex nested data structures."""

@patch("lfx.base.models.unified_models.get_model_classes")
@patch("lfx.base.models.unified_models.get_model_class")
async def test_should_handle_nested_data_when_structure_is_complex(
self, mock_get_model_classes, component_class, default_kwargs, mock_llm
self, mock_get_model_class, component_class, default_kwargs, mock_llm
):
# Arrange
mock_model_class = MagicMock(return_value=mock_llm)
mock_get_model_classes.return_value = {"MockLanguageModel": mock_model_class}
mock_get_model_class.return_value = mock_model_class
complex_data = {
"categories": {
"A": [{"id": 1, "score": 90}, {"id": 2, "score": 85}],
Expand Down
Loading
Loading