Spaces:
Running
Running
"""Test Base Schema of documents.""" | |
from typing import Iterator | |
from langchain.document_loaders.base import BaseBlobParser | |
from langchain.document_loaders.blob_loaders import Blob | |
from langchain.schema import Document | |
def test_base_blob_parser() -> None: | |
"""Verify that the eager method is hooked up to the lazy method by default.""" | |
class MyParser(BaseBlobParser): | |
"""A simple parser that returns a single document.""" | |
def lazy_parse(self, blob: Blob) -> Iterator[Document]: | |
"""Lazy parsing interface.""" | |
yield Document( | |
page_content="foo", | |
) | |
parser = MyParser() | |
assert isinstance(parser.lazy_parse(Blob(data="who?")), Iterator) | |
# We're verifying that the eager method is hooked up to the lazy method by default. | |
docs = parser.parse(Blob(data="who?")) | |
assert len(docs) == 1 | |
assert docs[0].page_content == "foo" | |