|
@@ -25,6 +25,7 @@ from langchain_community.document_loaders.firecrawl import FireCrawlLoader
|
|
from langchain_community.document_loaders.base import BaseLoader
|
|
from langchain_community.document_loaders.base import BaseLoader
|
|
from langchain_core.documents import Document
|
|
from langchain_core.documents import Document
|
|
from open_webui.retrieval.loaders.tavily import TavilyLoader
|
|
from open_webui.retrieval.loaders.tavily import TavilyLoader
|
|
|
|
+from open_webui.retrieval.loaders.external import ExternalLoader
|
|
from open_webui.constants import ERROR_MESSAGES
|
|
from open_webui.constants import ERROR_MESSAGES
|
|
from open_webui.config import (
|
|
from open_webui.config import (
|
|
ENABLE_RAG_LOCAL_WEB_FETCH,
|
|
ENABLE_RAG_LOCAL_WEB_FETCH,
|
|
@@ -35,6 +36,8 @@ from open_webui.config import (
|
|
FIRECRAWL_API_KEY,
|
|
FIRECRAWL_API_KEY,
|
|
TAVILY_API_KEY,
|
|
TAVILY_API_KEY,
|
|
TAVILY_EXTRACT_DEPTH,
|
|
TAVILY_EXTRACT_DEPTH,
|
|
|
|
+ EXTERNAL_WEB_LOADER_URL,
|
|
|
|
+ EXTERNAL_WEB_LOADER_API_KEY,
|
|
)
|
|
)
|
|
from open_webui.env import SRC_LOG_LEVELS
|
|
from open_webui.env import SRC_LOG_LEVELS
|
|
|
|
|
|
@@ -619,6 +622,11 @@ def get_web_loader(
|
|
web_loader_args["api_key"] = TAVILY_API_KEY.value
|
|
web_loader_args["api_key"] = TAVILY_API_KEY.value
|
|
web_loader_args["extract_depth"] = TAVILY_EXTRACT_DEPTH.value
|
|
web_loader_args["extract_depth"] = TAVILY_EXTRACT_DEPTH.value
|
|
|
|
|
|
|
|
+ if WEB_LOADER_ENGINE.value == "external":
|
|
|
|
+ WebLoaderClass = ExternalLoader
|
|
|
|
+ web_loader_args["external_url"] = EXTERNAL_WEB_LOADER_URL.value
|
|
|
|
+ web_loader_args["external_api_key"] = EXTERNAL_WEB_LOADER_API_KEY.value
|
|
|
|
+
|
|
if WebLoaderClass:
|
|
if WebLoaderClass:
|
|
web_loader = WebLoaderClass(**web_loader_args)
|
|
web_loader = WebLoaderClass(**web_loader_args)
|
|
|
|
|