diff --git a/backend/open_webui/retrieval/utils.py b/backend/open_webui/retrieval/utils.py index 88fa51f2dd..bb2c3ef12f 100644 --- a/backend/open_webui/retrieval/utils.py +++ b/backend/open_webui/retrieval/utils.py @@ -12,7 +12,10 @@ import re from urllib.parse import quote from huggingface_hub import snapshot_download -from langchain.retrievers import ContextualCompressionRetriever, EnsembleRetriever +from langchain_classic.retrievers import ( + ContextualCompressionRetriever, + EnsembleRetriever, +) from langchain_community.retrievers import BM25Retriever from langchain_core.documents import Document diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py index 2bc0b00649..8f0c76775a 100644 --- a/backend/open_webui/routers/retrieval.py +++ b/backend/open_webui/routers/retrieval.py @@ -28,8 +28,11 @@ from pydantic import BaseModel import tiktoken -from langchain.text_splitter import RecursiveCharacterTextSplitter, TokenTextSplitter -from langchain_text_splitters import MarkdownHeaderTextSplitter +from langchain_text_splitters import ( + RecursiveCharacterTextSplitter, + TokenTextSplitter, + MarkdownHeaderTextSplitter, +) from langchain_core.documents import Document from open_webui.models.files import FileModel, FileUpdateForm, Files diff --git a/backend/open_webui/socket/utils.py b/backend/open_webui/socket/utils.py index ccbe333656..327348626a 100644 --- a/backend/open_webui/socket/utils.py +++ b/backend/open_webui/socket/utils.py @@ -191,7 +191,9 @@ class YdocManager: async def remove_user_from_all_documents(self, user_id: str): if self._redis: keys = [] - async for key in self._redis.scan_iter(match=f"{self._redis_key_prefix}:*", count=100): + async for key in self._redis.scan_iter( + match=f"{self._redis_key_prefix}:*", count=100 + ): keys.append(key) for key in keys: if key.endswith(":users"): diff --git a/backend/open_webui/utils/oauth.py b/backend/open_webui/utils/oauth.py index a29f94a7d5..10941d4753 100644 --- a/backend/open_webui/utils/oauth.py +++ b/backend/open_webui/utils/oauth.py @@ -1318,9 +1318,9 @@ class OAuthManager: client = self.get_client(provider) if client is None: raise HTTPException(404) - + kwargs = {} - if (auth_manager_config.OAUTH_AUDIENCE): + if auth_manager_config.OAUTH_AUDIENCE: kwargs["audience"] = auth_manager_config.OAUTH_AUDIENCE return await client.authorize_redirect(request, redirect_uri, **kwargs) diff --git a/backend/requirements.txt b/backend/requirements.txt index c0bf3f957f..a82f7cfc53 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -45,8 +45,10 @@ anthropic google-genai==1.56.0 google-generativeai==0.8.6 -langchain==0.3.27 -langchain-community==0.3.29 +langchain==1.2.0 +langchain-community==0.4.1 +langchain-classic==1.0.0 +langchain-text-splitters==1.1.0 fake-useragent==2.2.0 chromadb==1.3.7