diff --git a/.github/scripts/check_diff.py b/.github/scripts/check_diff.py index a8d4d24d93e..5b03c7550e9 100644 --- a/.github/scripts/check_diff.py +++ b/.github/scripts/check_diff.py @@ -280,8 +280,6 @@ if __name__ == "__main__": # Note: won't run on external repo partners dirs_to_run["lint"].add("libs/standard-tests") dirs_to_run["test"].add("libs/standard-tests") - dirs_to_run["lint"].add("libs/cli") - dirs_to_run["test"].add("libs/cli") dirs_to_run["test"].add("libs/partners/mistralai") dirs_to_run["test"].add("libs/partners/openai") dirs_to_run["test"].add("libs/partners/anthropic") diff --git a/libs/standard-tests/langchain_tests/integration_tests/chat_models.py b/libs/standard-tests/langchain_tests/integration_tests/chat_models.py index 6a120ec3685..c65ca1ffc24 100644 --- a/libs/standard-tests/langchain_tests/integration_tests/chat_models.py +++ b/libs/standard-tests/langchain_tests/integration_tests/chat_models.py @@ -779,6 +779,7 @@ class ChatModelIntegrationTests(ChatModelTests): assert isinstance(result.text, str) assert len(result.content) > 0 + @pytest.mark.parametrize("model", [{}, {"output_version": "v1"}], indirect=True) def test_stream(self, model: BaseChatModel) -> None: """Test to verify that ``model.stream(simple_message)`` works. @@ -804,13 +805,20 @@ class ChatModelIntegrationTests(ChatModelTests): """ num_chunks = 0 + full: AIMessageChunk | None = None for chunk in model.stream("Hello"): assert chunk is not None assert isinstance(chunk, AIMessageChunk) assert isinstance(chunk.content, str | list) num_chunks += 1 + full = chunk if full is None else full + chunk assert num_chunks > 0 + assert isinstance(full, AIMessageChunk) + assert full.content + assert len(full.content_blocks) == 1 + assert full.content_blocks[0]["type"] == "text" + @pytest.mark.parametrize("model", [{}, {"output_version": "v1"}], indirect=True) async def test_astream(self, model: BaseChatModel) -> None: """Test to verify that ``await model.astream(simple_message)`` works. @@ -839,12 +847,18 @@ class ChatModelIntegrationTests(ChatModelTests): """ num_chunks = 0 + full: AIMessageChunk | None = None async for chunk in model.astream("Hello"): assert chunk is not None assert isinstance(chunk, AIMessageChunk) assert isinstance(chunk.content, str | list) num_chunks += 1 + full = chunk if full is None else full + chunk assert num_chunks > 0 + assert isinstance(full, AIMessageChunk) + assert full.content + assert len(full.content_blocks) == 1 + assert full.content_blocks[0]["type"] == "text" def test_batch(self, model: BaseChatModel) -> None: """Test to verify that ``model.batch([messages])`` works. @@ -3007,6 +3021,7 @@ class ChatModelIntegrationTests(ChatModelTests): assert isinstance(result.text, str) assert len(result.content) > 0 + @pytest.mark.parametrize("model", [{}, {"output_version": "v1"}], indirect=True) def test_agent_loop(self, model: BaseChatModel) -> None: """Test that the model supports a simple ReAct agent loop. diff --git a/libs/standard-tests/langchain_tests/unit_tests/chat_models.py b/libs/standard-tests/langchain_tests/unit_tests/chat_models.py index d0594bdfa71..d5298e73428 100644 --- a/libs/standard-tests/langchain_tests/unit_tests/chat_models.py +++ b/libs/standard-tests/langchain_tests/unit_tests/chat_models.py @@ -83,13 +83,15 @@ class ChatModelTests(BaseStandardTests): } @pytest.fixture - def model(self) -> BaseChatModel: + def model(self, request: Any) -> BaseChatModel: """Model fixture.""" + extra_init_params = getattr(request, "param", None) or {} return self.chat_model_class( **{ **self.standard_chat_model_params, **self.chat_model_params, - } + }, + **extra_init_params, ) @pytest.fixture