mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-10 07:21:03 +00:00
Install dev, lint, test, typing extra deps for linting steps. (#10249)
`mypy` cannot type-check code that relies on dependencies that aren't installed. Eventually we'll probably want to install as many optional dependencies as possible. However, the full "extended deps" setup for langchain creates a 3GB cache file and takes a while to unpack and install. We'll probably want something a bit more targeted. This is a first step toward something better.
This commit is contained in:
@@ -8,7 +8,9 @@ from langchain.docstore.document import Document
|
||||
from langchain.document_loaders.base import BaseLoader
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from playwright.async_api import AsyncBrowser, AsyncPage, AsyncResponse
|
||||
from playwright.async_api import Browser as AsyncBrowser
|
||||
from playwright.async_api import Page as AsyncPage
|
||||
from playwright.async_api import Response as AsyncResponse
|
||||
from playwright.sync_api import Browser, Page, Response
|
||||
|
||||
|
||||
@@ -155,6 +157,9 @@ class PlaywrightURLLoader(BaseLoader):
|
||||
try:
|
||||
page = browser.new_page()
|
||||
response = page.goto(url)
|
||||
if response is None:
|
||||
raise ValueError(f"page.goto() returned None for url {url}")
|
||||
|
||||
text = self.evaluator.evaluate(page, browser, response)
|
||||
metadata = {"source": url}
|
||||
docs.append(Document(page_content=text, metadata=metadata))
|
||||
@@ -185,6 +190,9 @@ class PlaywrightURLLoader(BaseLoader):
|
||||
try:
|
||||
page = await browser.new_page()
|
||||
response = await page.goto(url)
|
||||
if response is None:
|
||||
raise ValueError(f"page.goto() returned None for url {url}")
|
||||
|
||||
text = await self.evaluator.evaluate_async(page, browser, response)
|
||||
metadata = {"source": url}
|
||||
docs.append(Document(page_content=text, metadata=metadata))
|
||||
|
@@ -7,7 +7,9 @@ from langchain.document_loaders import PlaywrightURLLoader
|
||||
from langchain.document_loaders.url_playwright import PlaywrightEvaluator
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from playwright.async_api import AsyncBrowser, AsyncPage, AsyncResponse
|
||||
from playwright.async_api import Browser as AsyncBrowser
|
||||
from playwright.async_api import Page as AsyncPage
|
||||
from playwright.async_api import Response as AsyncResponse
|
||||
from playwright.sync_api import Browser, Page, Response
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user