feat: Add required=True to essential inputs across Langflow components (#5739)
* fix: add required validation to input fields Ensures mandatory fields are properly marked as required across components. * fix: add required validation to input fields Ensures mandatory fields are properly marked as required across components. * fix: add required validation to input fields field: model_name * fix: add required validation to input fields field: model and base_url * fix: add required validation to input fields input: mistral_api_key * fix: add required validation to input fields inputs: model, base_url, nvidia_api_key * fix: add required validation to input fields inputs: model, base_url * fix: add required validation to input fields input: openai_api_key * fix: add required validation to input fields inputs: message, embedding_model * fix: add required validation to input fields inputs: model_name, credentials * fix: add required validation to input fields inputs: aws_secret_access_key, aws_access_key_id * fix: add required validation to input fields inputs: input_text, match_text * fix: add required validation to input fields inputs: input_message * fix: add required validation to input fields inputs: input_value * fix: add required validation to input fields input: data_input * fix: add required validation to input fields inputs: input_value * fix: add required validation to input fields input: data_input * fix: add required validation to input fields input: data_input * fix: add required validation to input fields input: data_input * fix: add required validation to input fields input: data_input * fix: add required validation to input fields inputs: data_inputs, embeddings * fix: add required validation to input fields inputs: api_key, input_value * fix: add required validation to input fields inputs: password, username, openai_api_key, prompt * fix: add required validation to input fields inputs: api_key, transcription_result * fix: add required validation to input fields inputs: api_key, transcription_result, prompt * fix: add required validation to input fields input: prompt * fix: add required validation to input fields input: api_key * fix: add required validation to input fields inputs: api_key, transcript_id * fix: add required validation to input fields inputs: audio_file, api_key * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
e1b5c70fa3
commit
c51e57c7de
30 changed files with 70 additions and 27 deletions
|
|
@ -17,11 +17,13 @@ class AssemblyAIGetSubtitles(Component):
|
|||
name="api_key",
|
||||
display_name="Assembly API Key",
|
||||
info="Your AssemblyAI API key. You can get one from https://www.assemblyai.com/",
|
||||
required=True,
|
||||
),
|
||||
DataInput(
|
||||
name="transcription_result",
|
||||
display_name="Transcription Result",
|
||||
info="The transcription result from AssemblyAI",
|
||||
required=True,
|
||||
),
|
||||
DropdownInput(
|
||||
name="subtitle_format",
|
||||
|
|
|
|||
|
|
@ -18,17 +18,15 @@ class AssemblyAILeMUR(Component):
|
|||
display_name="Assembly API Key",
|
||||
info="Your AssemblyAI API key. You can get one from https://www.assemblyai.com/",
|
||||
advanced=False,
|
||||
required=True,
|
||||
),
|
||||
DataInput(
|
||||
name="transcription_result",
|
||||
display_name="Transcription Result",
|
||||
info="The transcription result from AssemblyAI",
|
||||
required=True,
|
||||
),
|
||||
MultilineInput(
|
||||
name="prompt",
|
||||
display_name="Input Prompt",
|
||||
info="The text to prompt the model",
|
||||
),
|
||||
MultilineInput(name="prompt", display_name="Input Prompt", info="The text to prompt the model", required=True),
|
||||
DropdownInput(
|
||||
name="final_model",
|
||||
display_name="Final Model",
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ class AssemblyAIListTranscripts(Component):
|
|||
name="api_key",
|
||||
display_name="Assembly API Key",
|
||||
info="Your AssemblyAI API key. You can get one from https://www.assemblyai.com/",
|
||||
required=True,
|
||||
),
|
||||
IntInput(
|
||||
name="limit",
|
||||
|
|
|
|||
|
|
@ -18,11 +18,13 @@ class AssemblyAITranscriptionJobPoller(Component):
|
|||
name="api_key",
|
||||
display_name="Assembly API Key",
|
||||
info="Your AssemblyAI API key. You can get one from https://www.assemblyai.com/",
|
||||
required=True,
|
||||
),
|
||||
DataInput(
|
||||
name="transcript_id",
|
||||
display_name="Transcript ID",
|
||||
info="The ID of the transcription job to poll",
|
||||
required=True,
|
||||
),
|
||||
FloatInput(
|
||||
name="polling_interval",
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ class AssemblyAITranscriptionJobCreator(Component):
|
|||
name="api_key",
|
||||
display_name="Assembly API Key",
|
||||
info="Your AssemblyAI API key. You can get one from https://www.assemblyai.com/",
|
||||
required=True,
|
||||
),
|
||||
FileInput(
|
||||
name="audio_file",
|
||||
|
|
@ -65,6 +66,7 @@ class AssemblyAITranscriptionJobCreator(Component):
|
|||
"mxf",
|
||||
],
|
||||
info="The audio file to transcribe",
|
||||
required=True,
|
||||
),
|
||||
MessageTextInput(
|
||||
name="audio_file_url",
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ class AmazonBedrockEmbeddingsComponent(LCModelComponent):
|
|||
info="The access key for your AWS account."
|
||||
"Usually set in Python code as the environment variable 'AWS_ACCESS_KEY_ID'.",
|
||||
value="AWS_ACCESS_KEY_ID",
|
||||
required=True,
|
||||
),
|
||||
SecretStrInput(
|
||||
name="aws_secret_access_key",
|
||||
|
|
@ -31,6 +32,7 @@ class AmazonBedrockEmbeddingsComponent(LCModelComponent):
|
|||
info="The secret key for your AWS account. "
|
||||
"Usually set in Python code as the environment variable 'AWS_SECRET_ACCESS_KEY'.",
|
||||
value="AWS_SECRET_ACCESS_KEY",
|
||||
required=True,
|
||||
),
|
||||
SecretStrInput(
|
||||
name="aws_session_token",
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ class GoogleGenerativeAIEmbeddingsComponent(Component):
|
|||
name = "Google Generative AI Embeddings"
|
||||
|
||||
inputs = [
|
||||
SecretStrInput(name="api_key", display_name="API Key"),
|
||||
SecretStrInput(name="api_key", display_name="API Key", required=True),
|
||||
MessageTextInput(name="model_name", display_name="Model Name", value="models/text-embedding-004"),
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class HuggingFaceInferenceAPIEmbeddingsComponent(LCEmbeddingsModel):
|
|||
display_name="Model Name",
|
||||
value="BAAI/bge-large-en-v1.5",
|
||||
info="The name of the model to use for text embeddings.",
|
||||
required=True,
|
||||
),
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -49,12 +49,14 @@ class LMStudioEmbeddingsComponent(LCEmbeddingsModel):
|
|||
display_name="Model",
|
||||
advanced=False,
|
||||
refresh_button=True,
|
||||
required=True,
|
||||
),
|
||||
MessageTextInput(
|
||||
name="base_url",
|
||||
display_name="LM Studio Base URL",
|
||||
refresh_button=True,
|
||||
value="http://localhost:1234/v1",
|
||||
required=True,
|
||||
),
|
||||
SecretStrInput(
|
||||
name="api_key",
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class MistralAIEmbeddingsComponent(LCModelComponent):
|
|||
options=["mistral-embed"],
|
||||
value="mistral-embed",
|
||||
),
|
||||
SecretStrInput(name="mistral_api_key", display_name="Mistral API Key"),
|
||||
SecretStrInput(name="mistral_api_key", display_name="Mistral API Key", required=True),
|
||||
IntInput(
|
||||
name="max_concurrent_requests",
|
||||
display_name="Max Concurrent Requests",
|
||||
|
|
|
|||
|
|
@ -21,12 +21,14 @@ class NVIDIAEmbeddingsComponent(LCEmbeddingsModel):
|
|||
"snowflake/arctic-embed-I",
|
||||
],
|
||||
value="nvidia/nv-embed-v1",
|
||||
required=True,
|
||||
),
|
||||
MessageTextInput(
|
||||
name="base_url",
|
||||
display_name="NVIDIA Base URL",
|
||||
refresh_button=True,
|
||||
value="https://integrate.api.nvidia.com/v1",
|
||||
required=True,
|
||||
),
|
||||
SecretStrInput(
|
||||
name="nvidia_api_key",
|
||||
|
|
@ -34,6 +36,7 @@ class NVIDIAEmbeddingsComponent(LCEmbeddingsModel):
|
|||
info="The NVIDIA API Key.",
|
||||
advanced=False,
|
||||
value="NVIDIA_API_KEY",
|
||||
required=True,
|
||||
),
|
||||
FloatInput(
|
||||
name="temperature",
|
||||
|
|
|
|||
|
|
@ -17,11 +17,13 @@ class OllamaEmbeddingsComponent(LCModelComponent):
|
|||
name="model",
|
||||
display_name="Ollama Model",
|
||||
value="nomic-embed-text",
|
||||
required=True,
|
||||
),
|
||||
MessageTextInput(
|
||||
name="base_url",
|
||||
display_name="Ollama Base URL",
|
||||
value="http://localhost:11434",
|
||||
required=True,
|
||||
),
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ class OpenAIEmbeddingsComponent(LCEmbeddingsModel):
|
|||
value="text-embedding-3-small",
|
||||
),
|
||||
DictInput(name="model_kwargs", display_name="Model Kwargs", advanced=True),
|
||||
SecretStrInput(name="openai_api_key", display_name="OpenAI API Key", value="OPENAI_API_KEY"),
|
||||
SecretStrInput(name="openai_api_key", display_name="OpenAI API Key", value="OPENAI_API_KEY", required=True),
|
||||
MessageTextInput(name="openai_api_base", display_name="OpenAI API Base", advanced=True),
|
||||
MessageTextInput(name="openai_api_type", display_name="OpenAI API Type", advanced=True),
|
||||
MessageTextInput(name="openai_api_version", display_name="OpenAI API Version", advanced=True),
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ class EmbeddingSimilarityComponent(Component):
|
|||
display_name="Embedding Vectors",
|
||||
info="A list containing exactly two data objects with embedding vectors to compare.",
|
||||
is_list=True,
|
||||
required=True,
|
||||
),
|
||||
DropdownInput(
|
||||
name="similarity_metric",
|
||||
|
|
|
|||
|
|
@ -20,11 +20,13 @@ class TextEmbedderComponent(Component):
|
|||
display_name="Embedding Model",
|
||||
info="The embedding model to use for generating embeddings.",
|
||||
input_types=["Embeddings"],
|
||||
required=True,
|
||||
),
|
||||
MessageInput(
|
||||
name="message",
|
||||
display_name="Message",
|
||||
info="The message to generate embeddings for.",
|
||||
required=True,
|
||||
),
|
||||
]
|
||||
outputs = [
|
||||
|
|
|
|||
|
|
@ -16,12 +16,13 @@ class VertexAIEmbeddingsComponent(LCModelComponent):
|
|||
info="JSON credentials file. Leave empty to fallback to environment variables",
|
||||
value="",
|
||||
file_types=["json"],
|
||||
required=True,
|
||||
),
|
||||
MessageTextInput(name="location", display_name="Location", value="us-central1", advanced=True),
|
||||
MessageTextInput(name="project", display_name="Project", info="The project ID.", advanced=True),
|
||||
IntInput(name="max_output_tokens", display_name="Max Output Tokens", advanced=True),
|
||||
IntInput(name="max_retries", display_name="Max Retries", value=1, advanced=True),
|
||||
MessageTextInput(name="model_name", display_name="Model Name", value="textembedding-gecko"),
|
||||
MessageTextInput(name="model_name", display_name="Model Name", value="textembedding-gecko", required=True),
|
||||
IntInput(name="n", display_name="N", value=1, advanced=True),
|
||||
IntInput(name="request_parallelism", value=5, display_name="Request Parallelism", advanced=True),
|
||||
MessageTextInput(name="stop_sequences", display_name="Stop", advanced=True, is_list=True),
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ class StructuredOutputComponent(Component):
|
|||
display_name="Input Message",
|
||||
info="The input message to the language model.",
|
||||
tool_mode=True,
|
||||
required=True,
|
||||
),
|
||||
StrInput(
|
||||
name="schema_name",
|
||||
|
|
|
|||
|
|
@ -16,25 +16,28 @@ class CombinatorialReasonerComponent(Component):
|
|||
name = "Combinatorial Reasoner"
|
||||
|
||||
inputs = [
|
||||
MessageTextInput(name="prompt", display_name="Prompt"),
|
||||
MessageTextInput(name="prompt", display_name="Prompt", required=True),
|
||||
SecretStrInput(
|
||||
name="openai_api_key",
|
||||
display_name="OpenAI API Key",
|
||||
info="The OpenAI API Key to use for the OpenAI model.",
|
||||
advanced=False,
|
||||
value="OPENAI_API_KEY",
|
||||
required=True,
|
||||
),
|
||||
StrInput(
|
||||
name="username",
|
||||
display_name="Username",
|
||||
info="Username to authenticate access to Icosa CR API",
|
||||
advanced=False,
|
||||
required=True,
|
||||
),
|
||||
SecretStrInput(
|
||||
name="password",
|
||||
display_name="Password",
|
||||
info="Password to authenticate access to Icosa CR API.",
|
||||
advanced=False,
|
||||
required=True,
|
||||
),
|
||||
DropdownInput(
|
||||
name="model_name",
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class CharacterTextSplitterComponent(LCTextSplitterComponent):
|
|||
display_name="Input",
|
||||
info="The texts to split.",
|
||||
input_types=["Document", "Data"],
|
||||
required=True,
|
||||
),
|
||||
MessageTextInput(
|
||||
name="separator",
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ class CSVAgentComponent(LCAgentComponent):
|
|||
name="input_value",
|
||||
display_name="Text",
|
||||
info="Text to be passed as input and extract info from the CSV File.",
|
||||
required=True,
|
||||
),
|
||||
DictInput(
|
||||
name="pandas_kwargs",
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ class HtmlLinkExtractorComponent(LCDocumentTransformerComponent):
|
|||
display_name="Input",
|
||||
info="The texts from which to extract links.",
|
||||
input_types=["Document", "Data"],
|
||||
required=True,
|
||||
),
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ class LanguageRecursiveTextSplitterComponent(LCTextSplitterComponent):
|
|||
display_name="Input",
|
||||
info="The texts to split.",
|
||||
input_types=["Document", "Data"],
|
||||
required=True,
|
||||
),
|
||||
DropdownInput(
|
||||
name="code_language", display_name="Code Language", options=[x.value for x in Language], value="python"
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ class SemanticTextSplitterComponent(LCTextSplitterComponent):
|
|||
info="List of Data objects containing text and metadata to split.",
|
||||
input_types=["Data"],
|
||||
is_list=True,
|
||||
required=True,
|
||||
),
|
||||
HandleInput(
|
||||
name="embeddings",
|
||||
|
|
@ -37,6 +38,7 @@ class SemanticTextSplitterComponent(LCTextSplitterComponent):
|
|||
info="Embeddings model to use for semantic similarity. Required.",
|
||||
input_types=["Embeddings"],
|
||||
is_list=False,
|
||||
required=True,
|
||||
),
|
||||
DropdownInput(
|
||||
name="breakpoint_threshold_type",
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ class NaturalLanguageTextSplitterComponent(LCTextSplitterComponent):
|
|||
display_name="Input",
|
||||
info="The text data to be split.",
|
||||
input_types=["Document", "Data"],
|
||||
required=True,
|
||||
),
|
||||
MessageTextInput(
|
||||
name="separator",
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class RecursiveCharacterTextSplitterComponent(LCTextSplitterComponent):
|
|||
display_name="Input",
|
||||
info="The texts to split.",
|
||||
input_types=["Document", "Data"],
|
||||
required=True,
|
||||
),
|
||||
MessageTextInput(
|
||||
name="separators",
|
||||
|
|
|
|||
|
|
@ -20,11 +20,13 @@ class ConditionalRouterComponent(Component):
|
|||
name="input_text",
|
||||
display_name="Text Input",
|
||||
info="The primary text input for the operation.",
|
||||
required=True,
|
||||
),
|
||||
MessageTextInput(
|
||||
name="match_text",
|
||||
display_name="Match Text",
|
||||
info="The text input to compare against.",
|
||||
required=True,
|
||||
),
|
||||
DropdownInput(
|
||||
name="operator",
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ class PassMessageComponent(Component):
|
|||
name="input_message",
|
||||
display_name="Input Message",
|
||||
info="The message to be passed forward.",
|
||||
required=True,
|
||||
),
|
||||
MessageInput(
|
||||
name="ignored_message",
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ class NotDiamondComponent(Component):
|
|||
self._selected_model_name = None
|
||||
|
||||
inputs = [
|
||||
MessageInput(name="input_value", display_name="Input"),
|
||||
MessageInput(name="input_value", display_name="Input", required=True),
|
||||
MessageTextInput(
|
||||
name="system_message",
|
||||
display_name="System Message",
|
||||
|
|
@ -75,6 +75,7 @@ class NotDiamondComponent(Component):
|
|||
info="The Not Diamond API Key to use for routing.",
|
||||
advanced=False,
|
||||
value="NOTDIAMOND_API_KEY",
|
||||
required=True,
|
||||
),
|
||||
StrInput(
|
||||
name="preference_id",
|
||||
|
|
|
|||
|
|
@ -665,7 +665,9 @@
|
|||
"display_name": "Embeddings",
|
||||
"method": "build_embeddings",
|
||||
"name": "embeddings",
|
||||
"required_inputs": [],
|
||||
"required_inputs": [
|
||||
"openai_api_key"
|
||||
],
|
||||
"selected": "Embeddings",
|
||||
"types": [
|
||||
"Embeddings"
|
||||
|
|
@ -731,7 +733,7 @@
|
|||
"show": true,
|
||||
"title_case": false,
|
||||
"type": "code",
|
||||
"value": "from langchain_openai import OpenAIEmbeddings\n\nfrom langflow.base.embeddings.model import LCEmbeddingsModel\nfrom langflow.base.models.openai_constants import OPENAI_EMBEDDING_MODEL_NAMES\nfrom langflow.field_typing import Embeddings\nfrom langflow.io import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, MessageTextInput, SecretStrInput\n\n\nclass OpenAIEmbeddingsComponent(LCEmbeddingsModel):\n display_name = \"OpenAI Embeddings\"\n description = \"Generate embeddings using OpenAI models.\"\n icon = \"OpenAI\"\n name = \"OpenAIEmbeddings\"\n\n inputs = [\n DictInput(\n name=\"default_headers\",\n display_name=\"Default Headers\",\n advanced=True,\n info=\"Default headers to use for the API request.\",\n ),\n DictInput(\n name=\"default_query\",\n display_name=\"Default Query\",\n advanced=True,\n info=\"Default query parameters to use for the API request.\",\n ),\n IntInput(name=\"chunk_size\", display_name=\"Chunk Size\", advanced=True, value=1000),\n MessageTextInput(name=\"client\", display_name=\"Client\", advanced=True),\n MessageTextInput(name=\"deployment\", display_name=\"Deployment\", advanced=True),\n IntInput(name=\"embedding_ctx_length\", display_name=\"Embedding Context Length\", advanced=True, value=1536),\n IntInput(name=\"max_retries\", display_name=\"Max Retries\", value=3, advanced=True),\n DropdownInput(\n name=\"model\",\n display_name=\"Model\",\n advanced=False,\n options=OPENAI_EMBEDDING_MODEL_NAMES,\n value=\"text-embedding-3-small\",\n ),\n DictInput(name=\"model_kwargs\", display_name=\"Model Kwargs\", advanced=True),\n SecretStrInput(name=\"openai_api_key\", display_name=\"OpenAI API Key\", value=\"OPENAI_API_KEY\"),\n MessageTextInput(name=\"openai_api_base\", display_name=\"OpenAI API Base\", advanced=True),\n MessageTextInput(name=\"openai_api_type\", display_name=\"OpenAI API Type\", advanced=True),\n MessageTextInput(name=\"openai_api_version\", display_name=\"OpenAI API Version\", advanced=True),\n MessageTextInput(\n name=\"openai_organization\",\n display_name=\"OpenAI Organization\",\n advanced=True,\n ),\n MessageTextInput(name=\"openai_proxy\", display_name=\"OpenAI Proxy\", advanced=True),\n FloatInput(name=\"request_timeout\", display_name=\"Request Timeout\", advanced=True),\n BoolInput(name=\"show_progress_bar\", display_name=\"Show Progress Bar\", advanced=True),\n BoolInput(name=\"skip_empty\", display_name=\"Skip Empty\", advanced=True),\n MessageTextInput(\n name=\"tiktoken_model_name\",\n display_name=\"TikToken Model Name\",\n advanced=True,\n ),\n BoolInput(\n name=\"tiktoken_enable\",\n display_name=\"TikToken Enable\",\n advanced=True,\n value=True,\n info=\"If False, you must have transformers installed.\",\n ),\n IntInput(\n name=\"dimensions\",\n display_name=\"Dimensions\",\n info=\"The number of dimensions the resulting output embeddings should have. \"\n \"Only supported by certain models.\",\n advanced=True,\n ),\n ]\n\n def build_embeddings(self) -> Embeddings:\n return OpenAIEmbeddings(\n client=self.client or None,\n model=self.model,\n dimensions=self.dimensions or None,\n deployment=self.deployment or None,\n api_version=self.openai_api_version or None,\n base_url=self.openai_api_base or None,\n openai_api_type=self.openai_api_type or None,\n openai_proxy=self.openai_proxy or None,\n embedding_ctx_length=self.embedding_ctx_length,\n api_key=self.openai_api_key or None,\n organization=self.openai_organization or None,\n allowed_special=\"all\",\n disallowed_special=\"all\",\n chunk_size=self.chunk_size,\n max_retries=self.max_retries,\n timeout=self.request_timeout or None,\n tiktoken_enabled=self.tiktoken_enable,\n tiktoken_model_name=self.tiktoken_model_name or None,\n show_progress_bar=self.show_progress_bar,\n model_kwargs=self.model_kwargs,\n skip_empty=self.skip_empty,\n default_headers=self.default_headers or None,\n default_query=self.default_query or None,\n )\n"
|
||||
"value": "from langchain_openai import OpenAIEmbeddings\n\nfrom langflow.base.embeddings.model import LCEmbeddingsModel\nfrom langflow.base.models.openai_constants import OPENAI_EMBEDDING_MODEL_NAMES\nfrom langflow.field_typing import Embeddings\nfrom langflow.io import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, MessageTextInput, SecretStrInput\n\n\nclass OpenAIEmbeddingsComponent(LCEmbeddingsModel):\n display_name = \"OpenAI Embeddings\"\n description = \"Generate embeddings using OpenAI models.\"\n icon = \"OpenAI\"\n name = \"OpenAIEmbeddings\"\n\n inputs = [\n DictInput(\n name=\"default_headers\",\n display_name=\"Default Headers\",\n advanced=True,\n info=\"Default headers to use for the API request.\",\n ),\n DictInput(\n name=\"default_query\",\n display_name=\"Default Query\",\n advanced=True,\n info=\"Default query parameters to use for the API request.\",\n ),\n IntInput(name=\"chunk_size\", display_name=\"Chunk Size\", advanced=True, value=1000),\n MessageTextInput(name=\"client\", display_name=\"Client\", advanced=True),\n MessageTextInput(name=\"deployment\", display_name=\"Deployment\", advanced=True),\n IntInput(name=\"embedding_ctx_length\", display_name=\"Embedding Context Length\", advanced=True, value=1536),\n IntInput(name=\"max_retries\", display_name=\"Max Retries\", value=3, advanced=True),\n DropdownInput(\n name=\"model\",\n display_name=\"Model\",\n advanced=False,\n options=OPENAI_EMBEDDING_MODEL_NAMES,\n value=\"text-embedding-3-small\",\n ),\n DictInput(name=\"model_kwargs\", display_name=\"Model Kwargs\", advanced=True),\n SecretStrInput(name=\"openai_api_key\", display_name=\"OpenAI API Key\", value=\"OPENAI_API_KEY\", required=True),\n MessageTextInput(name=\"openai_api_base\", display_name=\"OpenAI API Base\", advanced=True),\n MessageTextInput(name=\"openai_api_type\", display_name=\"OpenAI API Type\", advanced=True),\n MessageTextInput(name=\"openai_api_version\", display_name=\"OpenAI API Version\", advanced=True),\n MessageTextInput(\n name=\"openai_organization\",\n display_name=\"OpenAI Organization\",\n advanced=True,\n ),\n MessageTextInput(name=\"openai_proxy\", display_name=\"OpenAI Proxy\", advanced=True),\n FloatInput(name=\"request_timeout\", display_name=\"Request Timeout\", advanced=True),\n BoolInput(name=\"show_progress_bar\", display_name=\"Show Progress Bar\", advanced=True),\n BoolInput(name=\"skip_empty\", display_name=\"Skip Empty\", advanced=True),\n MessageTextInput(\n name=\"tiktoken_model_name\",\n display_name=\"TikToken Model Name\",\n advanced=True,\n ),\n BoolInput(\n name=\"tiktoken_enable\",\n display_name=\"TikToken Enable\",\n advanced=True,\n value=True,\n info=\"If False, you must have transformers installed.\",\n ),\n IntInput(\n name=\"dimensions\",\n display_name=\"Dimensions\",\n info=\"The number of dimensions the resulting output embeddings should have. \"\n \"Only supported by certain models.\",\n advanced=True,\n ),\n ]\n\n def build_embeddings(self) -> Embeddings:\n return OpenAIEmbeddings(\n client=self.client or None,\n model=self.model,\n dimensions=self.dimensions or None,\n deployment=self.deployment or None,\n api_version=self.openai_api_version or None,\n base_url=self.openai_api_base or None,\n openai_api_type=self.openai_api_type or None,\n openai_proxy=self.openai_proxy or None,\n embedding_ctx_length=self.embedding_ctx_length,\n api_key=self.openai_api_key or None,\n organization=self.openai_organization or None,\n allowed_special=\"all\",\n disallowed_special=\"all\",\n chunk_size=self.chunk_size,\n max_retries=self.max_retries,\n timeout=self.request_timeout or None,\n tiktoken_enabled=self.tiktoken_enable,\n tiktoken_model_name=self.tiktoken_model_name or None,\n show_progress_bar=self.show_progress_bar,\n model_kwargs=self.model_kwargs,\n skip_empty=self.skip_empty,\n default_headers=self.default_headers or None,\n default_query=self.default_query or None,\n )\n"
|
||||
},
|
||||
"default_headers": {
|
||||
"_input_type": "DictInput",
|
||||
|
|
@ -908,7 +910,7 @@
|
|||
"name": "openai_api_key",
|
||||
"password": true,
|
||||
"placeholder": "",
|
||||
"required": false,
|
||||
"required": true,
|
||||
"show": true,
|
||||
"title_case": false,
|
||||
"type": "str",
|
||||
|
|
@ -3344,7 +3346,7 @@
|
|||
"show": true,
|
||||
"title_case": false,
|
||||
"type": "code",
|
||||
"value": "from typing import Any\n\nfrom langchain_text_splitters import Language, RecursiveCharacterTextSplitter, TextSplitter\n\nfrom langflow.base.textsplitters.model import LCTextSplitterComponent\nfrom langflow.inputs import DataInput, DropdownInput, IntInput\n\n\nclass LanguageRecursiveTextSplitterComponent(LCTextSplitterComponent):\n display_name: str = \"Language Recursive Text Splitter\"\n description: str = \"Split text into chunks of a specified length based on language.\"\n documentation: str = \"https://docs.langflow.org/components/text-splitters#languagerecursivetextsplitter\"\n name = \"LanguageRecursiveTextSplitter\"\n icon = \"LangChain\"\n\n inputs = [\n IntInput(\n name=\"chunk_size\",\n display_name=\"Chunk Size\",\n info=\"The maximum length of each chunk.\",\n value=1000,\n ),\n IntInput(\n name=\"chunk_overlap\",\n display_name=\"Chunk Overlap\",\n info=\"The amount of overlap between chunks.\",\n value=200,\n ),\n DataInput(\n name=\"data_input\",\n display_name=\"Input\",\n info=\"The texts to split.\",\n input_types=[\"Document\", \"Data\"],\n ),\n DropdownInput(\n name=\"code_language\", display_name=\"Code Language\", options=[x.value for x in Language], value=\"python\"\n ),\n ]\n\n def get_data_input(self) -> Any:\n return self.data_input\n\n def build_text_splitter(self) -> TextSplitter:\n return RecursiveCharacterTextSplitter.from_language(\n language=Language(self.code_language),\n chunk_size=self.chunk_size,\n chunk_overlap=self.chunk_overlap,\n )\n"
|
||||
"value": "from typing import Any\n\nfrom langchain_text_splitters import Language, RecursiveCharacterTextSplitter, TextSplitter\n\nfrom langflow.base.textsplitters.model import LCTextSplitterComponent\nfrom langflow.inputs import DataInput, DropdownInput, IntInput\n\n\nclass LanguageRecursiveTextSplitterComponent(LCTextSplitterComponent):\n display_name: str = \"Language Recursive Text Splitter\"\n description: str = \"Split text into chunks of a specified length based on language.\"\n documentation: str = \"https://docs.langflow.org/components/text-splitters#languagerecursivetextsplitter\"\n name = \"LanguageRecursiveTextSplitter\"\n icon = \"LangChain\"\n\n inputs = [\n IntInput(\n name=\"chunk_size\",\n display_name=\"Chunk Size\",\n info=\"The maximum length of each chunk.\",\n value=1000,\n ),\n IntInput(\n name=\"chunk_overlap\",\n display_name=\"Chunk Overlap\",\n info=\"The amount of overlap between chunks.\",\n value=200,\n ),\n DataInput(\n name=\"data_input\",\n display_name=\"Input\",\n info=\"The texts to split.\",\n input_types=[\"Document\", \"Data\"],\n required=True,\n ),\n DropdownInput(\n name=\"code_language\", display_name=\"Code Language\", options=[x.value for x in Language], value=\"python\"\n ),\n ]\n\n def get_data_input(self) -> Any:\n return self.data_input\n\n def build_text_splitter(self) -> TextSplitter:\n return RecursiveCharacterTextSplitter.from_language(\n language=Language(self.code_language),\n chunk_size=self.chunk_size,\n chunk_overlap=self.chunk_overlap,\n )\n"
|
||||
},
|
||||
"code_language": {
|
||||
"_input_type": "DropdownInput",
|
||||
|
|
@ -3404,7 +3406,7 @@
|
|||
"list": false,
|
||||
"name": "data_input",
|
||||
"placeholder": "",
|
||||
"required": false,
|
||||
"required": true,
|
||||
"show": true,
|
||||
"title_case": false,
|
||||
"tool_mode": false,
|
||||
|
|
@ -3494,7 +3496,7 @@
|
|||
"show": true,
|
||||
"title_case": false,
|
||||
"type": "code",
|
||||
"value": "from typing import Any\n\nfrom langchain_community.graph_vectorstores.extractors import HtmlLinkExtractor, LinkExtractorTransformer\nfrom langchain_core.documents import BaseDocumentTransformer\n\nfrom langflow.base.document_transformers.model import LCDocumentTransformerComponent\nfrom langflow.inputs import BoolInput, DataInput, StrInput\n\n\nclass HtmlLinkExtractorComponent(LCDocumentTransformerComponent):\n display_name = \"HTML Link Extractor\"\n description = \"Extract hyperlinks from HTML content.\"\n documentation = \"https://python.langchain.com/v0.2/api_reference/community/graph_vectorstores/langchain_community.graph_vectorstores.extractors.html_link_extractor.HtmlLinkExtractor.html\"\n name = \"HtmlLinkExtractor\"\n icon = \"LangChain\"\n\n inputs = [\n StrInput(name=\"kind\", display_name=\"Kind of edge\", value=\"hyperlink\", required=False),\n BoolInput(name=\"drop_fragments\", display_name=\"Drop URL fragments\", value=True, required=False),\n DataInput(\n name=\"data_input\",\n display_name=\"Input\",\n info=\"The texts from which to extract links.\",\n input_types=[\"Document\", \"Data\"],\n ),\n ]\n\n def get_data_input(self) -> Any:\n return self.data_input\n\n def build_document_transformer(self) -> BaseDocumentTransformer:\n return LinkExtractorTransformer(\n [HtmlLinkExtractor(kind=self.kind, drop_fragments=self.drop_fragments).as_document_extractor()]\n )\n"
|
||||
"value": "from typing import Any\n\nfrom langchain_community.graph_vectorstores.extractors import HtmlLinkExtractor, LinkExtractorTransformer\nfrom langchain_core.documents import BaseDocumentTransformer\n\nfrom langflow.base.document_transformers.model import LCDocumentTransformerComponent\nfrom langflow.inputs import BoolInput, DataInput, StrInput\n\n\nclass HtmlLinkExtractorComponent(LCDocumentTransformerComponent):\n display_name = \"HTML Link Extractor\"\n description = \"Extract hyperlinks from HTML content.\"\n documentation = \"https://python.langchain.com/v0.2/api_reference/community/graph_vectorstores/langchain_community.graph_vectorstores.extractors.html_link_extractor.HtmlLinkExtractor.html\"\n name = \"HtmlLinkExtractor\"\n icon = \"LangChain\"\n\n inputs = [\n StrInput(name=\"kind\", display_name=\"Kind of edge\", value=\"hyperlink\", required=False),\n BoolInput(name=\"drop_fragments\", display_name=\"Drop URL fragments\", value=True, required=False),\n DataInput(\n name=\"data_input\",\n display_name=\"Input\",\n info=\"The texts from which to extract links.\",\n input_types=[\"Document\", \"Data\"],\n required=True,\n ),\n ]\n\n def get_data_input(self) -> Any:\n return self.data_input\n\n def build_document_transformer(self) -> BaseDocumentTransformer:\n return LinkExtractorTransformer(\n [HtmlLinkExtractor(kind=self.kind, drop_fragments=self.drop_fragments).as_document_extractor()]\n )\n"
|
||||
},
|
||||
"data_input": {
|
||||
"_input_type": "DataInput",
|
||||
|
|
@ -3509,7 +3511,7 @@
|
|||
"list": false,
|
||||
"name": "data_input",
|
||||
"placeholder": "",
|
||||
"required": false,
|
||||
"required": true,
|
||||
"show": true,
|
||||
"title_case": false,
|
||||
"tool_mode": false,
|
||||
|
|
@ -3624,7 +3626,9 @@
|
|||
"display_name": "Embeddings",
|
||||
"method": "build_embeddings",
|
||||
"name": "embeddings",
|
||||
"required_inputs": [],
|
||||
"required_inputs": [
|
||||
"openai_api_key"
|
||||
],
|
||||
"selected": "Embeddings",
|
||||
"types": [
|
||||
"Embeddings"
|
||||
|
|
@ -3691,7 +3695,7 @@
|
|||
"show": true,
|
||||
"title_case": false,
|
||||
"type": "code",
|
||||
"value": "from langchain_openai import OpenAIEmbeddings\n\nfrom langflow.base.embeddings.model import LCEmbeddingsModel\nfrom langflow.base.models.openai_constants import OPENAI_EMBEDDING_MODEL_NAMES\nfrom langflow.field_typing import Embeddings\nfrom langflow.io import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, MessageTextInput, SecretStrInput\n\n\nclass OpenAIEmbeddingsComponent(LCEmbeddingsModel):\n display_name = \"OpenAI Embeddings\"\n description = \"Generate embeddings using OpenAI models.\"\n icon = \"OpenAI\"\n name = \"OpenAIEmbeddings\"\n\n inputs = [\n DictInput(\n name=\"default_headers\",\n display_name=\"Default Headers\",\n advanced=True,\n info=\"Default headers to use for the API request.\",\n ),\n DictInput(\n name=\"default_query\",\n display_name=\"Default Query\",\n advanced=True,\n info=\"Default query parameters to use for the API request.\",\n ),\n IntInput(name=\"chunk_size\", display_name=\"Chunk Size\", advanced=True, value=1000),\n MessageTextInput(name=\"client\", display_name=\"Client\", advanced=True),\n MessageTextInput(name=\"deployment\", display_name=\"Deployment\", advanced=True),\n IntInput(name=\"embedding_ctx_length\", display_name=\"Embedding Context Length\", advanced=True, value=1536),\n IntInput(name=\"max_retries\", display_name=\"Max Retries\", value=3, advanced=True),\n DropdownInput(\n name=\"model\",\n display_name=\"Model\",\n advanced=False,\n options=OPENAI_EMBEDDING_MODEL_NAMES,\n value=\"text-embedding-3-small\",\n ),\n DictInput(name=\"model_kwargs\", display_name=\"Model Kwargs\", advanced=True),\n SecretStrInput(name=\"openai_api_key\", display_name=\"OpenAI API Key\", value=\"OPENAI_API_KEY\"),\n MessageTextInput(name=\"openai_api_base\", display_name=\"OpenAI API Base\", advanced=True),\n MessageTextInput(name=\"openai_api_type\", display_name=\"OpenAI API Type\", advanced=True),\n MessageTextInput(name=\"openai_api_version\", display_name=\"OpenAI API Version\", advanced=True),\n MessageTextInput(\n name=\"openai_organization\",\n display_name=\"OpenAI Organization\",\n advanced=True,\n ),\n MessageTextInput(name=\"openai_proxy\", display_name=\"OpenAI Proxy\", advanced=True),\n FloatInput(name=\"request_timeout\", display_name=\"Request Timeout\", advanced=True),\n BoolInput(name=\"show_progress_bar\", display_name=\"Show Progress Bar\", advanced=True),\n BoolInput(name=\"skip_empty\", display_name=\"Skip Empty\", advanced=True),\n MessageTextInput(\n name=\"tiktoken_model_name\",\n display_name=\"TikToken Model Name\",\n advanced=True,\n ),\n BoolInput(\n name=\"tiktoken_enable\",\n display_name=\"TikToken Enable\",\n advanced=True,\n value=True,\n info=\"If False, you must have transformers installed.\",\n ),\n IntInput(\n name=\"dimensions\",\n display_name=\"Dimensions\",\n info=\"The number of dimensions the resulting output embeddings should have. \"\n \"Only supported by certain models.\",\n advanced=True,\n ),\n ]\n\n def build_embeddings(self) -> Embeddings:\n return OpenAIEmbeddings(\n client=self.client or None,\n model=self.model,\n dimensions=self.dimensions or None,\n deployment=self.deployment or None,\n api_version=self.openai_api_version or None,\n base_url=self.openai_api_base or None,\n openai_api_type=self.openai_api_type or None,\n openai_proxy=self.openai_proxy or None,\n embedding_ctx_length=self.embedding_ctx_length,\n api_key=self.openai_api_key or None,\n organization=self.openai_organization or None,\n allowed_special=\"all\",\n disallowed_special=\"all\",\n chunk_size=self.chunk_size,\n max_retries=self.max_retries,\n timeout=self.request_timeout or None,\n tiktoken_enabled=self.tiktoken_enable,\n tiktoken_model_name=self.tiktoken_model_name or None,\n show_progress_bar=self.show_progress_bar,\n model_kwargs=self.model_kwargs,\n skip_empty=self.skip_empty,\n default_headers=self.default_headers or None,\n default_query=self.default_query or None,\n )\n"
|
||||
"value": "from langchain_openai import OpenAIEmbeddings\n\nfrom langflow.base.embeddings.model import LCEmbeddingsModel\nfrom langflow.base.models.openai_constants import OPENAI_EMBEDDING_MODEL_NAMES\nfrom langflow.field_typing import Embeddings\nfrom langflow.io import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, MessageTextInput, SecretStrInput\n\n\nclass OpenAIEmbeddingsComponent(LCEmbeddingsModel):\n display_name = \"OpenAI Embeddings\"\n description = \"Generate embeddings using OpenAI models.\"\n icon = \"OpenAI\"\n name = \"OpenAIEmbeddings\"\n\n inputs = [\n DictInput(\n name=\"default_headers\",\n display_name=\"Default Headers\",\n advanced=True,\n info=\"Default headers to use for the API request.\",\n ),\n DictInput(\n name=\"default_query\",\n display_name=\"Default Query\",\n advanced=True,\n info=\"Default query parameters to use for the API request.\",\n ),\n IntInput(name=\"chunk_size\", display_name=\"Chunk Size\", advanced=True, value=1000),\n MessageTextInput(name=\"client\", display_name=\"Client\", advanced=True),\n MessageTextInput(name=\"deployment\", display_name=\"Deployment\", advanced=True),\n IntInput(name=\"embedding_ctx_length\", display_name=\"Embedding Context Length\", advanced=True, value=1536),\n IntInput(name=\"max_retries\", display_name=\"Max Retries\", value=3, advanced=True),\n DropdownInput(\n name=\"model\",\n display_name=\"Model\",\n advanced=False,\n options=OPENAI_EMBEDDING_MODEL_NAMES,\n value=\"text-embedding-3-small\",\n ),\n DictInput(name=\"model_kwargs\", display_name=\"Model Kwargs\", advanced=True),\n SecretStrInput(name=\"openai_api_key\", display_name=\"OpenAI API Key\", value=\"OPENAI_API_KEY\", required=True),\n MessageTextInput(name=\"openai_api_base\", display_name=\"OpenAI API Base\", advanced=True),\n MessageTextInput(name=\"openai_api_type\", display_name=\"OpenAI API Type\", advanced=True),\n MessageTextInput(name=\"openai_api_version\", display_name=\"OpenAI API Version\", advanced=True),\n MessageTextInput(\n name=\"openai_organization\",\n display_name=\"OpenAI Organization\",\n advanced=True,\n ),\n MessageTextInput(name=\"openai_proxy\", display_name=\"OpenAI Proxy\", advanced=True),\n FloatInput(name=\"request_timeout\", display_name=\"Request Timeout\", advanced=True),\n BoolInput(name=\"show_progress_bar\", display_name=\"Show Progress Bar\", advanced=True),\n BoolInput(name=\"skip_empty\", display_name=\"Skip Empty\", advanced=True),\n MessageTextInput(\n name=\"tiktoken_model_name\",\n display_name=\"TikToken Model Name\",\n advanced=True,\n ),\n BoolInput(\n name=\"tiktoken_enable\",\n display_name=\"TikToken Enable\",\n advanced=True,\n value=True,\n info=\"If False, you must have transformers installed.\",\n ),\n IntInput(\n name=\"dimensions\",\n display_name=\"Dimensions\",\n info=\"The number of dimensions the resulting output embeddings should have. \"\n \"Only supported by certain models.\",\n advanced=True,\n ),\n ]\n\n def build_embeddings(self) -> Embeddings:\n return OpenAIEmbeddings(\n client=self.client or None,\n model=self.model,\n dimensions=self.dimensions or None,\n deployment=self.deployment or None,\n api_version=self.openai_api_version or None,\n base_url=self.openai_api_base or None,\n openai_api_type=self.openai_api_type or None,\n openai_proxy=self.openai_proxy or None,\n embedding_ctx_length=self.embedding_ctx_length,\n api_key=self.openai_api_key or None,\n organization=self.openai_organization or None,\n allowed_special=\"all\",\n disallowed_special=\"all\",\n chunk_size=self.chunk_size,\n max_retries=self.max_retries,\n timeout=self.request_timeout or None,\n tiktoken_enabled=self.tiktoken_enable,\n tiktoken_model_name=self.tiktoken_model_name or None,\n show_progress_bar=self.show_progress_bar,\n model_kwargs=self.model_kwargs,\n skip_empty=self.skip_empty,\n default_headers=self.default_headers or None,\n default_query=self.default_query or None,\n )\n"
|
||||
},
|
||||
"default_headers": {
|
||||
"_input_type": "DictInput",
|
||||
|
|
@ -3874,7 +3878,7 @@
|
|||
"name": "openai_api_key",
|
||||
"password": true,
|
||||
"placeholder": "",
|
||||
"required": false,
|
||||
"required": true,
|
||||
"show": true,
|
||||
"title_case": false,
|
||||
"type": "str",
|
||||
|
|
|
|||
|
|
@ -1727,7 +1727,9 @@
|
|||
"display_name": "Embeddings",
|
||||
"method": "build_embeddings",
|
||||
"name": "embeddings",
|
||||
"required_inputs": [],
|
||||
"required_inputs": [
|
||||
"openai_api_key"
|
||||
],
|
||||
"selected": "Embeddings",
|
||||
"types": [
|
||||
"Embeddings"
|
||||
|
|
@ -1792,7 +1794,7 @@
|
|||
"show": true,
|
||||
"title_case": false,
|
||||
"type": "code",
|
||||
"value": "from langchain_openai import OpenAIEmbeddings\n\nfrom langflow.base.embeddings.model import LCEmbeddingsModel\nfrom langflow.base.models.openai_constants import OPENAI_EMBEDDING_MODEL_NAMES\nfrom langflow.field_typing import Embeddings\nfrom langflow.io import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, MessageTextInput, SecretStrInput\n\n\nclass OpenAIEmbeddingsComponent(LCEmbeddingsModel):\n display_name = \"OpenAI Embeddings\"\n description = \"Generate embeddings using OpenAI models.\"\n icon = \"OpenAI\"\n name = \"OpenAIEmbeddings\"\n\n inputs = [\n DictInput(\n name=\"default_headers\",\n display_name=\"Default Headers\",\n advanced=True,\n info=\"Default headers to use for the API request.\",\n ),\n DictInput(\n name=\"default_query\",\n display_name=\"Default Query\",\n advanced=True,\n info=\"Default query parameters to use for the API request.\",\n ),\n IntInput(name=\"chunk_size\", display_name=\"Chunk Size\", advanced=True, value=1000),\n MessageTextInput(name=\"client\", display_name=\"Client\", advanced=True),\n MessageTextInput(name=\"deployment\", display_name=\"Deployment\", advanced=True),\n IntInput(name=\"embedding_ctx_length\", display_name=\"Embedding Context Length\", advanced=True, value=1536),\n IntInput(name=\"max_retries\", display_name=\"Max Retries\", value=3, advanced=True),\n DropdownInput(\n name=\"model\",\n display_name=\"Model\",\n advanced=False,\n options=OPENAI_EMBEDDING_MODEL_NAMES,\n value=\"text-embedding-3-small\",\n ),\n DictInput(name=\"model_kwargs\", display_name=\"Model Kwargs\", advanced=True),\n SecretStrInput(name=\"openai_api_key\", display_name=\"OpenAI API Key\", value=\"OPENAI_API_KEY\"),\n MessageTextInput(name=\"openai_api_base\", display_name=\"OpenAI API Base\", advanced=True),\n MessageTextInput(name=\"openai_api_type\", display_name=\"OpenAI API Type\", advanced=True),\n MessageTextInput(name=\"openai_api_version\", display_name=\"OpenAI API Version\", advanced=True),\n MessageTextInput(\n name=\"openai_organization\",\n display_name=\"OpenAI Organization\",\n advanced=True,\n ),\n MessageTextInput(name=\"openai_proxy\", display_name=\"OpenAI Proxy\", advanced=True),\n FloatInput(name=\"request_timeout\", display_name=\"Request Timeout\", advanced=True),\n BoolInput(name=\"show_progress_bar\", display_name=\"Show Progress Bar\", advanced=True),\n BoolInput(name=\"skip_empty\", display_name=\"Skip Empty\", advanced=True),\n MessageTextInput(\n name=\"tiktoken_model_name\",\n display_name=\"TikToken Model Name\",\n advanced=True,\n ),\n BoolInput(\n name=\"tiktoken_enable\",\n display_name=\"TikToken Enable\",\n advanced=True,\n value=True,\n info=\"If False, you must have transformers installed.\",\n ),\n IntInput(\n name=\"dimensions\",\n display_name=\"Dimensions\",\n info=\"The number of dimensions the resulting output embeddings should have. \"\n \"Only supported by certain models.\",\n advanced=True,\n ),\n ]\n\n def build_embeddings(self) -> Embeddings:\n return OpenAIEmbeddings(\n client=self.client or None,\n model=self.model,\n dimensions=self.dimensions or None,\n deployment=self.deployment or None,\n api_version=self.openai_api_version or None,\n base_url=self.openai_api_base or None,\n openai_api_type=self.openai_api_type or None,\n openai_proxy=self.openai_proxy or None,\n embedding_ctx_length=self.embedding_ctx_length,\n api_key=self.openai_api_key or None,\n organization=self.openai_organization or None,\n allowed_special=\"all\",\n disallowed_special=\"all\",\n chunk_size=self.chunk_size,\n max_retries=self.max_retries,\n timeout=self.request_timeout or None,\n tiktoken_enabled=self.tiktoken_enable,\n tiktoken_model_name=self.tiktoken_model_name or None,\n show_progress_bar=self.show_progress_bar,\n model_kwargs=self.model_kwargs,\n skip_empty=self.skip_empty,\n default_headers=self.default_headers or None,\n default_query=self.default_query or None,\n )\n"
|
||||
"value": "from langchain_openai import OpenAIEmbeddings\n\nfrom langflow.base.embeddings.model import LCEmbeddingsModel\nfrom langflow.base.models.openai_constants import OPENAI_EMBEDDING_MODEL_NAMES\nfrom langflow.field_typing import Embeddings\nfrom langflow.io import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, MessageTextInput, SecretStrInput\n\n\nclass OpenAIEmbeddingsComponent(LCEmbeddingsModel):\n display_name = \"OpenAI Embeddings\"\n description = \"Generate embeddings using OpenAI models.\"\n icon = \"OpenAI\"\n name = \"OpenAIEmbeddings\"\n\n inputs = [\n DictInput(\n name=\"default_headers\",\n display_name=\"Default Headers\",\n advanced=True,\n info=\"Default headers to use for the API request.\",\n ),\n DictInput(\n name=\"default_query\",\n display_name=\"Default Query\",\n advanced=True,\n info=\"Default query parameters to use for the API request.\",\n ),\n IntInput(name=\"chunk_size\", display_name=\"Chunk Size\", advanced=True, value=1000),\n MessageTextInput(name=\"client\", display_name=\"Client\", advanced=True),\n MessageTextInput(name=\"deployment\", display_name=\"Deployment\", advanced=True),\n IntInput(name=\"embedding_ctx_length\", display_name=\"Embedding Context Length\", advanced=True, value=1536),\n IntInput(name=\"max_retries\", display_name=\"Max Retries\", value=3, advanced=True),\n DropdownInput(\n name=\"model\",\n display_name=\"Model\",\n advanced=False,\n options=OPENAI_EMBEDDING_MODEL_NAMES,\n value=\"text-embedding-3-small\",\n ),\n DictInput(name=\"model_kwargs\", display_name=\"Model Kwargs\", advanced=True),\n SecretStrInput(name=\"openai_api_key\", display_name=\"OpenAI API Key\", value=\"OPENAI_API_KEY\", required=True),\n MessageTextInput(name=\"openai_api_base\", display_name=\"OpenAI API Base\", advanced=True),\n MessageTextInput(name=\"openai_api_type\", display_name=\"OpenAI API Type\", advanced=True),\n MessageTextInput(name=\"openai_api_version\", display_name=\"OpenAI API Version\", advanced=True),\n MessageTextInput(\n name=\"openai_organization\",\n display_name=\"OpenAI Organization\",\n advanced=True,\n ),\n MessageTextInput(name=\"openai_proxy\", display_name=\"OpenAI Proxy\", advanced=True),\n FloatInput(name=\"request_timeout\", display_name=\"Request Timeout\", advanced=True),\n BoolInput(name=\"show_progress_bar\", display_name=\"Show Progress Bar\", advanced=True),\n BoolInput(name=\"skip_empty\", display_name=\"Skip Empty\", advanced=True),\n MessageTextInput(\n name=\"tiktoken_model_name\",\n display_name=\"TikToken Model Name\",\n advanced=True,\n ),\n BoolInput(\n name=\"tiktoken_enable\",\n display_name=\"TikToken Enable\",\n advanced=True,\n value=True,\n info=\"If False, you must have transformers installed.\",\n ),\n IntInput(\n name=\"dimensions\",\n display_name=\"Dimensions\",\n info=\"The number of dimensions the resulting output embeddings should have. \"\n \"Only supported by certain models.\",\n advanced=True,\n ),\n ]\n\n def build_embeddings(self) -> Embeddings:\n return OpenAIEmbeddings(\n client=self.client or None,\n model=self.model,\n dimensions=self.dimensions or None,\n deployment=self.deployment or None,\n api_version=self.openai_api_version or None,\n base_url=self.openai_api_base or None,\n openai_api_type=self.openai_api_type or None,\n openai_proxy=self.openai_proxy or None,\n embedding_ctx_length=self.embedding_ctx_length,\n api_key=self.openai_api_key or None,\n organization=self.openai_organization or None,\n allowed_special=\"all\",\n disallowed_special=\"all\",\n chunk_size=self.chunk_size,\n max_retries=self.max_retries,\n timeout=self.request_timeout or None,\n tiktoken_enabled=self.tiktoken_enable,\n tiktoken_model_name=self.tiktoken_model_name or None,\n show_progress_bar=self.show_progress_bar,\n model_kwargs=self.model_kwargs,\n skip_empty=self.skip_empty,\n default_headers=self.default_headers or None,\n default_query=self.default_query or None,\n )\n"
|
||||
},
|
||||
"default_headers": {
|
||||
"_input_type": "DictInput",
|
||||
|
|
@ -1969,7 +1971,7 @@
|
|||
"name": "openai_api_key",
|
||||
"password": true,
|
||||
"placeholder": "",
|
||||
"required": false,
|
||||
"required": true,
|
||||
"show": true,
|
||||
"title_case": false,
|
||||
"type": "str",
|
||||
|
|
@ -2250,7 +2252,9 @@
|
|||
"display_name": "Embeddings",
|
||||
"method": "build_embeddings",
|
||||
"name": "embeddings",
|
||||
"required_inputs": [],
|
||||
"required_inputs": [
|
||||
"openai_api_key"
|
||||
],
|
||||
"selected": "Embeddings",
|
||||
"types": [
|
||||
"Embeddings"
|
||||
|
|
@ -2315,7 +2319,7 @@
|
|||
"show": true,
|
||||
"title_case": false,
|
||||
"type": "code",
|
||||
"value": "from langchain_openai import OpenAIEmbeddings\n\nfrom langflow.base.embeddings.model import LCEmbeddingsModel\nfrom langflow.base.models.openai_constants import OPENAI_EMBEDDING_MODEL_NAMES\nfrom langflow.field_typing import Embeddings\nfrom langflow.io import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, MessageTextInput, SecretStrInput\n\n\nclass OpenAIEmbeddingsComponent(LCEmbeddingsModel):\n display_name = \"OpenAI Embeddings\"\n description = \"Generate embeddings using OpenAI models.\"\n icon = \"OpenAI\"\n name = \"OpenAIEmbeddings\"\n\n inputs = [\n DictInput(\n name=\"default_headers\",\n display_name=\"Default Headers\",\n advanced=True,\n info=\"Default headers to use for the API request.\",\n ),\n DictInput(\n name=\"default_query\",\n display_name=\"Default Query\",\n advanced=True,\n info=\"Default query parameters to use for the API request.\",\n ),\n IntInput(name=\"chunk_size\", display_name=\"Chunk Size\", advanced=True, value=1000),\n MessageTextInput(name=\"client\", display_name=\"Client\", advanced=True),\n MessageTextInput(name=\"deployment\", display_name=\"Deployment\", advanced=True),\n IntInput(name=\"embedding_ctx_length\", display_name=\"Embedding Context Length\", advanced=True, value=1536),\n IntInput(name=\"max_retries\", display_name=\"Max Retries\", value=3, advanced=True),\n DropdownInput(\n name=\"model\",\n display_name=\"Model\",\n advanced=False,\n options=OPENAI_EMBEDDING_MODEL_NAMES,\n value=\"text-embedding-3-small\",\n ),\n DictInput(name=\"model_kwargs\", display_name=\"Model Kwargs\", advanced=True),\n SecretStrInput(name=\"openai_api_key\", display_name=\"OpenAI API Key\", value=\"OPENAI_API_KEY\"),\n MessageTextInput(name=\"openai_api_base\", display_name=\"OpenAI API Base\", advanced=True),\n MessageTextInput(name=\"openai_api_type\", display_name=\"OpenAI API Type\", advanced=True),\n MessageTextInput(name=\"openai_api_version\", display_name=\"OpenAI API Version\", advanced=True),\n MessageTextInput(\n name=\"openai_organization\",\n display_name=\"OpenAI Organization\",\n advanced=True,\n ),\n MessageTextInput(name=\"openai_proxy\", display_name=\"OpenAI Proxy\", advanced=True),\n FloatInput(name=\"request_timeout\", display_name=\"Request Timeout\", advanced=True),\n BoolInput(name=\"show_progress_bar\", display_name=\"Show Progress Bar\", advanced=True),\n BoolInput(name=\"skip_empty\", display_name=\"Skip Empty\", advanced=True),\n MessageTextInput(\n name=\"tiktoken_model_name\",\n display_name=\"TikToken Model Name\",\n advanced=True,\n ),\n BoolInput(\n name=\"tiktoken_enable\",\n display_name=\"TikToken Enable\",\n advanced=True,\n value=True,\n info=\"If False, you must have transformers installed.\",\n ),\n IntInput(\n name=\"dimensions\",\n display_name=\"Dimensions\",\n info=\"The number of dimensions the resulting output embeddings should have. \"\n \"Only supported by certain models.\",\n advanced=True,\n ),\n ]\n\n def build_embeddings(self) -> Embeddings:\n return OpenAIEmbeddings(\n client=self.client or None,\n model=self.model,\n dimensions=self.dimensions or None,\n deployment=self.deployment or None,\n api_version=self.openai_api_version or None,\n base_url=self.openai_api_base or None,\n openai_api_type=self.openai_api_type or None,\n openai_proxy=self.openai_proxy or None,\n embedding_ctx_length=self.embedding_ctx_length,\n api_key=self.openai_api_key or None,\n organization=self.openai_organization or None,\n allowed_special=\"all\",\n disallowed_special=\"all\",\n chunk_size=self.chunk_size,\n max_retries=self.max_retries,\n timeout=self.request_timeout or None,\n tiktoken_enabled=self.tiktoken_enable,\n tiktoken_model_name=self.tiktoken_model_name or None,\n show_progress_bar=self.show_progress_bar,\n model_kwargs=self.model_kwargs,\n skip_empty=self.skip_empty,\n default_headers=self.default_headers or None,\n default_query=self.default_query or None,\n )\n"
|
||||
"value": "from langchain_openai import OpenAIEmbeddings\n\nfrom langflow.base.embeddings.model import LCEmbeddingsModel\nfrom langflow.base.models.openai_constants import OPENAI_EMBEDDING_MODEL_NAMES\nfrom langflow.field_typing import Embeddings\nfrom langflow.io import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, MessageTextInput, SecretStrInput\n\n\nclass OpenAIEmbeddingsComponent(LCEmbeddingsModel):\n display_name = \"OpenAI Embeddings\"\n description = \"Generate embeddings using OpenAI models.\"\n icon = \"OpenAI\"\n name = \"OpenAIEmbeddings\"\n\n inputs = [\n DictInput(\n name=\"default_headers\",\n display_name=\"Default Headers\",\n advanced=True,\n info=\"Default headers to use for the API request.\",\n ),\n DictInput(\n name=\"default_query\",\n display_name=\"Default Query\",\n advanced=True,\n info=\"Default query parameters to use for the API request.\",\n ),\n IntInput(name=\"chunk_size\", display_name=\"Chunk Size\", advanced=True, value=1000),\n MessageTextInput(name=\"client\", display_name=\"Client\", advanced=True),\n MessageTextInput(name=\"deployment\", display_name=\"Deployment\", advanced=True),\n IntInput(name=\"embedding_ctx_length\", display_name=\"Embedding Context Length\", advanced=True, value=1536),\n IntInput(name=\"max_retries\", display_name=\"Max Retries\", value=3, advanced=True),\n DropdownInput(\n name=\"model\",\n display_name=\"Model\",\n advanced=False,\n options=OPENAI_EMBEDDING_MODEL_NAMES,\n value=\"text-embedding-3-small\",\n ),\n DictInput(name=\"model_kwargs\", display_name=\"Model Kwargs\", advanced=True),\n SecretStrInput(name=\"openai_api_key\", display_name=\"OpenAI API Key\", value=\"OPENAI_API_KEY\", required=True),\n MessageTextInput(name=\"openai_api_base\", display_name=\"OpenAI API Base\", advanced=True),\n MessageTextInput(name=\"openai_api_type\", display_name=\"OpenAI API Type\", advanced=True),\n MessageTextInput(name=\"openai_api_version\", display_name=\"OpenAI API Version\", advanced=True),\n MessageTextInput(\n name=\"openai_organization\",\n display_name=\"OpenAI Organization\",\n advanced=True,\n ),\n MessageTextInput(name=\"openai_proxy\", display_name=\"OpenAI Proxy\", advanced=True),\n FloatInput(name=\"request_timeout\", display_name=\"Request Timeout\", advanced=True),\n BoolInput(name=\"show_progress_bar\", display_name=\"Show Progress Bar\", advanced=True),\n BoolInput(name=\"skip_empty\", display_name=\"Skip Empty\", advanced=True),\n MessageTextInput(\n name=\"tiktoken_model_name\",\n display_name=\"TikToken Model Name\",\n advanced=True,\n ),\n BoolInput(\n name=\"tiktoken_enable\",\n display_name=\"TikToken Enable\",\n advanced=True,\n value=True,\n info=\"If False, you must have transformers installed.\",\n ),\n IntInput(\n name=\"dimensions\",\n display_name=\"Dimensions\",\n info=\"The number of dimensions the resulting output embeddings should have. \"\n \"Only supported by certain models.\",\n advanced=True,\n ),\n ]\n\n def build_embeddings(self) -> Embeddings:\n return OpenAIEmbeddings(\n client=self.client or None,\n model=self.model,\n dimensions=self.dimensions or None,\n deployment=self.deployment or None,\n api_version=self.openai_api_version or None,\n base_url=self.openai_api_base or None,\n openai_api_type=self.openai_api_type or None,\n openai_proxy=self.openai_proxy or None,\n embedding_ctx_length=self.embedding_ctx_length,\n api_key=self.openai_api_key or None,\n organization=self.openai_organization or None,\n allowed_special=\"all\",\n disallowed_special=\"all\",\n chunk_size=self.chunk_size,\n max_retries=self.max_retries,\n timeout=self.request_timeout or None,\n tiktoken_enabled=self.tiktoken_enable,\n tiktoken_model_name=self.tiktoken_model_name or None,\n show_progress_bar=self.show_progress_bar,\n model_kwargs=self.model_kwargs,\n skip_empty=self.skip_empty,\n default_headers=self.default_headers or None,\n default_query=self.default_query or None,\n )\n"
|
||||
},
|
||||
"default_headers": {
|
||||
"_input_type": "DictInput",
|
||||
|
|
@ -2492,7 +2496,7 @@
|
|||
"name": "openai_api_key",
|
||||
"password": true,
|
||||
"placeholder": "",
|
||||
"required": false,
|
||||
"required": true,
|
||||
"show": true,
|
||||
"title_case": false,
|
||||
"type": "str",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue