Fix import formatting and add dynamic field flag
This commit is contained in:
parent
18b4e33062
commit
e36b929aa7
11 changed files with 58 additions and 53 deletions
|
|
@ -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"])
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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",
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue