diff --git a/src/backend/langflow/api/v1/chat.py b/src/backend/langflow/api/v1/chat.py index de10b318d..9fa1ec3a3 100644 --- a/src/backend/langflow/api/v1/chat.py +++ b/src/backend/langflow/api/v1/chat.py @@ -1,19 +1,15 @@ import time -from fastapi import (APIRouter, Depends, HTTPException, Query, WebSocket, - WebSocketException, status) +from fastapi import APIRouter, Depends, HTTPException, Query, WebSocket, WebSocketException, status from fastapi.responses import StreamingResponse from langflow.api.utils import build_input_keys_response, format_elapsed_time -from langflow.api.v1.schemas import (BuildStatus, BuiltResponse, InitResponse, - StreamData) +from langflow.api.v1.schemas import BuildStatus, BuiltResponse, InitResponse, StreamData from langflow.graph.graph.base import Graph -from langflow.services.auth.utils import (get_current_active_user, - get_current_user_by_jwt) +from langflow.services.auth.utils import get_current_active_user, get_current_user_by_jwt from langflow.services.cache.service import BaseCacheService from langflow.services.cache.utils import update_build_status from langflow.services.chat.service import ChatService -from langflow.services.deps import (get_cache_service, get_chat_service, - get_session) +from langflow.services.deps import get_cache_service, get_chat_service, get_session from loguru import logger from sqlmodel import Session diff --git a/src/backend/langflow/components/llms/AzureChatOpenAI.py b/src/backend/langflow/components/llms/AzureChatOpenAI.py index 21188d0c3..92f52d1d1 100644 --- a/src/backend/langflow/components/llms/AzureChatOpenAI.py +++ b/src/backend/langflow/components/llms/AzureChatOpenAI.py @@ -3,6 +3,7 @@ from langflow import CustomComponent from langchain.llms.base import BaseLanguageModel from langchain.chat_models.azure_openai import AzureChatOpenAI + class AzureChatOpenAIComponent(CustomComponent): display_name: str = "AzureChatOpenAI" description: str = "LLM model from Azure OpenAI." @@ -16,7 +17,7 @@ class AzureChatOpenAIComponent(CustomComponent): "gpt-4-32k", "gpt-4-vision", ] - + def build_config(self): return { "model": { @@ -28,7 +29,7 @@ class AzureChatOpenAIComponent(CustomComponent): "azure_endpoint": { "display_name": "Azure Endpoint", "required": True, - "info": "Your Azure endpoint, including the resource.. Example: `https://example-resource.azure.openai.com/`" + "info": "Your Azure endpoint, including the resource.. Example: `https://example-resource.azure.openai.com/`", }, "azure_deployment": { "display_name": "Deployment Name", @@ -40,18 +41,14 @@ class AzureChatOpenAIComponent(CustomComponent): "required": True, "advanced": True, }, - "api_key": { - "display_name": "API Key", - "required": True, - "password": True - }, + "api_key": {"display_name": "API Key", "required": True, "password": True}, "temperature": { "display_name": "Temperature", "value": 0.7, "field_type": "float", "required": False, }, - "max_tokens": { + "max_tokens": { "display_name": "Max Tokens", "value": 1000, "required": False, @@ -71,8 +68,6 @@ class AzureChatOpenAIComponent(CustomComponent): temperature: float = 0.7, max_tokens: Optional[int] = 1000, ) -> BaseLanguageModel: - - return AzureChatOpenAI( model=model, azure_endpoint=azure_endpoint, @@ -80,5 +75,5 @@ class AzureChatOpenAIComponent(CustomComponent): api_version=api_version, api_key=api_key, temperature=temperature, - max_tokens=max_tokens + max_tokens=max_tokens, ) diff --git a/src/backend/langflow/components/vectorstores/Weaviate.py b/src/backend/langflow/components/vectorstores/Weaviate.py index 2e03ca6d4..bab1322f7 100644 --- a/src/backend/langflow/components/vectorstores/Weaviate.py +++ b/src/backend/langflow/components/vectorstores/Weaviate.py @@ -1,4 +1,4 @@ -import weaviate # type: ignore +import weaviate # type: ignore from typing import Optional, Union from langflow import CustomComponent @@ -12,18 +12,29 @@ from langchain.embeddings.base import Embeddings class WeaviateVectorStore(CustomComponent): display_name: str = "Weaviate" description: str = "Implementation of Vector Store using Weaviate" - documentation = ( - "https://python.langchain.com/docs/integrations/vectorstores/weaviate" - ) + documentation = "https://python.langchain.com/docs/integrations/vectorstores/weaviate" beta = True field_config = { "url": {"display_name": "Weaviate URL", "value": "http://localhost:8080"}, - "api_key": { "display_name": "API Key", "password": True,"required": False, }, - "index_name": {"display_name": "Index name","required": False,}, - "text_key": {"display_name": "Text Key","required": False, "advanced": True, "value": "text"}, + "api_key": { + "display_name": "API Key", + "password": True, + "required": False, + }, + "index_name": { + "display_name": "Index name", + "required": False, + }, + "text_key": {"display_name": "Text Key", "required": False, "advanced": True, "value": "text"}, "documents": {"display_name": "Documents", "is_list": True}, "embedding": {"display_name": "Embedding"}, - "attributes": {"display_name": "Attributes", "required": False, "is_list": True, "field_type": "str", "advanced": True}, + "attributes": { + "display_name": "Attributes", + "required": False, + "is_list": True, + "field_type": "str", + "advanced": True, + }, "search_by_text": {"display_name": "Search By Text", "field_type": "bool", "advanced": True}, "code": {"show": False}, } diff --git a/src/backend/langflow/interface/agents/custom.py b/src/backend/langflow/interface/agents/custom.py index 60ef3eafb..5df96e584 100644 --- a/src/backend/langflow/interface/agents/custom.py +++ b/src/backend/langflow/interface/agents/custom.py @@ -1,6 +1,6 @@ -from typing import Any, List, Optional +from typing import Any, Optional -from langchain.agents import AgentExecutor, AgentType, Tool, ZeroShotAgent, initialize_agent +from langchain.agents import AgentExecutor, ZeroShotAgent from langchain.agents.agent_toolkits import ( SQLDatabaseToolkit, VectorStoreInfo, @@ -15,7 +15,6 @@ from langchain.agents.agent_toolkits.vectorstore.prompt import ROUTER_PREFIX as from langchain.agents.mrkl.prompt import FORMAT_INSTRUCTIONS from langchain.base_language import BaseLanguageModel from langchain.chains.llm import LLMChain -from langchain.memory.chat_memory import BaseChatMemory from langchain.sql_database import SQLDatabase from langchain.tools.sql_database.prompt import QUERY_CHECKER from langchain_experimental.agents.agent_toolkits.pandas.prompt import PREFIX as PANDAS_PREFIX diff --git a/src/backend/langflow/interface/custom/code_parser/code_parser.py b/src/backend/langflow/interface/custom/code_parser/code_parser.py index 4e108ad2b..7a102e33f 100644 --- a/src/backend/langflow/interface/custom/code_parser/code_parser.py +++ b/src/backend/langflow/interface/custom/code_parser/code_parser.py @@ -6,8 +6,7 @@ from typing import Any, Dict, List, Type, Union from cachetools import TTLCache, cachedmethod, keys from fastapi import HTTPException -from langflow.interface.custom.schema import (CallableCodeDetails, - ClassCodeDetails) +from langflow.interface.custom.schema import CallableCodeDetails, ClassCodeDetails class CodeSyntaxError(HTTPException): diff --git a/src/backend/langflow/interface/custom/code_parser/utils.py b/src/backend/langflow/interface/custom/code_parser/utils.py index 5675ea85b..d9b9def26 100644 --- a/src/backend/langflow/interface/custom/code_parser/utils.py +++ b/src/backend/langflow/interface/custom/code_parser/utils.py @@ -36,4 +36,4 @@ def extract_union_types_from_generic_alias(return_type: GenericAlias) -> list: """ Extracts the inner type from a type hint that is a Union. """ - return list(return_type.__args__) \ No newline at end of file + return list(return_type.__args__) diff --git a/src/backend/langflow/interface/custom/directory_reader/directory_reader.py b/src/backend/langflow/interface/custom/directory_reader/directory_reader.py index 41dd11483..9c50e0181 100644 --- a/src/backend/langflow/interface/custom/directory_reader/directory_reader.py +++ b/src/backend/langflow/interface/custom/directory_reader/directory_reader.py @@ -65,12 +65,13 @@ class DirectoryReader: def filter_loaded_components(self, data: dict, with_errors: bool) -> dict: from langflow.interface.custom.utils import build_component + items = [ { "name": menu["name"], "path": menu["path"], "components": [ - (*build_component(component),component) + (*build_component(component), component) for component in menu["components"] if (component["error"] if with_errors else not component["error"]) ], diff --git a/src/backend/langflow/interface/custom/directory_reader/utils.py b/src/backend/langflow/interface/custom/directory_reader/utils.py index 2dbbd2caa..f1771b2d7 100644 --- a/src/backend/langflow/interface/custom/directory_reader/utils.py +++ b/src/backend/langflow/interface/custom/directory_reader/utils.py @@ -1,6 +1,5 @@ from langflow.interface.custom.directory_reader import DirectoryReader -from langflow.template.frontend_node.custom_components import \ - CustomComponentFrontendNode +from langflow.template.frontend_node.custom_components import CustomComponentFrontendNode from loguru import logger @@ -75,10 +74,9 @@ def create_invalid_component_template(component, component_name): """Create a template for an invalid component.""" component_code = component["code"] component_frontend_node = CustomComponentFrontendNode( - description="ERROR - Check your Python Code", - display_name=f"ERROR - {component_name}", - ) - + description="ERROR - Check your Python Code", + display_name=f"ERROR - {component_name}", + ) component_frontend_node.error = component.get("error", None) field = component_frontend_node.template.get_field("code") @@ -144,4 +142,4 @@ def build_menu_items(menu_item): except Exception as exc: logger.error(f"Error loading Component: {component['output_types']}") logger.exception(f"Error while building custom component {component['output_types']}: {exc}") - return menu_items \ No newline at end of file + return menu_items diff --git a/src/backend/langflow/interface/types.py b/src/backend/langflow/interface/types.py index 59b2ec66e..7f44be3ec 100644 --- a/src/backend/langflow/interface/types.py +++ b/src/backend/langflow/interface/types.py @@ -1,9 +1,7 @@ - from cachetools import LRUCache, cached from langflow.interface.agents.base import agent_creator from langflow.interface.chains.base import chain_creator -from langflow.interface.custom.directory_reader.utils import \ - merge_nested_dicts_with_renaming +from langflow.interface.custom.directory_reader.utils import merge_nested_dicts_with_renaming from langflow.interface.custom.utils import build_custom_components from langflow.interface.document_loaders.base import documentloader_creator from langflow.interface.embeddings.base import embedding_creator @@ -70,5 +68,3 @@ def get_all_types_dict(settings_service): native_components = build_langchain_types_dict() custom_components_from_file = build_custom_components(settings_service) return merge_nested_dicts_with_renaming(native_components, custom_components_from_file) - -