Home / Function/ test_astream_implementation_fallback_to_stream() — langchain Function Reference

test_astream_implementation_fallback_to_stream() — langchain Function Reference

Architecture documentation for the test_astream_implementation_fallback_to_stream() function in test_base.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  e786625b_2e9d_16b6_815a_e49f305aa644["test_astream_implementation_fallback_to_stream()"]
  8cb88ac4_61d9_baf3_9df4_9b3f5095927e["test_base.py"]
  e786625b_2e9d_16b6_815a_e49f305aa644 -->|defined in| 8cb88ac4_61d9_baf3_9df4_9b3f5095927e
  0cde1f99_9131_e33d_43b3_4c705000e434["_stream()"]
  e786625b_2e9d_16b6_815a_e49f305aa644 -->|calls| 0cde1f99_9131_e33d_43b3_4c705000e434
  style e786625b_2e9d_16b6_815a_e49f305aa644 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/tests/unit_tests/language_models/chat_models/test_base.py lines 217–266

async def test_astream_implementation_fallback_to_stream() -> None:
    """Test astream uses appropriate implementation."""

    class ModelWithSyncStream(BaseChatModel):
        def _generate(
            self,
            messages: list[BaseMessage],
            stop: list[str] | None = None,
            run_manager: CallbackManagerForLLMRun | None = None,
            **kwargs: Any,
        ) -> ChatResult:
            """Top Level call."""
            raise NotImplementedError

        @override
        def _stream(
            self,
            messages: list[BaseMessage],
            stop: list[str] | None = None,
            run_manager: CallbackManagerForLLMRun | None = None,
            **kwargs: Any,
        ) -> Iterator[ChatGenerationChunk]:
            """Stream the output of the model."""
            yield ChatGenerationChunk(message=AIMessageChunk(content="a"))
            yield ChatGenerationChunk(
                message=AIMessageChunk(content="b", chunk_position="last")
            )

        @property
        def _llm_type(self) -> str:
            return "fake-chat-model"

    model = ModelWithSyncStream()
    chunks = list(model.stream("anything"))
    assert chunks == [
        _any_id_ai_message_chunk(
            content="a",
        ),
        _any_id_ai_message_chunk(content="b", chunk_position="last"),
    ]
    assert len({chunk.id for chunk in chunks}) == 1
    assert type(model)._astream == BaseChatModel._astream
    astream_chunks = [chunk async for chunk in model.astream("anything")]
    assert astream_chunks == [
        _any_id_ai_message_chunk(
            content="a",
        ),
        _any_id_ai_message_chunk(content="b", chunk_position="last"),
    ]
    assert len({chunk.id for chunk in astream_chunks}) == 1

Domain

Subdomains

Calls

Frequently Asked Questions

What does test_astream_implementation_fallback_to_stream() do?
test_astream_implementation_fallback_to_stream() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/language_models/chat_models/test_base.py.
Where is test_astream_implementation_fallback_to_stream() defined?
test_astream_implementation_fallback_to_stream() is defined in libs/core/tests/unit_tests/language_models/chat_models/test_base.py at line 217.
What does test_astream_implementation_fallback_to_stream() call?
test_astream_implementation_fallback_to_stream() calls 1 function(s): _stream.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free