Fix import formatting and add dynamic field flag

This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-12-12 16:52:58 -03:00
commit e36b929aa7
11 changed files with 58 additions and 53 deletions

View file

@ -1,22 +1,18 @@
import time import time
from fastapi import (APIRouter, Depends, HTTPException, Query, WebSocket, from fastapi import APIRouter, Depends, HTTPException, Query, WebSocket, WebSocketException, status
WebSocketException, status)
from fastapi.responses import StreamingResponse from fastapi.responses import StreamingResponse
from loguru import logger from loguru import logger
from sqlmodel import Session from sqlmodel import Session
from langflow.api.utils import build_input_keys_response, format_elapsed_time from langflow.api.utils import build_input_keys_response, format_elapsed_time
from langflow.api.v1.schemas import (BuildStatus, BuiltResponse, InitResponse, from langflow.api.v1.schemas import BuildStatus, BuiltResponse, InitResponse, StreamData
StreamData)
from langflow.graph.graph.base import Graph from langflow.graph.graph.base import Graph
from langflow.services.auth.utils import (get_current_active_user, from langflow.services.auth.utils import get_current_active_user, get_current_user_by_jwt
get_current_user_by_jwt)
from langflow.services.cache.service import BaseCacheService from langflow.services.cache.service import BaseCacheService
from langflow.services.cache.utils import update_build_status from langflow.services.cache.utils import update_build_status
from langflow.services.chat.service import ChatService from langflow.services.chat.service import ChatService
from langflow.services.deps import (get_cache_service, get_chat_service, from langflow.services.deps import get_cache_service, get_chat_service, get_session
get_session)
router = APIRouter(tags=["Chat"]) router = APIRouter(tags=["Chat"])

View file

@ -19,7 +19,7 @@ class AnthropicLLM(CustomComponent):
"claude-2.1", "claude-2.1",
"claude-2.0", "claude-2.0",
"claude-instant-1.2", "claude-instant-1.2",
"claude-instant-1" "claude-instant-1",
# Add more models as needed # Add more models as needed
], ],
"info": "https://python.langchain.com/docs/integrations/chat/anthropic", "info": "https://python.langchain.com/docs/integrations/chat/anthropic",

View file

@ -48,9 +48,7 @@ class FAISSComponent(CustomComponent):
# Load if persistence is LocalDirectory # Load if persistence is LocalDirectory
if documents is None and folder_path is not None: if documents is None and folder_path is not None:
return FAISS.load_local( return FAISS.load_local(folder_path=folder_path, embeddings=embeddings, index_name=index_name)
folder_path=folder_path, embeddings=embeddings, index_name=index_name
)
if documents is None: if documents is None:
raise ValueError("Documents must be provided in the params") raise ValueError("Documents must be provided in the params")

View file

@ -1,11 +1,29 @@
from typing import Any from typing import Any
from .constants import (AgentExecutor, BaseChatMemory, BaseLanguageModel, from .constants import (
BaseLLM, BaseLoader, BaseMemory, BaseOutputParser, AgentExecutor,
BasePromptTemplate, BaseRetriever, Callable, Chain, BaseChatMemory,
ChatPromptTemplate, Data, Document, Embeddings, BaseLanguageModel,
NestedDict, Object, Prompt, PromptTemplate, BaseLLM,
TextSplitter, Tool, VectorStore) BaseLoader,
BaseMemory,
BaseOutputParser,
BasePromptTemplate,
BaseRetriever,
Callable,
Chain,
ChatPromptTemplate,
Data,
Document,
Embeddings,
NestedDict,
Object,
Prompt,
PromptTemplate,
TextSplitter,
Tool,
VectorStore,
)
from .range_spec import RangeSpec from .range_spec import RangeSpec

View file

@ -1,29 +1,25 @@
from typing import Any, List, Optional from typing import Any, List, Optional
from langchain.agents import (AgentExecutor, AgentType, Tool, ZeroShotAgent, from langchain.agents import AgentExecutor, AgentType, Tool, ZeroShotAgent, initialize_agent
initialize_agent) from langchain.agents.agent_toolkits import (
from langchain.agents.agent_toolkits import (SQLDatabaseToolkit, SQLDatabaseToolkit,
VectorStoreInfo, VectorStoreInfo,
VectorStoreRouterToolkit, VectorStoreRouterToolkit,
VectorStoreToolkit) VectorStoreToolkit,
from langchain.agents.agent_toolkits.json.prompt import (JSON_PREFIX, )
JSON_SUFFIX) from langchain.agents.agent_toolkits.json.prompt import JSON_PREFIX, JSON_SUFFIX
from langchain.agents.agent_toolkits.json.toolkit import JsonToolkit from langchain.agents.agent_toolkits.json.toolkit import JsonToolkit
from langchain.agents.agent_toolkits.sql.prompt import SQL_PREFIX, SQL_SUFFIX from langchain.agents.agent_toolkits.sql.prompt import SQL_PREFIX, SQL_SUFFIX
from langchain.agents.agent_toolkits.vectorstore.prompt import \ from langchain.agents.agent_toolkits.vectorstore.prompt import PREFIX as VECTORSTORE_PREFIX
PREFIX as VECTORSTORE_PREFIX from langchain.agents.agent_toolkits.vectorstore.prompt import ROUTER_PREFIX as VECTORSTORE_ROUTER_PREFIX
from langchain.agents.agent_toolkits.vectorstore.prompt import \
ROUTER_PREFIX as VECTORSTORE_ROUTER_PREFIX
from langchain.agents.mrkl.prompt import FORMAT_INSTRUCTIONS from langchain.agents.mrkl.prompt import FORMAT_INSTRUCTIONS
from langchain.base_language import BaseLanguageModel from langchain.base_language import BaseLanguageModel
from langchain.chains.llm import LLMChain from langchain.chains.llm import LLMChain
from langchain.memory.chat_memory import BaseChatMemory from langchain.memory.chat_memory import BaseChatMemory
from langchain.sql_database import SQLDatabase from langchain.sql_database import SQLDatabase
from langchain.tools.sql_database.prompt import QUERY_CHECKER from langchain.tools.sql_database.prompt import QUERY_CHECKER
from langchain_experimental.agents.agent_toolkits.pandas.prompt import \ from langchain_experimental.agents.agent_toolkits.pandas.prompt import PREFIX as PANDAS_PREFIX
PREFIX as PANDAS_PREFIX from langchain_experimental.agents.agent_toolkits.pandas.prompt import SUFFIX_WITH_DF as PANDAS_SUFFIX
from langchain_experimental.agents.agent_toolkits.pandas.prompt import \
SUFFIX_WITH_DF as PANDAS_SUFFIX
from langchain_experimental.tools.python.tool import PythonAstREPLTool from langchain_experimental.tools.python.tool import PythonAstREPLTool
from langflow.interface.base import CustomAgentExecutor from langflow.interface.base import CustomAgentExecutor
@ -178,10 +174,12 @@ class SQLAgent(CustomAgentExecutor):
# related to `OPENAI_API_KEY` # related to `OPENAI_API_KEY`
# return create_sql_agent(llm=llm, toolkit=toolkit, verbose=True) # return create_sql_agent(llm=llm, toolkit=toolkit, verbose=True)
from langchain.prompts import PromptTemplate from langchain.prompts import PromptTemplate
from langchain.tools.sql_database.tool import (InfoSQLDatabaseTool, from langchain.tools.sql_database.tool import (
InfoSQLDatabaseTool,
ListSQLDatabaseTool, ListSQLDatabaseTool,
QuerySQLCheckerTool, QuerySQLCheckerTool,
QuerySQLDataBaseTool) QuerySQLDataBaseTool,
)
llmchain = LLMChain( llmchain = LLMChain(
llm=llm, llm=llm,

View file

@ -10,7 +10,8 @@ from langflow.interface.custom.component import Component
from langflow.interface.custom.directory_reader import DirectoryReader from langflow.interface.custom.directory_reader import DirectoryReader
from langflow.interface.custom.utils import ( from langflow.interface.custom.utils import (
extract_inner_type_from_generic_alias, extract_inner_type_from_generic_alias,
extract_union_types_from_generic_alias) extract_union_types_from_generic_alias,
)
from langflow.services.database.models.flow import Flow from langflow.services.database.models.flow import Flow
from langflow.services.database.utils import session_getter from langflow.services.database.utils import session_getter
from langflow.services.deps import get_credential_service, get_db_service from langflow.services.deps import get_credential_service, get_db_service
@ -217,8 +218,7 @@ class CustomComponent(Component):
return validate.create_function(self.code, self.function_entrypoint_name) return validate.create_function(self.code, self.function_entrypoint_name)
async def load_flow(self, flow_id: str, tweaks: Optional[dict] = None) -> Any: async def load_flow(self, flow_id: str, tweaks: Optional[dict] = None) -> Any:
from langflow.processing.process import (build_sorted_vertices, from langflow.processing.process import build_sorted_vertices, process_tweaks
process_tweaks)
db_service = get_db_service() db_service = get_db_service()
with session_getter(db_service) as session: with session_getter(db_service) as session:

View file

@ -31,8 +31,7 @@ from langflow.interface.utilities.base import utility_creator
from langflow.interface.vector_store.base import vectorstore_creator from langflow.interface.vector_store.base import vectorstore_creator
from langflow.interface.wrappers.base import wrapper_creator from langflow.interface.wrappers.base import wrapper_creator
from langflow.template.field.base import TemplateField from langflow.template.field.base import TemplateField
from langflow.template.frontend_node.custom_components import \ from langflow.template.frontend_node.custom_components import CustomComponentFrontendNode
CustomComponentFrontendNode
from langflow.utils.util import get_base_classes from langflow.utils.util import get_base_classes

View file

@ -4,8 +4,7 @@ from langchain.agents.agent import AgentExecutor
from langchain.callbacks.base import BaseCallbackHandler from langchain.callbacks.base import BaseCallbackHandler
from loguru import logger from loguru import logger
from langflow.api.v1.callback import (AsyncStreamingLLMCallbackHandler, from langflow.api.v1.callback import AsyncStreamingLLMCallbackHandler, StreamingLLMCallbackHandler
StreamingLLMCallbackHandler)
from langflow.processing.process import fix_memory_inputs, format_actions from langflow.processing.process import fix_memory_inputs, format_actions
from langflow.services.deps import get_plugins_service from langflow.services.deps import get_plugins_service

View file

@ -11,8 +11,7 @@ from loguru import logger
from pydantic import BaseModel from pydantic import BaseModel
from langflow.graph import Graph from langflow.graph import Graph
from langflow.interface.run import (build_sorted_vertices, get_memory_key, from langflow.interface.run import build_sorted_vertices, get_memory_key, update_memory_keys
update_memory_keys)
from langflow.services.deps import get_session_service from langflow.services.deps import get_session_service

View file

@ -5,8 +5,7 @@ from langflow.services.auth.utils import create_super_user, verify_password
from langflow.services.database.utils import initialize_database from langflow.services.database.utils import initialize_database
from langflow.services.manager import service_manager from langflow.services.manager import service_manager
from langflow.services.schema import ServiceType from langflow.services.schema import ServiceType
from langflow.services.settings.constants import (DEFAULT_SUPERUSER, from langflow.services.settings.constants import DEFAULT_SUPERUSER, DEFAULT_SUPERUSER_PASSWORD
DEFAULT_SUPERUSER_PASSWORD)
from .deps import get_db_service, get_session, get_settings_service from .deps import get_db_service, get_session, get_settings_service
@ -18,8 +17,7 @@ def get_factories_and_deps():
from langflow.services.credentials import factory as credentials_factory from langflow.services.credentials import factory as credentials_factory
from langflow.services.database import factory as database_factory from langflow.services.database import factory as database_factory
from langflow.services.plugins import factory as plugins_factory from langflow.services.plugins import factory as plugins_factory
from langflow.services.session import \ from langflow.services.session import factory as session_service_factory # type: ignore
factory as session_service_factory # type: ignore
from langflow.services.settings import factory as settings_factory from langflow.services.settings import factory as settings_factory
from langflow.services.store import factory as store_factory from langflow.services.store import factory as store_factory
from langflow.services.task import factory as task_factory from langflow.services.task import factory as task_factory
@ -176,8 +174,7 @@ def initialize_session_service():
Initialize the session manager. Initialize the session manager.
""" """
from langflow.services.cache import factory as cache_factory from langflow.services.cache import factory as cache_factory
from langflow.services.session import \ from langflow.services.session import factory as session_service_factory # type: ignore
factory as session_service_factory # type: ignore
initialize_settings_service() initialize_settings_service()

View file

@ -38,6 +38,7 @@ class PromptFrontendNode(FrontendNode):
# All prompt fields should be password=False # All prompt fields should be password=False
field.password = False field.password = False
field.dynamic = True
class PromptTemplateNode(FrontendNode): class PromptTemplateNode(FrontendNode):