diff --git a/src/backend/base/langflow/components/models/AmazonBedrockModel.py b/src/backend/base/langflow/components/models/AmazonBedrockModel.py index 0b2dd5707..3ea039c6c 100644 --- a/src/backend/base/langflow/components/models/AmazonBedrockModel.py +++ b/src/backend/base/langflow/components/models/AmazonBedrockModel.py @@ -1,17 +1,21 @@ from langchain_community.chat_models.bedrock import BedrockChat + from langflow.base.constants import STREAM_INFO_TEXT from langflow.base.models.model import LCModelComponent from langflow.field_typing import BaseLanguageModel, Text from langflow.inputs import BoolInput, DictInput, DropdownInput, StrInput +from langflow.inputs import MessageInput from langflow.template import Output + + class AmazonBedrockComponent(LCModelComponent): display_name: str = "Amazon Bedrock" description: str = "Generate text using Amazon Bedrock LLMs." icon = "Amazon" inputs = [ - StrInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), + MessageInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), DropdownInput( name="model_id", display_name="Model Id", diff --git a/src/backend/base/langflow/components/models/AzureOpenAIModel.py b/src/backend/base/langflow/components/models/AzureOpenAIModel.py index 3c463a7f9..cadebc749 100644 --- a/src/backend/base/langflow/components/models/AzureOpenAIModel.py +++ b/src/backend/base/langflow/components/models/AzureOpenAIModel.py @@ -6,6 +6,8 @@ from langflow.base.models.model import LCModelComponent from langflow.field_typing import BaseLanguageModel, Text from langflow.inputs import BoolInput, DropdownInput, FloatInput, IntInput, StrInput from langflow.template import Output +from langflow.inputs import MessageInput + class AzureChatOpenAIComponent(LCModelComponent): display_name: str = "Azure OpenAI" @@ -64,7 +66,7 @@ class AzureChatOpenAIComponent(LCModelComponent): advanced=True, info="The maximum number of tokens to generate. Set to 0 for unlimited tokens.", ), - StrInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), + MessageInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), BoolInput(name="stream", display_name="Stream", info=STREAM_INFO_TEXT, advanced=True), StrInput( name="system_message", diff --git a/src/backend/base/langflow/components/models/ChatLiteLLMModel.py b/src/backend/base/langflow/components/models/ChatLiteLLMModel.py index 99eda2afd..80965f57e 100644 --- a/src/backend/base/langflow/components/models/ChatLiteLLMModel.py +++ b/src/backend/base/langflow/components/models/ChatLiteLLMModel.py @@ -1,11 +1,13 @@ from typing import Optional from langchain_community.chat_models.litellm import ChatLiteLLM, ChatLiteLLMException + from langflow.base.constants import STREAM_INFO_TEXT from langflow.base.models.model import LCModelComponent from langflow.field_typing import BaseLanguageModel, Text from langflow.inputs import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, StrInput from langflow.template import Output +from langflow.inputs import MessageInput class ChatLiteLLMModelComponent(LCModelComponent): @@ -15,7 +17,7 @@ class ChatLiteLLMModelComponent(LCModelComponent): icon = "LiteLLM" inputs = [ - StrInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), + MessageInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), StrInput( name="model", display_name="Model name", @@ -177,4 +179,3 @@ class ChatLiteLLMModelComponent(LCModelComponent): ) return output - diff --git a/src/backend/base/langflow/components/models/CohereModel.py b/src/backend/base/langflow/components/models/CohereModel.py index a9efd0846..8443b3a53 100644 --- a/src/backend/base/langflow/components/models/CohereModel.py +++ b/src/backend/base/langflow/components/models/CohereModel.py @@ -1,10 +1,13 @@ from langchain_cohere import ChatCohere from pydantic.v1 import SecretStr + from langflow.base.constants import STREAM_INFO_TEXT from langflow.base.models.model import LCModelComponent from langflow.field_typing import BaseLanguageModel, Text from langflow.inputs import BoolInput, FloatInput, IntInput, SecretStrInput, StrInput from langflow.template import Output +from langflow.inputs import MessageInput + class CohereComponent(LCModelComponent): display_name = "Cohere" @@ -27,7 +30,7 @@ class CohereComponent(LCModelComponent): info="The maximum number of tokens to generate. Set to 0 for unlimited tokens.", ), FloatInput(name="temperature", display_name="Temperature", value=0.75), - StrInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), + MessageInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), BoolInput(name="stream", display_name="Stream", info=STREAM_INFO_TEXT, advanced=True), StrInput( name="system_message", @@ -67,4 +70,3 @@ class CohereComponent(LCModelComponent): ) return output - \ No newline at end of file diff --git a/src/backend/base/langflow/components/models/GoogleGenerativeAIModel.py b/src/backend/base/langflow/components/models/GoogleGenerativeAIModel.py index 22d2a3830..6ff1f5afa 100644 --- a/src/backend/base/langflow/components/models/GoogleGenerativeAIModel.py +++ b/src/backend/base/langflow/components/models/GoogleGenerativeAIModel.py @@ -4,9 +4,13 @@ from pydantic.v1 import SecretStr from langflow.base.constants import STREAM_INFO_TEXT from langflow.base.models.model import LCModelComponent from langflow.field_typing import BaseLanguageModel, Text -from langflow.inputs import BoolInput, FloatInput, IntInput, SecretStrInput, StrInput, DropdownInput +from langflow.inputs import BoolInput, DropdownInput, FloatInput, IntInput, SecretStrInput, StrInput from langflow.template import Output + +from langflow.inputs import MessageInput + + class GoogleGenerativeAIComponent(LCModelComponent): display_name: str = "Google Generative AI" description: str = "Generate text using Google Generative AI." @@ -55,7 +59,12 @@ class GoogleGenerativeAIComponent(LCModelComponent): info="Number of chat completions to generate for each prompt. Note that the API may not return the full n completions if duplicates are generated.", advanced=True, ), - StrInput(name="input_value", display_name="Input", info="The input to the model.", input_types=["Text", "Data", "Prompt"]), + MessageInput( + name="input_value", + display_name="Input", + info="The input to the model.", + input_types=["Text", "Data", "Prompt"], + ), BoolInput(name="stream", display_name="Stream", info=STREAM_INFO_TEXT, advanced=True), StrInput( name="system_message", @@ -97,4 +106,4 @@ class GoogleGenerativeAIComponent(LCModelComponent): google_api_key=SecretStr(google_api_key), ) - return output \ No newline at end of file + return output diff --git a/src/backend/base/langflow/components/models/HuggingFaceModel.py b/src/backend/base/langflow/components/models/HuggingFaceModel.py index f15caa786..afb2ef06f 100644 --- a/src/backend/base/langflow/components/models/HuggingFaceModel.py +++ b/src/backend/base/langflow/components/models/HuggingFaceModel.py @@ -1,4 +1,3 @@ - from langchain_community.chat_models.huggingface import ChatHuggingFace from langchain_community.llms.huggingface_endpoint import HuggingFaceEndpoint @@ -7,6 +6,7 @@ from langflow.base.models.model import LCModelComponent from langflow.field_typing import BaseLanguageModel, Text from langflow.inputs import BoolInput, DictInput, DropdownInput, SecretStrInput, StrInput from langflow.template import Output +from langflow.inputs import MessageInput class HuggingFaceEndpointsComponent(LCModelComponent): @@ -15,7 +15,7 @@ class HuggingFaceEndpointsComponent(LCModelComponent): icon = "HuggingFace" inputs = [ - StrInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), + MessageInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), SecretStrInput(name="endpoint_url", display_name="Endpoint URL", password=True), DropdownInput( name="task", diff --git a/src/backend/base/langflow/components/models/MistralModel.py b/src/backend/base/langflow/components/models/MistralModel.py index 9f4115f9b..cbd4353a8 100644 --- a/src/backend/base/langflow/components/models/MistralModel.py +++ b/src/backend/base/langflow/components/models/MistralModel.py @@ -4,16 +4,20 @@ from pydantic.v1 import SecretStr from langflow.base.constants import STREAM_INFO_TEXT from langflow.base.models.model import LCModelComponent from langflow.field_typing import BaseLanguageModel, Text -from langflow.inputs import BoolInput, FloatInput, IntInput, SecretStrInput, StrInput, DropdownInput +from langflow.inputs import BoolInput, DropdownInput, FloatInput, IntInput, SecretStrInput, StrInput from langflow.template import Output + +from langflow.inputs import MessageInput + + class MistralAIModelComponent(LCModelComponent): display_name = "MistralAI" description = "Generates text using MistralAI LLMs." icon = "MistralAI" inputs = [ - StrInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), + MessageInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), IntInput( name="max_tokens", display_name="Max Tokens", @@ -111,4 +115,4 @@ class MistralAIModelComponent(LCModelComponent): safe_mode=safe_mode, ) - return output \ No newline at end of file + return output diff --git a/src/backend/base/langflow/components/models/OpenAIModel.py b/src/backend/base/langflow/components/models/OpenAIModel.py index 006e59475..eb9e50e96 100644 --- a/src/backend/base/langflow/components/models/OpenAIModel.py +++ b/src/backend/base/langflow/components/models/OpenAIModel.py @@ -5,18 +5,26 @@ from langflow.base.constants import STREAM_INFO_TEXT from langflow.base.models.model import LCModelComponent from langflow.base.models.openai_constants import MODEL_NAMES from langflow.field_typing import BaseLanguageModel, Text -from langflow.inputs import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, SecretStrInput, StrInput +from langflow.inputs import ( + BoolInput, + DictInput, + DropdownInput, + FloatInput, + IntInput, + MessageInput, + SecretStrInput, + StrInput, +) from langflow.template import Output - class OpenAIModelComponent(LCModelComponent): display_name = "OpenAI" description = "Generates text using OpenAI LLMs." icon = "OpenAI" inputs = [ - StrInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), + MessageInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), IntInput( name="max_tokens", display_name="Max Tokens", diff --git a/src/backend/base/langflow/components/models/VertexAiModel.py b/src/backend/base/langflow/components/models/VertexAiModel.py index c494fb07a..ec47e4221 100644 --- a/src/backend/base/langflow/components/models/VertexAiModel.py +++ b/src/backend/base/langflow/components/models/VertexAiModel.py @@ -1,17 +1,19 @@ from langchain_google_vertexai import ChatVertexAI + from langflow.base.constants import STREAM_INFO_TEXT from langflow.base.models.model import LCModelComponent from langflow.field_typing import BaseLanguageModel, Text -from langflow.inputs import BoolInput, FloatInput, IntInput, StrInput +from langflow.inputs import BoolInput, FloatInput, IntInput, MessageInput, StrInput from langflow.template import Output + class ChatVertexAIComponent(LCModelComponent): display_name = "Vertex AI" description = "Generate text using Vertex AI LLMs." icon = "VertexAI" inputs = [ - StrInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), + MessageInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt"]), StrInput( name="credentials", display_name="Credentials", @@ -85,4 +87,3 @@ class ChatVertexAIComponent(LCModelComponent): ) return output - \ No newline at end of file