def test_image_vision_llm_reader_load_data_wo_parser_config(
    torch_installed: bool, test_16x16_png_image_file: str
):
    """
    We use doubles (mocks and fakes) for the model and the tokenizer objects
    in order to avoid having to download checkpoints as part of tests, while
    still covering most of the `ImageVisionLLMReader` class functionality.
    """
    with (
        mock.patch(
            "transformers.Blip2ForConditionalGeneration.from_pretrained",
            return_value=ModelFake(),
        ),
        mock.patch(
            "transformers.Blip2Processor.from_pretrained",
            return_value=TokenizerFake(),
        ),
    ):
        if torch_installed:
            image_vision_llm_reader = ImageVisionLLMReader()
            result = image_vision_llm_reader.load_data(file=test_16x16_png_image_file)[
                0
            ]
            assert (
                result.text
                == "Question: describe what you see in this image. Answer: a black and white checkered pattern"
            )
        else:
            with _get_custom_import(torch_installed=False):
                with pytest.raises(ImportError) as excinfo:
                    image_vision_llm_reader = ImageVisionLLMReader()

                assert (
                    str(excinfo.value)
                    == "Please install extra dependencies that are required for the ImageCaptionReader: `pip install torch transformers sentencepiece Pillow`"
                )

    We use doubles (mocks and fakes) for the model and the tokenizer objects
    in order to avoid having to download checkpoints as part of tests, while
    still covering most of the `ImageVisionLLMReader` class functionality.
    
llama-index-integrations/readers/llama-index-readers-file/tests/test_image_vision_llm.py