refactor: rename TextInput to MessageTextInput

This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-06-23 17:51:41 -03:00
commit 93a2164543
35 changed files with 119 additions and 112 deletions

View file

@ -5,7 +5,7 @@ from langchain.agents.tool_calling_agent.base import create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate from langchain_core.prompts import ChatPromptTemplate
from langflow.custom import Component from langflow.custom import Component
from langflow.io import BoolInput, HandleInput, Output, TextInput from langflow.io import BoolInput, HandleInput, MessageTextInput, Output
from langflow.schema import Data from langflow.schema import Data
from langflow.schema.message import Message from langflow.schema.message import Message
@ -16,18 +16,18 @@ class ToolCallingAgentComponent(Component):
icon = "LangChain" icon = "LangChain"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="system_prompt", name="system_prompt",
display_name="System Prompt", display_name="System Prompt",
info="System prompt for the agent.", info="System prompt for the agent.",
value="You are a helpful assistant", value="You are a helpful assistant",
), ),
TextInput( MessageTextInput(
name="input_value", name="input_value",
display_name="Inputs", display_name="Inputs",
info="Input text to pass to the agent.", info="Input text to pass to the agent.",
), ),
TextInput( MessageTextInput(
name="user_prompt", name="user_prompt",
display_name="Prompt", display_name="Prompt",
info="This prompt must contain 'input' key.", info="This prompt must contain 'input' key.",

View file

@ -8,7 +8,7 @@ from loguru import logger
from langflow.base.curl.parse import parse_context from langflow.base.curl.parse import parse_context
from langflow.custom import Component from langflow.custom import Component
from langflow.io import DataInput, DropdownInput, IntInput, NestedDictInput, Output, TextInput from langflow.io import DataInput, DropdownInput, IntInput, MessageTextInput, NestedDictInput, Output
from langflow.schema import Data from langflow.schema import Data
from langflow.schema.dotdict import dotdict from langflow.schema.dotdict import dotdict
@ -24,13 +24,13 @@ class APIRequestComponent(Component):
icon = "Globe" icon = "Globe"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="urls", name="urls",
display_name="URLs", display_name="URLs",
is_list=True, is_list=True,
info="Enter one or more URLs, separated by commas.", info="Enter one or more URLs, separated by commas.",
), ),
TextInput( MessageTextInput(
name="curl", name="curl",
display_name="Curl", display_name="Curl",
info="Paste a curl command to populate the fields. This will fill in the dictionary fields for headers and body.", info="Paste a curl command to populate the fields. This will fill in the dictionary fields for headers and body.",

View file

@ -2,7 +2,7 @@ from typing import List, Optional
from langflow.base.data.utils import parallel_load_data, parse_text_file_to_data, retrieve_file_paths from langflow.base.data.utils import parallel_load_data, parse_text_file_to_data, retrieve_file_paths
from langflow.custom import Component from langflow.custom import Component
from langflow.io import BoolInput, IntInput, TextInput from langflow.io import BoolInput, IntInput, MessageTextInput
from langflow.schema import Data from langflow.schema import Data
from langflow.template import Output from langflow.template import Output
@ -13,12 +13,12 @@ class DirectoryComponent(Component):
icon = "folder" icon = "folder"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="path", name="path",
display_name="Path", display_name="Path",
info="Path to the directory to load files from.", info="Path to the directory to load files from.",
), ),
TextInput( MessageTextInput(
name="types", name="types",
display_name="Types", display_name="Types",
info="File types to load. Leave empty to load all types.", info="File types to load. Leave empty to load all types.",

View file

@ -3,7 +3,7 @@ import re
from langchain_community.document_loaders.web_base import WebBaseLoader from langchain_community.document_loaders.web_base import WebBaseLoader
from langflow.custom import Component from langflow.custom import Component
from langflow.io import Output, TextInput from langflow.io import MessageTextInput, Output
from langflow.schema import Data from langflow.schema import Data
@ -13,7 +13,7 @@ class URLComponent(Component):
icon = "layout-template" icon = "layout-template"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="urls", name="urls",
display_name="URLs", display_name="URLs",
info="Enter one or more URLs, separated by commas.", info="Enter one or more URLs, separated by commas.",

View file

@ -1,7 +1,8 @@
from langchain_community.embeddings import BedrockEmbeddings from langchain_community.embeddings import BedrockEmbeddings
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing import Embeddings from langflow.field_typing import Embeddings
from langflow.io import DropdownInput, Output, TextInput from langflow.io import DropdownInput, MessageTextInput, Output
class AmazonBedrockEmbeddingsComponent(LCModelComponent): class AmazonBedrockEmbeddingsComponent(LCModelComponent):
@ -17,15 +18,15 @@ class AmazonBedrockEmbeddingsComponent(LCModelComponent):
options=["amazon.titan-embed-text-v1"], options=["amazon.titan-embed-text-v1"],
value="amazon.titan-embed-text-v1", value="amazon.titan-embed-text-v1",
), ),
TextInput( MessageTextInput(
name="credentials_profile_name", name="credentials_profile_name",
display_name="Credentials Profile Name", display_name="Credentials Profile Name",
), ),
TextInput( MessageTextInput(
name="endpoint_url", name="endpoint_url",
display_name="Bedrock Endpoint URL", display_name="Bedrock Endpoint URL",
), ),
TextInput( MessageTextInput(
name="region_name", name="region_name",
display_name="AWS Region", display_name="AWS Region",
), ),

View file

@ -3,7 +3,7 @@ from pydantic.v1 import SecretStr
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing import Embeddings from langflow.field_typing import Embeddings
from langflow.io import DropdownInput, IntInput, Output, SecretStrInput, TextInput from langflow.io import DropdownInput, IntInput, MessageTextInput, Output, SecretStrInput
class AzureOpenAIEmbeddingsComponent(LCModelComponent): class AzureOpenAIEmbeddingsComponent(LCModelComponent):
@ -22,13 +22,13 @@ class AzureOpenAIEmbeddingsComponent(LCModelComponent):
] ]
inputs = [ inputs = [
TextInput( MessageTextInput(
name="azure_endpoint", name="azure_endpoint",
display_name="Azure Endpoint", display_name="Azure Endpoint",
required=True, 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/`",
), ),
TextInput( MessageTextInput(
name="azure_deployment", name="azure_deployment",
display_name="Deployment Name", display_name="Deployment Name",
required=True, required=True,

View file

@ -2,7 +2,7 @@ from langchain_community.embeddings.cohere import CohereEmbeddings
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing import Embeddings from langflow.field_typing import Embeddings
from langflow.io import DropdownInput, FloatInput, IntInput, Output, SecretStrInput, TextInput from langflow.io import DropdownInput, FloatInput, IntInput, MessageTextInput, Output, SecretStrInput
class CohereEmbeddingsComponent(LCModelComponent): class CohereEmbeddingsComponent(LCModelComponent):
@ -23,9 +23,9 @@ class CohereEmbeddingsComponent(LCModelComponent):
], ],
value="embed-english-v2.0", value="embed-english-v2.0",
), ),
TextInput(name="truncate", display_name="Truncate", advanced=True), MessageTextInput(name="truncate", display_name="Truncate", advanced=True),
IntInput(name="max_retries", display_name="Max Retries", value=3, advanced=True), IntInput(name="max_retries", display_name="Max Retries", value=3, advanced=True),
TextInput(name="user_agent", display_name="User Agent", advanced=True, value="langchain"), MessageTextInput(name="user_agent", display_name="User Agent", advanced=True, value="langchain"),
FloatInput(name="request_timeout", display_name="Request Timeout", advanced=True), FloatInput(name="request_timeout", display_name="Request Timeout", advanced=True),
] ]

View file

@ -2,7 +2,7 @@ from langchain_community.embeddings.huggingface import HuggingFaceEmbeddings
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing import Embeddings from langflow.field_typing import Embeddings
from langflow.io import BoolInput, DictInput, TextInput, Output from langflow.io import BoolInput, DictInput, MessageTextInput, Output
class HuggingFaceEmbeddingsComponent(LCModelComponent): class HuggingFaceEmbeddingsComponent(LCModelComponent):
@ -14,10 +14,10 @@ class HuggingFaceEmbeddingsComponent(LCModelComponent):
icon = "HuggingFace" icon = "HuggingFace"
inputs = [ inputs = [
TextInput(name="cache_folder", display_name="Cache Folder", advanced=True), MessageTextInput(name="cache_folder", display_name="Cache Folder", advanced=True),
DictInput(name="encode_kwargs", display_name="Encode Kwargs", advanced=True), DictInput(name="encode_kwargs", display_name="Encode Kwargs", advanced=True),
DictInput(name="model_kwargs", display_name="Model Kwargs", advanced=True), DictInput(name="model_kwargs", display_name="Model Kwargs", advanced=True),
TextInput(name="model_name", display_name="Model Name", value="sentence-transformers/all-mpnet-base-v2"), MessageTextInput(name="model_name", display_name="Model Name", value="sentence-transformers/all-mpnet-base-v2"),
BoolInput(name="multi_process", display_name="Multi Process", advanced=True), BoolInput(name="multi_process", display_name="Multi Process", advanced=True),
] ]

View file

@ -3,7 +3,7 @@ from pydantic.v1.types import SecretStr
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing import Embeddings from langflow.field_typing import Embeddings
from langflow.io import Output, SecretStrInput, TextInput from langflow.io import MessageTextInput, Output, SecretStrInput
class HuggingFaceInferenceAPIEmbeddingsComponent(LCModelComponent): class HuggingFaceInferenceAPIEmbeddingsComponent(LCModelComponent):
@ -14,8 +14,8 @@ class HuggingFaceInferenceAPIEmbeddingsComponent(LCModelComponent):
inputs = [ inputs = [
SecretStrInput(name="api_key", display_name="API Key", advanced=True), SecretStrInput(name="api_key", display_name="API Key", advanced=True),
TextInput(name="api_url", display_name="API URL", advanced=True, value="http://localhost:8080"), MessageTextInput(name="api_url", display_name="API URL", advanced=True, value="http://localhost:8080"),
TextInput(name="model_name", display_name="Model Name", value="BAAI/bge-large-en-v1.5"), MessageTextInput(name="model_name", display_name="Model Name", value="BAAI/bge-large-en-v1.5"),
] ]
outputs = [ outputs = [

View file

@ -3,7 +3,7 @@ from pydantic.v1 import SecretStr
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing import Embeddings from langflow.field_typing import Embeddings
from langflow.io import DropdownInput, IntInput, Output, SecretStrInput, TextInput from langflow.io import DropdownInput, IntInput, MessageTextInput, Output, SecretStrInput
class MistralAIEmbeddingsComponent(LCModelComponent): class MistralAIEmbeddingsComponent(LCModelComponent):
@ -28,7 +28,7 @@ class MistralAIEmbeddingsComponent(LCModelComponent):
), ),
IntInput(name="max_retries", display_name="Max Retries", advanced=True, value=5), IntInput(name="max_retries", display_name="Max Retries", advanced=True, value=5),
IntInput(name="timeout", display_name="Request Timeout", advanced=True, value=120), IntInput(name="timeout", display_name="Request Timeout", advanced=True, value=120),
TextInput( MessageTextInput(
name="endpoint", name="endpoint",
display_name="API Endpoint", display_name="API Endpoint",
advanced=True, advanced=True,

View file

@ -1,7 +1,8 @@
from langchain_community.embeddings import OllamaEmbeddings from langchain_community.embeddings import OllamaEmbeddings
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing import Embeddings from langflow.field_typing import Embeddings
from langflow.io import FloatInput, Output, TextInput from langflow.io import FloatInput, MessageTextInput, Output
class OllamaEmbeddingsComponent(LCModelComponent): class OllamaEmbeddingsComponent(LCModelComponent):
@ -11,12 +12,12 @@ class OllamaEmbeddingsComponent(LCModelComponent):
icon = "Ollama" icon = "Ollama"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="model", name="model",
display_name="Ollama Model", display_name="Ollama Model",
value="llama2", value="llama2",
), ),
TextInput( MessageTextInput(
name="base_url", name="base_url",
display_name="Ollama Base URL", display_name="Ollama Base URL",
value="http://localhost:11434", value="http://localhost:11434",

View file

@ -2,7 +2,7 @@ from langchain_openai.embeddings.base import OpenAIEmbeddings
from langflow.base.embeddings.model import LCEmbeddingsModel from langflow.base.embeddings.model import LCEmbeddingsModel
from langflow.field_typing import Embeddings from langflow.field_typing import Embeddings
from langflow.io import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, SecretStrInput, TextInput from langflow.io import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, MessageTextInput, SecretStrInput
class OpenAIEmbeddingsComponent(LCEmbeddingsModel): class OpenAIEmbeddingsComponent(LCEmbeddingsModel):
@ -23,8 +23,8 @@ class OpenAIEmbeddingsComponent(LCEmbeddingsModel):
info="Default query parameters to use for the API request.", info="Default query parameters to use for the API request.",
), ),
IntInput(name="chunk_size", display_name="Chunk Size", advanced=True, value=1000), IntInput(name="chunk_size", display_name="Chunk Size", advanced=True, value=1000),
TextInput(name="client", display_name="Client", advanced=True), MessageTextInput(name="client", display_name="Client", advanced=True),
TextInput(name="deployment", display_name="Deployment", advanced=True), MessageTextInput(name="deployment", display_name="Deployment", advanced=True),
IntInput(name="embedding_ctx_length", display_name="Embedding Context Length", advanced=True, value=1536), IntInput(name="embedding_ctx_length", display_name="Embedding Context Length", advanced=True, value=1536),
IntInput(name="max_retries", display_name="Max Retries", value=3, advanced=True), IntInput(name="max_retries", display_name="Max Retries", value=3, advanced=True),
DropdownInput( DropdownInput(
@ -42,17 +42,17 @@ class OpenAIEmbeddingsComponent(LCEmbeddingsModel):
SecretStrInput(name="openai_api_base", display_name="OpenAI API Base", advanced=True), SecretStrInput(name="openai_api_base", display_name="OpenAI API Base", advanced=True),
SecretStrInput(name="openai_api_key", display_name="OpenAI API Key"), SecretStrInput(name="openai_api_key", display_name="OpenAI API Key"),
SecretStrInput(name="openai_api_type", display_name="OpenAI API Type", advanced=True), SecretStrInput(name="openai_api_type", display_name="OpenAI API Type", advanced=True),
TextInput(name="openai_api_version", display_name="OpenAI API Version", advanced=True), MessageTextInput(name="openai_api_version", display_name="OpenAI API Version", advanced=True),
TextInput( MessageTextInput(
name="openai_organization", name="openai_organization",
display_name="OpenAI Organization", display_name="OpenAI Organization",
advanced=True, advanced=True,
), ),
TextInput(name="openai_proxy", display_name="OpenAI Proxy", advanced=True), MessageTextInput(name="openai_proxy", display_name="OpenAI Proxy", advanced=True),
FloatInput(name="request_timeout", display_name="Request Timeout", advanced=True), FloatInput(name="request_timeout", display_name="Request Timeout", advanced=True),
BoolInput(name="show_progress_bar", display_name="Show Progress Bar", advanced=True), BoolInput(name="show_progress_bar", display_name="Show Progress Bar", advanced=True),
BoolInput(name="skip_empty", display_name="Skip Empty", advanced=True), BoolInput(name="skip_empty", display_name="Skip Empty", advanced=True),
TextInput( MessageTextInput(
name="tiktoken_model_name", name="tiktoken_model_name",
display_name="TikToken Model Name", display_name="TikToken Model Name",
advanced=True, advanced=True,

View file

@ -1,6 +1,6 @@
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing import Embeddings from langflow.field_typing import Embeddings
from langflow.io import BoolInput, DictInput, FileInput, FloatInput, IntInput, Output, TextInput from langflow.io import BoolInput, DictInput, FileInput, FloatInput, IntInput, MessageTextInput, Output
class VertexAIEmbeddingsComponent(LCModelComponent): class VertexAIEmbeddingsComponent(LCModelComponent):
@ -20,7 +20,7 @@ class VertexAIEmbeddingsComponent(LCModelComponent):
display_name="Instance", display_name="Instance",
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="location", name="location",
display_name="Location", display_name="Location",
value="us-central1", value="us-central1",
@ -37,7 +37,7 @@ class VertexAIEmbeddingsComponent(LCModelComponent):
value=6, value=6,
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="model_name", name="model_name",
display_name="Model Name", display_name="Model Name",
value="textembedding-gecko", value="textembedding-gecko",
@ -48,7 +48,7 @@ class VertexAIEmbeddingsComponent(LCModelComponent):
value=1, value=1,
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="project", name="project",
display_name="Project", display_name="Project",
advanced=True, advanced=True,
@ -59,7 +59,7 @@ class VertexAIEmbeddingsComponent(LCModelComponent):
value=5, value=5,
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="stop", name="stop",
display_name="Stop", display_name="Stop",
advanced=True, advanced=True,

View file

@ -1,5 +1,5 @@
from langflow.custom import Component from langflow.custom import Component
from langflow.io import BoolInput, DropdownInput, MessageInput, Output, TextInput from langflow.io import BoolInput, DropdownInput, MessageInput, MessageTextInput, Output
from langflow.schema.message import Message from langflow.schema.message import Message
@ -9,12 +9,12 @@ class ConditionalRouterComponent(Component):
icon = "equal" icon = "equal"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="input_text", name="input_text",
display_name="Input Text", display_name="Input Text",
info="The primary text input for the operation.", info="The primary text input for the operation.",
), ),
TextInput( MessageTextInput(
name="match_text", name="match_text",
display_name="Match Text", display_name="Match Text",
info="The text input to compare against.", info="The text input to compare against.",

View file

@ -1,6 +1,6 @@
from langflow.custom import Component from langflow.custom import Component
from langflow.field_typing import Text from langflow.field_typing import Text
from langflow.io import BoolInput, DropdownInput, Output, TextInput from langflow.io import BoolInput, DropdownInput, MessageTextInput, Output
class SelectivePassThroughComponent(Component): class SelectivePassThroughComponent(Component):
@ -9,12 +9,12 @@ class SelectivePassThroughComponent(Component):
icon = "filter" icon = "filter"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="input_value", name="input_value",
display_name="Input Value", display_name="Input Value",
info="The primary input value to evaluate.", info="The primary input value to evaluate.",
), ),
TextInput( MessageTextInput(
name="comparison_value", name="comparison_value",
display_name="Comparison Value", display_name="Comparison Value",
info="The value to compare against the input value.", info="The value to compare against the input value.",
@ -25,7 +25,7 @@ class SelectivePassThroughComponent(Component):
options=["equals", "not equals", "contains", "starts with", "ends with"], options=["equals", "not equals", "contains", "starts with", "ends with"],
info="Condition to evaluate the input value.", info="Condition to evaluate the input value.",
), ),
TextInput( MessageTextInput(
name="value_to_pass", name="value_to_pass",
display_name="Value to Pass", display_name="Value to Pass",
info="The value to pass if the condition is met.", info="The value to pass if the condition is met.",

View file

@ -1,8 +1,9 @@
from typing import List from typing import List
from langchain_text_splitters import CharacterTextSplitter from langchain_text_splitters import CharacterTextSplitter
from langflow.custom import Component from langflow.custom import Component
from langflow.io import HandleInput, IntInput, Output, TextInput from langflow.io import HandleInput, IntInput, MessageTextInput, Output
from langflow.schema import Data from langflow.schema import Data
from langflow.utils.util import unescape_string from langflow.utils.util import unescape_string
@ -32,7 +33,7 @@ class SplitTextComponent(Component):
info="The maximum number of characters in each chunk.", info="The maximum number of characters in each chunk.",
value=1000, value=1000,
), ),
TextInput( MessageTextInput(
name="separator", name="separator",
display_name="Separator", display_name="Separator",
info="The character to split on. Defaults to newline.", info="The character to split on. Defaults to newline.",

View file

@ -1,5 +1,5 @@
from langflow.custom import Component from langflow.custom import Component
from langflow.io import Output, TextInput from langflow.io import MessageTextInput, Output
from langflow.schema.message import Message from langflow.schema.message import Message
@ -9,17 +9,17 @@ class CombineTextComponent(Component):
icon = "merge" icon = "merge"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="text1", name="text1",
display_name="First Text", display_name="First Text",
info="The first text input to concatenate.", info="The first text input to concatenate.",
), ),
TextInput( MessageTextInput(
name="text2", name="text2",
display_name="Second Text", display_name="Second Text",
info="The second text input to concatenate.", info="The second text input to concatenate.",
), ),
TextInput( MessageTextInput(
name="delimiter", name="delimiter",
display_name="Delimiter", display_name="Delimiter",
info="A string used to separate the two text inputs. Defaults to a whitespace.", info="A string used to separate the two text inputs. Defaults to a whitespace.",

View file

@ -1,6 +1,6 @@
# from langflow.field_typing import Data # from langflow.field_typing import Data
from langflow.custom import Component from langflow.custom import Component
from langflow.io import Output, TextInput from langflow.io import MessageTextInput, Output
from langflow.schema import Data from langflow.schema import Data
@ -11,7 +11,7 @@ class CustomComponent(Component):
icon = "custom_components" icon = "custom_components"
inputs = [ inputs = [
TextInput(name="input_value", display_name="Input Value", value="Hello, World!"), MessageTextInput(name="input_value", display_name="Input Value", value="Hello, World!"),
] ]
outputs = [ outputs = [

View file

@ -1,7 +1,7 @@
from typing import List from typing import List
from langflow.custom import Component from langflow.custom import Component
from langflow.io import DataInput, Output, TextInput from langflow.io import DataInput, MessageTextInput, Output
from langflow.schema import Data from langflow.schema import Data
@ -16,7 +16,7 @@ class FilterDataComponent(Component):
display_name="Data", display_name="Data",
info="Data object to filter.", info="Data object to filter.",
), ),
TextInput( MessageTextInput(
name="filter_criteria", name="filter_criteria",
display_name="Filter Criteria", display_name="Filter Criteria",
info="List of keys to filter by.", info="List of keys to filter by.",

View file

@ -1,6 +1,6 @@
from langflow.custom import Component from langflow.custom import Component
from langflow.helpers.data import data_to_text from langflow.helpers.data import data_to_text
from langflow.io import DropdownInput, IntInput, MultilineInput, Output, TextInput from langflow.io import DropdownInput, IntInput, MessageTextInput, MultilineInput, Output
from langflow.memory import get_messages from langflow.memory import get_messages
from langflow.schema import Data from langflow.schema import Data
from langflow.schema.message import Message from langflow.schema.message import Message
@ -20,7 +20,7 @@ class MemoryComponent(Component):
info="Type of sender.", info="Type of sender.",
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="sender_name", name="sender_name",
display_name="Sender Name", display_name="Sender Name",
info="Name of the sender.", info="Name of the sender.",
@ -33,7 +33,7 @@ class MemoryComponent(Component):
info="Number of messages to retrieve.", info="Number of messages to retrieve.",
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="session_id", name="session_id",
display_name="Session ID", display_name="Session ID",
info="Session ID of the chat history.", info="Session ID of the chat history.",

View file

@ -1,6 +1,6 @@
from langflow.base.data.utils import IMG_FILE_TYPES, TEXT_FILE_TYPES from langflow.base.data.utils import IMG_FILE_TYPES, TEXT_FILE_TYPES
from langflow.base.io.chat import ChatComponent from langflow.base.io.chat import ChatComponent
from langflow.io import DropdownInput, FileInput, MultilineInput, Output, TextInput from langflow.io import DropdownInput, FileInput, MessageTextInput, MultilineInput, Output
from langflow.schema.message import Message from langflow.schema.message import Message
@ -24,14 +24,16 @@ class ChatInput(ChatComponent):
info="Type of sender.", info="Type of sender.",
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="sender_name", name="sender_name",
display_name="Sender Name", display_name="Sender Name",
info="Name of the sender.", info="Name of the sender.",
value="User", value="User",
advanced=True, advanced=True,
), ),
TextInput(name="session_id", display_name="Session ID", info="Session ID for the message.", advanced=True), MessageTextInput(
name="session_id", display_name="Session ID", info="Session ID for the message.", advanced=True
),
FileInput( FileInput(
name="files", name="files",
display_name="Files", display_name="Files",

View file

@ -1,5 +1,5 @@
from langflow.base.io.text import TextComponent from langflow.base.io.text import TextComponent
from langflow.io import Output, TextInput from langflow.io import MessageTextInput, Output
from langflow.schema.message import Message from langflow.schema.message import Message
@ -9,7 +9,7 @@ class TextInputComponent(TextComponent):
icon = "type" icon = "type"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="input_value", name="input_value",
display_name="Text", display_name="Text",
info="Text to be passed as input.", info="Text to be passed as input.",

View file

@ -4,7 +4,7 @@ from pydantic.v1 import SecretStr
from langflow.base.constants import STREAM_INFO_TEXT from langflow.base.constants import STREAM_INFO_TEXT
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing import LanguageModel from langflow.field_typing import LanguageModel
from langflow.io import BoolInput, DropdownInput, FloatInput, IntInput, Output, SecretStrInput, TextInput from langflow.io import BoolInput, DropdownInput, FloatInput, IntInput, MessageTextInput, Output, SecretStrInput
class AnthropicModelComponent(LCModelComponent): class AnthropicModelComponent(LCModelComponent):
@ -13,7 +13,7 @@ class AnthropicModelComponent(LCModelComponent):
icon = "Anthropic" icon = "Anthropic"
inputs = [ inputs = [
TextInput(name="input_value", display_name="Input"), MessageTextInput(name="input_value", display_name="Input"),
IntInput( IntInput(
name="max_tokens", name="max_tokens",
display_name="Max Tokens", display_name="Max Tokens",
@ -39,20 +39,20 @@ class AnthropicModelComponent(LCModelComponent):
info="Your Anthropic API key.", info="Your Anthropic API key.",
), ),
FloatInput(name="temperature", display_name="Temperature", value=0.1), FloatInput(name="temperature", display_name="Temperature", value=0.1),
TextInput( MessageTextInput(
name="anthropic_api_url", name="anthropic_api_url",
display_name="Anthropic API URL", display_name="Anthropic API URL",
advanced=True, advanced=True,
info="Endpoint of the Anthropic API. Defaults to 'https://api.anthropic.com' if not specified.", info="Endpoint of the Anthropic API. Defaults to 'https://api.anthropic.com' if not specified.",
), ),
BoolInput(name="stream", display_name="Stream", info=STREAM_INFO_TEXT, advanced=True, value=False), BoolInput(name="stream", display_name="Stream", info=STREAM_INFO_TEXT, advanced=True, value=False),
TextInput( MessageTextInput(
name="system_message", name="system_message",
display_name="System Message", display_name="System Message",
info="System message to pass to the model.", info="System message to pass to the model.",
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="prefill", name="prefill",
display_name="Prefill", display_name="Prefill",
info="Prefill text to guide the model's response.", info="Prefill text to guide the model's response.",

View file

@ -4,7 +4,7 @@ from pydantic.v1 import SecretStr
from langflow.base.constants import STREAM_INFO_TEXT from langflow.base.constants import STREAM_INFO_TEXT
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing.constants import LanguageModel from langflow.field_typing.constants import LanguageModel
from langflow.io import BoolInput, DropdownInput, FloatInput, Output, SecretStrInput, TextInput from langflow.io import BoolInput, DropdownInput, FloatInput, MessageTextInput, Output, SecretStrInput
class QianfanChatEndpointComponent(LCModelComponent): class QianfanChatEndpointComponent(LCModelComponent):
@ -14,7 +14,7 @@ class QianfanChatEndpointComponent(LCModelComponent):
icon = "BaiduQianfan" icon = "BaiduQianfan"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="input_value", name="input_value",
display_name="Input", display_name="Input",
), ),
@ -66,7 +66,7 @@ class QianfanChatEndpointComponent(LCModelComponent):
value=1.0, value=1.0,
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="endpoint", name="endpoint",
display_name="Endpoint", display_name="Endpoint",
info="Endpoint of the Qianfan LLM, required if custom model used.", info="Endpoint of the Qianfan LLM, required if custom model used.",
@ -77,7 +77,7 @@ class QianfanChatEndpointComponent(LCModelComponent):
info=STREAM_INFO_TEXT, info=STREAM_INFO_TEXT,
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="system_message", name="system_message",
display_name="System Message", display_name="System Message",
info="System message to pass to the model.", info="System message to pass to the model.",

View file

@ -5,7 +5,7 @@ from langflow.base.constants import STREAM_INFO_TEXT
from langflow.base.models.groq_constants import MODEL_NAMES from langflow.base.models.groq_constants import MODEL_NAMES
from langflow.base.models.model import LCModelComponent from langflow.base.models.model import LCModelComponent
from langflow.field_typing import LanguageModel from langflow.field_typing import LanguageModel
from langflow.io import BoolInput, DropdownInput, FloatInput, IntInput, SecretStrInput, TextInput from langflow.io import BoolInput, DropdownInput, FloatInput, IntInput, MessageTextInput, SecretStrInput
class GroqModel(LCModelComponent): class GroqModel(LCModelComponent):
@ -19,7 +19,7 @@ class GroqModel(LCModelComponent):
display_name="Groq API Key", display_name="Groq API Key",
info="API key for the Groq API.", info="API key for the Groq API.",
), ),
TextInput( MessageTextInput(
name="groq_api_base", name="groq_api_base",
display_name="Groq API Base", display_name="Groq API Base",
info="Base URL path for API requests, leave blank if not using a proxy or service emulator.", info="Base URL path for API requests, leave blank if not using a proxy or service emulator.",
@ -49,7 +49,7 @@ class GroqModel(LCModelComponent):
info="The name of the model to use.", info="The name of the model to use.",
options=MODEL_NAMES, options=MODEL_NAMES,
), ),
TextInput( MessageTextInput(
name="input_value", name="input_value",
display_name="Input", display_name="Input",
info="The input to the model.", info="The input to the model.",
@ -60,7 +60,7 @@ class GroqModel(LCModelComponent):
info=STREAM_INFO_TEXT, info=STREAM_INFO_TEXT,
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="system_message", name="system_message",
display_name="System Message", display_name="System Message",
info="System message to pass to the model.", info="System message to pass to the model.",

View file

@ -1,5 +1,5 @@
from langflow.base.io.chat import ChatComponent from langflow.base.io.chat import ChatComponent
from langflow.io import DropdownInput, Output, TextInput from langflow.io import DropdownInput, MessageTextInput, Output
from langflow.schema.message import Message from langflow.schema.message import Message
@ -9,7 +9,7 @@ class ChatOutput(ChatComponent):
icon = "ChatOutput" icon = "ChatOutput"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="input_value", name="input_value",
display_name="Text", display_name="Text",
info="Message to be passed as output.", info="Message to be passed as output.",
@ -22,11 +22,13 @@ class ChatOutput(ChatComponent):
advanced=True, advanced=True,
info="Type of sender.", info="Type of sender.",
), ),
TextInput( MessageTextInput(
name="sender_name", display_name="Sender Name", info="Name of the sender.", value="AI", advanced=True name="sender_name", display_name="Sender Name", info="Name of the sender.", value="AI", advanced=True
), ),
TextInput(name="session_id", display_name="Session ID", info="Session ID for the message.", advanced=True), MessageTextInput(
TextInput( name="session_id", display_name="Session ID", info="Session ID for the message.", advanced=True
),
MessageTextInput(
name="data_template", name="data_template",
display_name="Data Template", display_name="Data Template",
value="{text}", value="{text}",

View file

@ -1,5 +1,5 @@
from langflow.base.io.text import TextComponent from langflow.base.io.text import TextComponent
from langflow.io import Output, TextInput from langflow.io import MessageTextInput, Output
from langflow.schema.message import Message from langflow.schema.message import Message
@ -9,7 +9,7 @@ class TextOutputComponent(TextComponent):
icon = "type" icon = "type"
inputs = [ inputs = [
TextInput( MessageTextInput(
name="input_value", name="input_value",
display_name="Text", display_name="Text",
info="Text to be passed as output.", info="Text to be passed as output.",

View file

@ -5,7 +5,7 @@ from langchain_cohere import CohereRerank
from langflow.base.vectorstores.model import LCVectorStoreComponent from langflow.base.vectorstores.model import LCVectorStoreComponent
from langflow.field_typing import Retriever from langflow.field_typing import Retriever
from langflow.io import DropdownInput, HandleInput, IntInput, MultilineInput, SecretStrInput, TextInput from langflow.io import DropdownInput, HandleInput, IntInput, MessageTextInput, MultilineInput, SecretStrInput
from langflow.schema import Data from langflow.schema import Data
@ -32,7 +32,7 @@ class CohereRerankComponent(LCVectorStoreComponent):
), ),
SecretStrInput(name="api_key", display_name="API Key"), SecretStrInput(name="api_key", display_name="API Key"),
IntInput(name="top_n", display_name="Top N", value=3), IntInput(name="top_n", display_name="Top N", value=3),
TextInput(name="user_agent", display_name="User Agent", value="langflow", advanced=True), MessageTextInput(name="user_agent", display_name="User Agent", value="langflow", advanced=True),
HandleInput(name="retriever", display_name="Retriever", input_types=["Retriever"]), HandleInput(name="retriever", display_name="Retriever", input_types=["Retriever"]),
] ]

View file

@ -1,7 +1,7 @@
from langchain_text_splitters import RecursiveCharacterTextSplitter from langchain_text_splitters import RecursiveCharacterTextSplitter
from langflow.custom import Component from langflow.custom import Component
from langflow.inputs.inputs import DataInput, IntInput, TextInput from langflow.inputs.inputs import DataInput, IntInput, MessageTextInput
from langflow.schema import Data from langflow.schema import Data
from langflow.template.field.base import Output from langflow.template.field.base import Output
from langflow.utils.util import build_loader_repr_from_data, unescape_string from langflow.utils.util import build_loader_repr_from_data, unescape_string
@ -31,7 +31,7 @@ class RecursiveCharacterTextSplitterComponent(Component):
info="The texts to split.", info="The texts to split.",
input_types=["Document", "Data"], input_types=["Document", "Data"],
), ),
TextInput( MessageTextInput(
name="separators", name="separators",
display_name="Separators", display_name="Separators",
info='The characters to split on.\nIf left empty defaults to ["\\n\\n", "\\n", " ", ""].', info='The characters to split on.\nIf left empty defaults to ["\\n\\n", "\\n", " ", ""].',

View file

@ -5,13 +5,13 @@ from langchain_community.vectorstores import Cassandra
from langflow.base.vectorstores.model import LCVectorStoreComponent from langflow.base.vectorstores.model import LCVectorStoreComponent
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
from langflow.io import ( from langflow.io import (
DataInput,
DropdownInput, DropdownInput,
HandleInput, HandleInput,
IntInput, IntInput,
SecretStrInput, MessageTextInput,
TextInput,
DataInput,
MultilineInput, MultilineInput,
SecretStrInput,
) )
from langflow.schema import Data from langflow.schema import Data
@ -29,14 +29,14 @@ class CassandraVectorStoreComponent(LCVectorStoreComponent):
info="Authentication token for accessing Cassandra on Astra DB.", info="Authentication token for accessing Cassandra on Astra DB.",
required=True, required=True,
), ),
TextInput(name="database_id", display_name="Database ID", info="The Astra database ID.", required=True), MessageTextInput(name="database_id", display_name="Database ID", info="The Astra database ID.", required=True),
TextInput( MessageTextInput(
name="table_name", name="table_name",
display_name="Table Name", display_name="Table Name",
info="The name of the table where vectors will be stored.", info="The name of the table where vectors will be stored.",
required=True, required=True,
), ),
TextInput( MessageTextInput(
name="keyspace", name="keyspace",
display_name="Keyspace", display_name="Keyspace",
info="Optional key space within Astra DB. The keyspace should already be created.", info="Optional key space within Astra DB. The keyspace should already be created.",
@ -55,7 +55,7 @@ class CassandraVectorStoreComponent(LCVectorStoreComponent):
value=16, value=16,
advanced=True, advanced=True,
), ),
TextInput( MessageTextInput(
name="body_index_options", name="body_index_options",
display_name="Body Index Options", display_name="Body Index Options",
info="Optional options used to create the body index.", info="Optional options used to create the body index.",

View file

@ -8,12 +8,12 @@ from .inputs import (
HandleInput, HandleInput,
IntInput, IntInput,
MessageInput, MessageInput,
MessageTextInput,
MultilineInput, MultilineInput,
NestedDictInput, NestedDictInput,
PromptInput, PromptInput,
SecretStrInput, SecretStrInput,
StrInput, StrInput,
TextInput,
) )
__all__ = [ __all__ = [
@ -31,5 +31,5 @@ __all__ = [
"PromptInput", "PromptInput",
"SecretStrInput", "SecretStrInput",
"StrInput", "StrInput",
"TextInput", "MessageTextInput",
] ]

View file

@ -116,7 +116,7 @@ class MessageInput(StrInput, InputTraceMixin):
raise ValueError(f"Invalid value type {type(v)}") raise ValueError(f"Invalid value type {type(v)}")
class TextInput(StrInput, MetadataTraceMixin, InputTraceMixin): class MessageTextInput(StrInput, MetadataTraceMixin, InputTraceMixin):
""" """
Represents a text input component for the Langflow system. Represents a text input component for the Langflow system.
@ -165,7 +165,7 @@ class TextInput(StrInput, MetadataTraceMixin, InputTraceMixin):
return value return value
class MultilineInput(TextInput, MultilineMixin, InputTraceMixin): class MultilineInput(MessageTextInput, MultilineMixin, InputTraceMixin):
""" """
Represents a multiline input field. Represents a multiline input field.
@ -317,6 +317,6 @@ InputTypes = Union[
PromptInput, PromptInput,
SecretStrInput, SecretStrInput,
StrInput, StrInput,
TextInput, MessageTextInput,
MessageInput, MessageInput,
] ]

View file

@ -8,12 +8,12 @@ from langflow.inputs import (
HandleInput, HandleInput,
IntInput, IntInput,
MessageInput, MessageInput,
MessageTextInput,
MultilineInput, MultilineInput,
NestedDictInput, NestedDictInput,
PromptInput, PromptInput,
SecretStrInput, SecretStrInput,
StrInput, StrInput,
TextInput,
) )
from langflow.template import Output from langflow.template import Output
@ -32,6 +32,6 @@ __all__ = [
"PromptInput", "PromptInput",
"SecretStrInput", "SecretStrInput",
"StrInput", "StrInput",
"TextInput", "MessageTextInput",
"Output", "Output",
] ]

View file

@ -1,11 +1,11 @@
from langflow.custom import Component from langflow.custom import Component
from langflow.inputs.inputs import IntInput, TextInput from langflow.inputs.inputs import IntInput, MessageTextInput
from langflow.template.field.base import Output from langflow.template.field.base import Output
class MultipleOutputsComponent(Component): class MultipleOutputsComponent(Component):
inputs = [ inputs = [
TextInput(display_name="Input", name="input"), MessageTextInput(display_name="Input", name="input"),
IntInput(display_name="Number", name="number"), IntInput(display_name="Number", name="number"),
] ]
outputs = [ outputs = [

View file

@ -1,13 +1,13 @@
from random import randint from random import randint
from langflow.custom import Component from langflow.custom import Component
from langflow.inputs.inputs import IntInput, TextInput from langflow.inputs.inputs import IntInput, MessageTextInput
from langflow.template.field.base import Output from langflow.template.field.base import Output
class MultipleOutputsComponent(Component): class MultipleOutputsComponent(Component):
inputs = [ inputs = [
TextInput(display_name="Input", name="input"), MessageTextInput(display_name="Input", name="input"),
IntInput(display_name="Number", name="number"), IntInput(display_name="Number", name="number"),
] ]
outputs = [ outputs = [