From 15dd9e3ee1f2622dbbea6dc0def33812f8494617 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 9 Jan 2024 10:17:35 -0300 Subject: [PATCH] Update import statements in GitbookLoader, JsonToolkit, CSVAgent, UnstructuredHTMLLoader, IMSDbLoader, IFixitLoader, BSHTMLLoader, ReadTheDocsLoader, OpenAPIToolkit, Qdrant, EverNoteLoader, CoNLLULoader, and AirbyteJSONLoader components --- .../langflow/components/agents/CSVAgent.py | 4 ++-- .../documentloaders/AZLyricsLoader.py | 18 ++++-------------- .../documentloaders/AirbyteJSONLoader.py | 7 ++++--- .../components/documentloaders/BSHTMLLoader.py | 4 ++-- .../components/documentloaders/CoNLLULoader.py | 5 ++--- .../documentloaders/EverNoteLoader.py | 6 +++--- .../documentloaders/GitbookLoader.py | 3 +-- .../components/documentloaders/IFixitLoader.py | 4 ++-- .../components/documentloaders/IMSDbLoader.py | 4 ++-- .../documentloaders/ReadTheDocsLoader.py | 4 ++-- .../documentloaders/UnstructuredHTMLLoader.py | 3 +-- .../UnstructuredWordDocumentLoader.py | 13 +++++-------- .../embeddings/HuggingFaceEmbeddings.py | 8 +++++--- .../langflow/components/llms/Anthropic.py | 12 +++++++++--- .../langflow/components/llms/ChatOpenAI.py | 5 ++--- .../components/toolkits/JsonToolkit.py | 4 ++-- .../components/toolkits/OpenAPIToolkit.py | 4 ++-- .../components/vectorstores/Pinecone.py | 6 +++--- .../langflow/components/vectorstores/Qdrant.py | 4 ++-- .../vectorstores/SupabaseVectorStore.py | 12 ++++++------ 20 files changed, 61 insertions(+), 69 deletions(-) diff --git a/src/backend/langflow/components/agents/CSVAgent.py b/src/backend/langflow/components/agents/CSVAgent.py index e3b90527f..af3766c74 100644 --- a/src/backend/langflow/components/agents/CSVAgent.py +++ b/src/backend/langflow/components/agents/CSVAgent.py @@ -1,6 +1,6 @@ - from langflow import CustomComponent -from langchain.field_typing import BaseLanguageModel, AgentExecutor +from langflow.field_typing import BaseLanguageModel, AgentExecutor + class CSVAgentComponent(CustomComponent): display_name = "CSVAgent" diff --git a/src/backend/langflow/components/documentloaders/AZLyricsLoader.py b/src/backend/langflow/components/documentloaders/AZLyricsLoader.py index f8e9b24e7..4f2d8e7a3 100644 --- a/src/backend/langflow/components/documentloaders/AZLyricsLoader.py +++ b/src/backend/langflow/components/documentloaders/AZLyricsLoader.py @@ -1,8 +1,8 @@ - from langflow import CustomComponent -from langchain.field_typing import Document +from langflow.field_typing import Document from typing import Optional, Dict + class AZLyricsLoaderComponent(CustomComponent): display_name = "AZLyricsLoader" description = "Load `AZLyrics` webpages." @@ -10,18 +10,8 @@ class AZLyricsLoaderComponent(CustomComponent): def build_config(self): return { - "metadata": { - "display_name": "Metadata", - "type": "dict", - "default": {}, - "show": True - }, - "web_path": { - "display_name": "Web Page", - "type": "str", - "required": True, - "show": True - }, + "metadata": {"display_name": "Metadata", "type": "dict", "default": {}, "show": True}, + "web_path": {"display_name": "Web Page", "type": "str", "required": True, "show": True}, } def build(self, metadata: Optional[Dict] = None, web_path: str = "") -> Document: diff --git a/src/backend/langflow/components/documentloaders/AirbyteJSONLoader.py b/src/backend/langflow/components/documentloaders/AirbyteJSONLoader.py index 5d8272d04..954638926 100644 --- a/src/backend/langflow/components/documentloaders/AirbyteJSONLoader.py +++ b/src/backend/langflow/components/documentloaders/AirbyteJSONLoader.py @@ -1,13 +1,14 @@ - from langflow import CustomComponent -from langchain.field_typing import Document +from langflow.field_typing import Document from typing import Optional, Dict class AirbyteJSONLoaderComponent(CustomComponent): display_name = "AirbyteJSONLoader" description = "Load local `Airbyte` json files." - documentation = "https://python.langchain.com/docs/modules/data_connection/document_loaders/integrations/airbyte_json" + documentation = ( + "https://python.langchain.com/docs/modules/data_connection/document_loaders/integrations/airbyte_json" + ) def build_config(self): return { diff --git a/src/backend/langflow/components/documentloaders/BSHTMLLoader.py b/src/backend/langflow/components/documentloaders/BSHTMLLoader.py index 8f9553183..ffbc45d74 100644 --- a/src/backend/langflow/components/documentloaders/BSHTMLLoader.py +++ b/src/backend/langflow/components/documentloaders/BSHTMLLoader.py @@ -1,8 +1,8 @@ - from langflow import CustomComponent -from langchain.field_typing import Document +from langflow.field_typing import Document from typing import Optional, Dict + class BSHTMLLoaderComponent(CustomComponent): display_name = "BSHTMLLoader" description = "Load `HTML` files and parse them with `beautiful soup`." diff --git a/src/backend/langflow/components/documentloaders/CoNLLULoader.py b/src/backend/langflow/components/documentloaders/CoNLLULoader.py index be2e3b8de..34151efe7 100644 --- a/src/backend/langflow/components/documentloaders/CoNLLULoader.py +++ b/src/backend/langflow/components/documentloaders/CoNLLULoader.py @@ -1,8 +1,7 @@ - from langflow import CustomComponent from langchain.documents import Document from typing import Optional, Dict -from langchain.field_typing import TemplateField +from langflow.field_typing import TemplateField class CoNLLULoaderComponent(CustomComponent): @@ -17,7 +16,7 @@ class CoNLLULoaderComponent(CustomComponent): required=True, type="file", file_types=["conllu"], - suffixes=['.conllu'], + suffixes=[".conllu"], ), "metadata": TemplateField( display_name="Metadata", diff --git a/src/backend/langflow/components/documentloaders/EverNoteLoader.py b/src/backend/langflow/components/documentloaders/EverNoteLoader.py index 5300c0ef9..fb9460a04 100644 --- a/src/backend/langflow/components/documentloaders/EverNoteLoader.py +++ b/src/backend/langflow/components/documentloaders/EverNoteLoader.py @@ -1,13 +1,13 @@ - from langflow import CustomComponent -from langchain.field_typing import Document +from langflow.field_typing import Document from typing import Optional, Dict + class EverNoteLoaderComponent(CustomComponent): display_name = "EverNoteLoader" description = "Load from `EverNote`." documentation = "https://python.langchain.com/docs/modules/data_connection/document_loaders/integrations/evernote" - + def build_config(self): return { "file_path": { diff --git a/src/backend/langflow/components/documentloaders/GitbookLoader.py b/src/backend/langflow/components/documentloaders/GitbookLoader.py index 7157f249e..7351fefff 100644 --- a/src/backend/langflow/components/documentloaders/GitbookLoader.py +++ b/src/backend/langflow/components/documentloaders/GitbookLoader.py @@ -1,6 +1,5 @@ - from langflow import CustomComponent -from langchain.field_typing import Document +from langflow.field_typing import Document from typing import Optional, Dict diff --git a/src/backend/langflow/components/documentloaders/IFixitLoader.py b/src/backend/langflow/components/documentloaders/IFixitLoader.py index 0666872a0..b6a439b3e 100644 --- a/src/backend/langflow/components/documentloaders/IFixitLoader.py +++ b/src/backend/langflow/components/documentloaders/IFixitLoader.py @@ -1,8 +1,8 @@ - from langflow import CustomComponent -from langchain.field_typing import Document +from langflow.field_typing import Document from typing import Optional, Dict + class IFixitLoaderComponent(CustomComponent): display_name = "IFixitLoader" description = "Load `iFixit` repair guides, device wikis and answers." diff --git a/src/backend/langflow/components/documentloaders/IMSDbLoader.py b/src/backend/langflow/components/documentloaders/IMSDbLoader.py index 215f8585a..14859c3d1 100644 --- a/src/backend/langflow/components/documentloaders/IMSDbLoader.py +++ b/src/backend/langflow/components/documentloaders/IMSDbLoader.py @@ -1,8 +1,8 @@ - from langflow import CustomComponent -from langchain.field_typing import Document +from langflow.field_typing import Document from typing import Dict, Optional + class IMSDbLoaderComponent(CustomComponent): display_name = "IMSDbLoader" description = "Load `IMSDb` webpages." diff --git a/src/backend/langflow/components/documentloaders/ReadTheDocsLoader.py b/src/backend/langflow/components/documentloaders/ReadTheDocsLoader.py index b5a5007da..901148264 100644 --- a/src/backend/langflow/components/documentloaders/ReadTheDocsLoader.py +++ b/src/backend/langflow/components/documentloaders/ReadTheDocsLoader.py @@ -1,8 +1,8 @@ - from langflow import CustomComponent -from langchain.field_typing import Document +from langflow.field_typing import Document from typing import Dict, Optional + class ReadTheDocsLoaderComponent(CustomComponent): display_name = "ReadTheDocsLoader" description = "Load `ReadTheDocs` documentation directory." diff --git a/src/backend/langflow/components/documentloaders/UnstructuredHTMLLoader.py b/src/backend/langflow/components/documentloaders/UnstructuredHTMLLoader.py index f6358324e..46dc5aa2e 100644 --- a/src/backend/langflow/components/documentloaders/UnstructuredHTMLLoader.py +++ b/src/backend/langflow/components/documentloaders/UnstructuredHTMLLoader.py @@ -1,6 +1,5 @@ - from langchain import CustomComponent -from langchain.field_typing import Document +from langflow.field_typing import Document from typing import Optional, Dict diff --git a/src/backend/langflow/components/documentloaders/UnstructuredWordDocumentLoader.py b/src/backend/langflow/components/documentloaders/UnstructuredWordDocumentLoader.py index 5ff906482..bf57664ff 100644 --- a/src/backend/langflow/components/documentloaders/UnstructuredWordDocumentLoader.py +++ b/src/backend/langflow/components/documentloaders/UnstructuredWordDocumentLoader.py @@ -1,13 +1,14 @@ - from langchain import CustomComponent -from langchain.field_typing import Document +from langflow.field_typing import Document from typing import Optional, Dict class UnstructuredWordDocumentLoaderComponent(CustomComponent): display_name = "UnstructuredWordDocumentLoader" description = "Load `Microsoft Word` file using `Unstructured`." - documentation = "https://python.langchain.com/docs/modules/data_connection/document_loaders/integrations/microsoft_word" + documentation = ( + "https://python.langchain.com/docs/modules/data_connection/document_loaders/integrations/microsoft_word" + ) def build_config(self): return { @@ -17,11 +18,7 @@ class UnstructuredWordDocumentLoaderComponent(CustomComponent): "type": "file", "suffixes": [".docx", ".doc"], }, - "metadata": { - "display_name": "Metadata", - "required": False, - "type": "dict" - }, + "metadata": {"display_name": "Metadata", "required": False, "type": "dict"}, } def build(self, file_path: str, metadata: Optional[Dict] = None) -> Document: diff --git a/src/backend/langflow/components/embeddings/HuggingFaceEmbeddings.py b/src/backend/langflow/components/embeddings/HuggingFaceEmbeddings.py index 6d9c6a0fe..4d8d73c4a 100644 --- a/src/backend/langflow/components/embeddings/HuggingFaceEmbeddings.py +++ b/src/backend/langflow/components/embeddings/HuggingFaceEmbeddings.py @@ -1,12 +1,14 @@ - from langflow import CustomComponent from typing import Optional, Any, Dict -from langchain.field_typing import Embeddings +from langflow.field_typing import Embeddings + class HuggingFaceEmbeddingsComponent(CustomComponent): display_name = "HuggingFaceEmbeddings" description = "HuggingFace sentence_transformers embedding models." - documentation = "https://python.langchain.com/docs/modules/data_connection/text_embedding/integrations/sentence_transformers" + documentation = ( + "https://python.langchain.com/docs/modules/data_connection/text_embedding/integrations/sentence_transformers" + ) def build_config(self): return { diff --git a/src/backend/langflow/components/llms/Anthropic.py b/src/backend/langflow/components/llms/Anthropic.py index 114560337..327afc6e4 100644 --- a/src/backend/langflow/components/llms/Anthropic.py +++ b/src/backend/langflow/components/llms/Anthropic.py @@ -1,8 +1,8 @@ - from langflow import CustomComponent from pydantic import SecretStr from typing import Optional, Dict, Any -from langchain.field_typing import BaseLanguageModel +from langflow.field_typing import BaseLanguageModel + class AnthropicComponent(CustomComponent): display_name = "Anthropic" @@ -40,7 +40,13 @@ class AnthropicComponent(CustomComponent): # Here we are returning a placeholder class as the Anthropic class is not defined # This is to comply with the type hints required by the CustomComponent class Anthropic(BaseLanguageModel): - def __init__(self, api_key: Optional[SecretStr], api_url: Optional[str], model_kwargs: Optional[Dict[str, Any]] = None, temperature: Optional[float] = None): + def __init__( + self, + api_key: Optional[SecretStr], + api_url: Optional[str], + model_kwargs: Optional[Dict[str, Any]] = None, + temperature: Optional[float] = None, + ): # Initialize Anthropic model with the provided arguments super().__init__() self.api_key = api_key diff --git a/src/backend/langflow/components/llms/ChatOpenAI.py b/src/backend/langflow/components/llms/ChatOpenAI.py index e9552f2b1..247f7c8ed 100644 --- a/src/backend/langflow/components/llms/ChatOpenAI.py +++ b/src/backend/langflow/components/llms/ChatOpenAI.py @@ -1,8 +1,8 @@ - from langflow import CustomComponent from langchain.llms import BaseLLM from typing import Optional, Dict, Union, Any -from langchain.field_typing import BaseLanguageModel +from langflow.field_typing import BaseLanguageModel + class ChatOpenAIComponent(CustomComponent): display_name = "ChatOpenAI" @@ -69,7 +69,6 @@ class ChatOpenAIComponent(CustomComponent): openai_api_key: Optional[str] = None, temperature: float = 0.7, ) -> Union[BaseLanguageModel, BaseLLM]: - # Assuming there is a class `ChatOpenAI` that takes these parameters # The `ChatOpenAI` class must be imported or defined elsewhere in the actual implementation return ChatOpenAI( diff --git a/src/backend/langflow/components/toolkits/JsonToolkit.py b/src/backend/langflow/components/toolkits/JsonToolkit.py index f0cf00a34..8ee73a4c8 100644 --- a/src/backend/langflow/components/toolkits/JsonToolkit.py +++ b/src/backend/langflow/components/toolkits/JsonToolkit.py @@ -1,6 +1,6 @@ - from langflow import CustomComponent -from langchain.field_typing import JsonSpec, Tool +from langflow.field_typing import JsonSpec, Tool + class JsonToolkitComponent(CustomComponent): display_name = "JsonToolkit" diff --git a/src/backend/langflow/components/toolkits/OpenAPIToolkit.py b/src/backend/langflow/components/toolkits/OpenAPIToolkit.py index 49fd6f06d..b536fb006 100644 --- a/src/backend/langflow/components/toolkits/OpenAPIToolkit.py +++ b/src/backend/langflow/components/toolkits/OpenAPIToolkit.py @@ -1,8 +1,8 @@ - from langflow import CustomComponent -from langchain.field_typing import AgentExecutor, TextRequestsWrapper +from langflow.field_typing import AgentExecutor, TextRequestsWrapper from typing import Callable + class OpenAPIToolkitComponent(CustomComponent): display_name = "OpenAPIToolkit" description = "Toolkit for interacting with an OpenAPI API." diff --git a/src/backend/langflow/components/vectorstores/Pinecone.py b/src/backend/langflow/components/vectorstores/Pinecone.py index 0e72b65e5..bd1890fe7 100644 --- a/src/backend/langflow/components/vectorstores/Pinecone.py +++ b/src/backend/langflow/components/vectorstores/Pinecone.py @@ -1,13 +1,13 @@ - from langflow import CustomComponent from typing import Optional, List from langchain.vectorstores import Pinecone -from langchain.field_typing import ( +from langflow.field_typing import ( Document, Embeddings, NestedDict, ) + class PineconeComponent(CustomComponent): display_name = "Pinecone" description = "Construct Pinecone wrapper from raw documents." @@ -20,7 +20,7 @@ class PineconeComponent(CustomComponent): "namespace": {"display_name": "Namespace"}, "pinecone_api_key": {"display_name": "Pinecone API Key", "default": ""}, "pinecone_env": {"display_name": "Pinecone Environment", "default": ""}, - "search_kwargs": {"display_name": "Search Kwargs", "default": '{}'}, + "search_kwargs": {"display_name": "Search Kwargs", "default": "{}"}, } def build( diff --git a/src/backend/langflow/components/vectorstores/Qdrant.py b/src/backend/langflow/components/vectorstores/Qdrant.py index ac6a4cc09..e902cb353 100644 --- a/src/backend/langflow/components/vectorstores/Qdrant.py +++ b/src/backend/langflow/components/vectorstores/Qdrant.py @@ -1,9 +1,9 @@ - from langflow import CustomComponent -from langchain.vectorstores import Qdrant +from langchain_community.vectorstores.qdrant import Qdrant from typing import Optional, List from langflow.field_typing import Document, Embeddings, NestedDict + class QdrantComponent(CustomComponent): display_name = "Qdrant" description = "Construct Qdrant wrapper from a list of texts." diff --git a/src/backend/langflow/components/vectorstores/SupabaseVectorStore.py b/src/backend/langflow/components/vectorstores/SupabaseVectorStore.py index 93b0d495f..e875fc06e 100644 --- a/src/backend/langflow/components/vectorstores/SupabaseVectorStore.py +++ b/src/backend/langflow/components/vectorstores/SupabaseVectorStore.py @@ -1,13 +1,13 @@ - from langflow import CustomComponent from typing import Optional, List from langchain.vectorstores import SupabaseVectorStore -from langchain.field_typing import ( +from langflow.field_typing import ( Document, Embeddings, NestedDict, ) + class SupabaseComponent(CustomComponent): display_name = "Supabase" description = "Return VectorStore initialized from texts and embeddings." @@ -27,11 +27,11 @@ class SupabaseComponent(CustomComponent): self, embedding: Embeddings, documents: Optional[List[Document]] = None, - query_name: str = '', + query_name: str = "", search_kwargs: NestedDict = {}, - supabase_service_key: str = '', - supabase_url: str = '', - table_name: str = '', + supabase_service_key: str = "", + supabase_url: str = "", + table_name: str = "", ) -> SupabaseVectorStore: return SupabaseVectorStore( documents=documents,