diff --git a/src/backend/langflow/components/chains/PromptRunner.py b/src/backend/langflow/components/chains/PromptRunner.py index 496be610e..16a3ce429 100644 --- a/src/backend/langflow/components/chains/PromptRunner.py +++ b/src/backend/langflow/components/chains/PromptRunner.py @@ -1,8 +1,8 @@ -from langflow import CustomComponent - from langchain.llms.base import BaseLLM from langchain.prompts import PromptTemplate -from langchain.schema import Document +from langchain_core.documents import Document + +from langflow import CustomComponent class PromptRunner(CustomComponent): diff --git a/src/backend/langflow/components/documentloaders/FileLoader.py b/src/backend/langflow/components/documentloaders/FileLoader.py index eea401b83..07160557d 100644 --- a/src/backend/langflow/components/documentloaders/FileLoader.py +++ b/src/backend/langflow/components/documentloaders/FileLoader.py @@ -1,5 +1,4 @@ -from langchain.schema import Document - +from langchain_core.documents import Document from langflow import CustomComponent from langflow.utils.constants import LOADERS_INFO diff --git a/src/backend/langflow/components/documentloaders/UrlLoader.py b/src/backend/langflow/components/documentloaders/UrlLoader.py index f9c4363f0..eb60ac572 100644 --- a/src/backend/langflow/components/documentloaders/UrlLoader.py +++ b/src/backend/langflow/components/documentloaders/UrlLoader.py @@ -1,7 +1,8 @@ from typing import List from langchain import document_loaders -from langchain.schema import Document +from langchain_core.documents import Document + from langflow import CustomComponent diff --git a/src/backend/langflow/components/textsplitters/LanguageRecursiveTextSplitter.py b/src/backend/langflow/components/textsplitters/LanguageRecursiveTextSplitter.py index 1cea7a29b..d1494f4d0 100644 --- a/src/backend/langflow/components/textsplitters/LanguageRecursiveTextSplitter.py +++ b/src/backend/langflow/components/textsplitters/LanguageRecursiveTextSplitter.py @@ -1,7 +1,7 @@ from typing import Optional -from langchain.schema import Document from langchain.text_splitter import Language +from langchain_core.documents import Document from langflow import CustomComponent diff --git a/src/backend/langflow/components/textsplitters/RecursiveCharacterTextSplitter.py b/src/backend/langflow/components/textsplitters/RecursiveCharacterTextSplitter.py index 751d2518c..03a8d1e6a 100644 --- a/src/backend/langflow/components/textsplitters/RecursiveCharacterTextSplitter.py +++ b/src/backend/langflow/components/textsplitters/RecursiveCharacterTextSplitter.py @@ -1,6 +1,8 @@ from typing import Optional + +from langchain_core.documents import Document + from langflow import CustomComponent -from langchain.schema import Document from langflow.utils.util import build_loader_repr_from_documents diff --git a/src/backend/langflow/components/utilities/GetRequest.py b/src/backend/langflow/components/utilities/GetRequest.py index 627d0804a..b143a8e7e 100644 --- a/src/backend/langflow/components/utilities/GetRequest.py +++ b/src/backend/langflow/components/utilities/GetRequest.py @@ -1,9 +1,10 @@ -from langflow import CustomComponent -from langchain.schema import Document -from langflow.services.database.models.base import orjson_dumps -import requests from typing import Optional +import requests +from langchain_core.documents import Document +from langflow import CustomComponent +from langflow.services.database.models.base import orjson_dumps + class GetRequest(CustomComponent): display_name: str = "GET Request" diff --git a/src/backend/langflow/components/utilities/JSONDocumentBuilder.py b/src/backend/langflow/components/utilities/JSONDocumentBuilder.py index b5f3b1263..33cc73d73 100644 --- a/src/backend/langflow/components/utilities/JSONDocumentBuilder.py +++ b/src/backend/langflow/components/utilities/JSONDocumentBuilder.py @@ -11,7 +11,7 @@ # - **Document:** The Document containing the JSON object. -from langchain.schema import Document +from langchain_core.documents import Document from langflow import CustomComponent from langflow.services.database.models.base import orjson_dumps diff --git a/src/backend/langflow/components/utilities/PostRequest.py b/src/backend/langflow/components/utilities/PostRequest.py index cbecac535..baf734f54 100644 --- a/src/backend/langflow/components/utilities/PostRequest.py +++ b/src/backend/langflow/components/utilities/PostRequest.py @@ -1,9 +1,10 @@ -from langflow import CustomComponent -from langchain.schema import Document -from langflow.services.database.models.base import orjson_dumps -import requests from typing import Optional +import requests +from langchain_core.documents import Document +from langflow import CustomComponent +from langflow.services.database.models.base import orjson_dumps + class PostRequest(CustomComponent): display_name: str = "POST Request" diff --git a/src/backend/langflow/components/utilities/UpdateRequest.py b/src/backend/langflow/components/utilities/UpdateRequest.py index 1e6355b2c..bd40f642d 100644 --- a/src/backend/langflow/components/utilities/UpdateRequest.py +++ b/src/backend/langflow/components/utilities/UpdateRequest.py @@ -1,7 +1,8 @@ from typing import List, Optional + import requests +from langchain_core.documents import Document from langflow import CustomComponent -from langchain.schema import Document from langflow.services.database.models.base import orjson_dumps diff --git a/src/backend/langflow/components/vectorstores/pgvector.py b/src/backend/langflow/components/vectorstores/pgvector.py index 73844b0da..75c269a43 100644 --- a/src/backend/langflow/components/vectorstores/pgvector.py +++ b/src/backend/langflow/components/vectorstores/pgvector.py @@ -1,14 +1,14 @@ from typing import Optional, Union -from langflow import CustomComponent -from typing import List, Optional from langchain.embeddings.base import Embeddings -from langchain.schema import BaseRetriever -from langchain.schema import Document from langchain_community.vectorstores import VectorStore from langchain_community.vectorstores.pgvector import PGVector +from langchain_core.documents import Document +from langchain_core.retrievers import BaseRetriever + from langflow import CustomComponent + class PGVectorComponent(CustomComponent): """ A custom component for implementing a Vector Store using PostgreSQL. diff --git a/src/backend/langflow/interface/initialize/loading.py b/src/backend/langflow/interface/initialize/loading.py index a1113ddd9..652cd1a0c 100644 --- a/src/backend/langflow/interface/initialize/loading.py +++ b/src/backend/langflow/interface/initialize/loading.py @@ -9,8 +9,8 @@ from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.agents.tools import BaseTool from langchain.chains.base import Chain from langchain.document_loaders.base import BaseLoader -from langchain.schema import Document from langchain_community.vectorstores import VectorStore +from langchain_core.documents import Document from loguru import logger from pydantic import ValidationError diff --git a/src/backend/langflow/interface/initialize/vector_store.py b/src/backend/langflow/interface/initialize/vector_store.py index 0163cdcc3..d01688165 100644 --- a/src/backend/langflow/interface/initialize/vector_store.py +++ b/src/backend/langflow/interface/initialize/vector_store.py @@ -2,7 +2,6 @@ import os from typing import Any, Callable, Dict, Type import orjson -from langchain.schema import Document from langchain_community.vectorstores import ( FAISS, Chroma, @@ -13,6 +12,7 @@ from langchain_community.vectorstores import ( SupabaseVectorStore, Weaviate, ) +from langchain_core.documents import Document def docs_in_params(params: dict) -> bool: diff --git a/src/backend/langflow/utils/util.py b/src/backend/langflow/utils/util.py index 0a348601d..7e1206222 100644 --- a/src/backend/langflow/utils/util.py +++ b/src/backend/langflow/utils/util.py @@ -1,14 +1,14 @@ -import re -import inspect import importlib +import inspect +import re from functools import wraps -from typing import List, Optional, Dict, Any, Union +from typing import Any, Dict, List, Optional, Union from docstring_parser import parse +from langchain_core.documents import Document from langflow.template.frontend_node.constants import FORCE_SHOW_FIELDS from langflow.utils import constants -from langchain.schema import Document def remove_ansi_escape_codes(text): diff --git a/src/frontend/tests/custom_component_full.ts b/src/frontend/tests/custom_component_full.ts index be24deba3..c38d7ff06 100644 --- a/src/frontend/tests/custom_component_full.ts +++ b/src/frontend/tests/custom_component_full.ts @@ -3,7 +3,7 @@ export const custom = `from langflow import CustomComponent from langchain.llms.base import BaseLLM from langchain.chains import LLMChain from langchain.prompts import PromptTemplate -from langchain.schema import Document +from langchain_core.documents import Document from langflow.field_typing import NestedDict import requests diff --git a/tests/test_custom_component.py b/tests/test_custom_component.py index 96a7d7acc..1b85c9198 100644 --- a/tests/test_custom_component.py +++ b/tests/test_custom_component.py @@ -16,7 +16,7 @@ from langflow.interface.custom.custom_component import CustomComponent from langchain.llms.base import BaseLLM from langchain.chains import LLMChain from langchain.prompts import PromptTemplate -from langchain.schema import Document +from langchain_core.documents import Document import requests @@ -224,7 +224,7 @@ def test_custom_component_get_function_entrypoint_return_type(): Test the get_function_entrypoint_return_type property of the CustomComponent class. """ - from langchain.schema import Document + from langchain_core.documents import Document custom_component = CustomComponent(code=code_default, function_entrypoint_name="build") return_type = custom_component.get_function_entrypoint_return_type