diff --git a/src/backend/base/langflow/components/__init__.py b/src/backend/base/langflow/components/__init__.py index 4b64a59e6..7b30052ec 100644 --- a/src/backend/base/langflow/components/__init__.py +++ b/src/backend/base/langflow/components/__init__.py @@ -1,9 +1,31 @@ +from . import ( + agents, + chains, + documentloaders, + embeddings, + helpers, + inputs, + memories, + models, + outputs, + prompts, + prototypes, + retrievers, + textsplitters, + toolkits, + tools, + vectorstores, +) + __all__ = [ "agents", "chains", "documentloaders", "embeddings", + "prompts", "prototypes", + "models", + "helpers", "inputs", "memories", "outputs", diff --git a/src/backend/base/langflow/components/prompts/Prompt.py b/src/backend/base/langflow/components/prompts/Prompt.py index 400bbfc49..512398b0d 100644 --- a/src/backend/base/langflow/components/prompts/Prompt.py +++ b/src/backend/base/langflow/components/prompts/Prompt.py @@ -1,5 +1,6 @@ from langflow.base.prompts.api_utils import process_prompt_template from langflow.custom import Component +from langflow.inputs.inputs import DefaultPromptField from langflow.io import Output, PromptInput from langflow.schema.message import Message from langflow.template.utils import update_template_values @@ -27,12 +28,25 @@ class PromptComponent(Component): self.status = prompt.text return prompt + def _update_template(self, frontend_node: dict): + prompt_template = frontend_node["template"]["template"]["value"] + custom_fields = frontend_node["custom_fields"] + frontend_node_template = frontend_node["template"] + _ = process_prompt_template( + template=prompt_template, + name="template", + custom_fields=custom_fields, + frontend_node_template=frontend_node_template, + ) + return frontend_node + def post_code_processing(self, new_frontend_node: dict, current_frontend_node: dict): """ This function is called after the code validation is done. """ frontend_node = super().post_code_processing(new_frontend_node, current_frontend_node) template = frontend_node["template"]["template"]["value"] + # Kept it duplicated for backwards compatibility _ = process_prompt_template( template=template, name="template", @@ -43,3 +57,6 @@ class PromptComponent(Component): # and update the frontend_node with those values update_template_values(new_template=frontend_node, previous_template=current_frontend_node["template"]) return frontend_node + + def _get_fallback_input(self, **kwargs): + return DefaultPromptField(**kwargs) diff --git a/src/backend/base/langflow/inputs/__init__.py b/src/backend/base/langflow/inputs/__init__.py index 0afcacb06..00842931c 100644 --- a/src/backend/base/langflow/inputs/__init__.py +++ b/src/backend/base/langflow/inputs/__init__.py @@ -17,6 +17,7 @@ from .inputs import ( SecretStrInput, StrInput, TableInput, + DefaultPromptField, ) __all__ = [ @@ -38,4 +39,5 @@ __all__ = [ "StrInput", "MessageTextInput", "TableInput", + "DefaultPromptField", ] diff --git a/src/backend/base/langflow/io/__init__.py b/src/backend/base/langflow/io/__init__.py index 063f030ff..8d26e7ed7 100644 --- a/src/backend/base/langflow/io/__init__.py +++ b/src/backend/base/langflow/io/__init__.py @@ -17,6 +17,7 @@ from langflow.inputs import ( SecretStrInput, StrInput, TableInput, + DefaultPromptField, ) from langflow.template import Output @@ -40,4 +41,5 @@ __all__ = [ "MessageTextInput", "Output", "TableInput", + "DefaultPromptField", ] diff --git a/src/backend/base/langflow/template/field/prompt.py b/src/backend/base/langflow/template/field/prompt.py index 6ae396cf5..5ad43946e 100644 --- a/src/backend/base/langflow/template/field/prompt.py +++ b/src/backend/base/langflow/template/field/prompt.py @@ -1,16 +1,3 @@ -from typing import Optional - -from langflow.template.field.base import Input - -DEFAULT_PROMPT_INTUT_TYPES = ["Message", "Text"] - - -class DefaultPromptField(Input): - name: str - display_name: Optional[str] = None - field_type: str = "str" - - advanced: bool = False - multiline: bool = True - input_types: list[str] = DEFAULT_PROMPT_INTUT_TYPES - value: str = "" # Set the value to empty string +# This file is for backwards compatibility +from langflow.inputs.inputs import DEFAULT_PROMPT_INTUT_TYPES # noqa +from langflow.inputs import DefaultPromptField # noqa