refactor: Rename SplitContentComponent to SplitTextComponent and update related variables and descriptions

This commit is contained in:
Rodrigo 2024-06-17 14:30:44 -03:00
commit babe7ff1ac
20 changed files with 368 additions and 93 deletions

View file

@ -4,10 +4,12 @@ from .ExtractKeyFromData import ExtractKeyFromDataComponent
from .FlowTool import FlowToolComponent from .FlowTool import FlowToolComponent
from .Listen import ListenComponent from .Listen import ListenComponent
from .ListFlows import ListFlowsComponent from .ListFlows import ListFlowsComponent
from .MergeData import MergeDataComponent
from .Notify import NotifyComponent from .Notify import NotifyComponent
from .PythonFunction import PythonFunctionComponent from .PythonFunction import PythonFunctionComponent
from .RunFlow import RunFlowComponent from .RunFlow import RunFlowComponent
from .RunnableExecutor import RunnableExecComponent from .RunnableExecutor import RunnableExecComponent
from .SplitText import SplitTextComponent
from .SQLExecutor import SQLExecutorComponent from .SQLExecutor import SQLExecutorComponent
from .SubFlow import SubFlowComponent from .SubFlow import SubFlowComponent
@ -21,10 +23,9 @@ __all__ = [
"MergeDataComponent", "MergeDataComponent",
"NotifyComponent", "NotifyComponent",
"PythonFunctionComponent", "PythonFunctionComponent",
"PythonFunctionComponent",
"RunFlowComponent", "RunFlowComponent",
"RunnableExecComponent", "RunnableExecComponent",
"SplitTextComponent",
"SQLExecutorComponent", "SQLExecutorComponent",
"SubFlowComponent", "SubFlowComponent",
"SplitContentComponent",
] ]

View file

@ -11,9 +11,7 @@ class ParseDataComponent(Component):
icon = "braces" icon = "braces"
inputs = [ inputs = [
HandleInput( HandleInput(name="data", display_name="Data", info="The data to convert to text.", input_types=["Data"]),
name="data", display_name="Data", info="The data to convert to text.", input_types=["Data"]
),
MultilineInput( MultilineInput(
name="template", name="template",
display_name="Template", display_name="Template",

View file

@ -8,7 +8,6 @@ from langflow.inputs import MessageInput
from langflow.template import Output from langflow.template import Output
class AmazonBedrockComponent(LCModelComponent): class AmazonBedrockComponent(LCModelComponent):
display_name: str = "Amazon Bedrock" display_name: str = "Amazon Bedrock"
description: str = "Generate text using Amazon Bedrock LLMs." description: str = "Generate text using Amazon Bedrock LLMs."

View file

@ -1,4 +1,3 @@
from langchain_anthropic.chat_models import ChatAnthropic from langchain_anthropic.chat_models import ChatAnthropic
from pydantic.v1 import SecretStr from pydantic.v1 import SecretStr
@ -15,10 +14,7 @@ class AnthropicModelComponent(LCModelComponent):
icon = "Anthropic" icon = "Anthropic"
inputs = [ inputs = [
StrInput( StrInput(name="input_value", display_name="Input", input_types=["Text", "Data", "Prompt", "Message"]),
name="input_value",
display_name="Input",
input_types=["Text", "Data", "Prompt", "Message"]),
IntInput( IntInput(
name="max_tokens", name="max_tokens",
display_name="Max Tokens", display_name="Max Tokens",
@ -30,7 +26,7 @@ class AnthropicModelComponent(LCModelComponent):
display_name="Model Name", display_name="Model Name",
options=[ options=[
"claude-3-opus-20240229", "claude-3-opus-20240229",
"claude-3-sonnet-20240229", "claude-3-sonnet-20240229",
"claude-3-haiku-20240307", "claude-3-haiku-20240307",
"claude-2.1", "claude-2.1",
"claude-2.0", "claude-2.0",
@ -105,4 +101,3 @@ class AnthropicModelComponent(LCModelComponent):
raise ValueError("Could not connect to Anthropic API.") from e raise ValueError("Could not connect to Anthropic API.") from e
return output return output

View file

@ -6,6 +6,7 @@ from langflow.field_typing import BaseLanguageModel, Text
from langflow.inputs import BoolInput, FloatInput, SecretStrInput, StrInput from langflow.inputs import BoolInput, FloatInput, SecretStrInput, StrInput
from langflow.template import Output from langflow.template import Output
class QianfanChatEndpointComponent(LCModelComponent): class QianfanChatEndpointComponent(LCModelComponent):
display_name: str = "Qianfan" display_name: str = "Qianfan"
description: str = "Generate text using Baidu Qianfan LLMs." description: str = "Generate text using Baidu Qianfan LLMs."
@ -120,4 +121,4 @@ class QianfanChatEndpointComponent(LCModelComponent):
except Exception as e: except Exception as e:
raise ValueError("Could not connect to Baidu Qianfan API.") from e raise ValueError("Could not connect to Baidu Qianfan API.") from e
return output return output

View file

@ -1,4 +1,3 @@
from langchain_groq import ChatGroq from langchain_groq import ChatGroq
from langflow.base.models.groq_constants import MODEL_NAMES from langflow.base.models.groq_constants import MODEL_NAMES
from pydantic.v1 import SecretStr from pydantic.v1 import SecretStr
@ -8,6 +7,7 @@ from langflow.field_typing import BaseLanguageModel, Text
from langflow.inputs import BoolInput, FloatInput, IntInput, SecretStrInput, StrInput, DropdownInput from langflow.inputs import BoolInput, FloatInput, IntInput, SecretStrInput, StrInput, DropdownInput
from langflow.template import Output from langflow.template import Output
class GroqModel(LCModelComponent): class GroqModel(LCModelComponent):
display_name: str = "Groq" display_name: str = "Groq"
description: str = "Generate text using Groq." description: str = "Generate text using Groq."

View file

@ -1,4 +1,3 @@
from langchain_community.chat_models import ChatOllama from langchain_community.chat_models import ChatOllama
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
@ -6,6 +5,7 @@ from langflow.field_typing import BaseLanguageModel, Text
from langflow.inputs import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, StrInput from langflow.inputs import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, StrInput
from langflow.template import Output from langflow.template import Output
class ChatOllamaComponent(LCModelComponent): class ChatOllamaComponent(LCModelComponent):
display_name = "Ollama" display_name = "Ollama"
description = "Generate text using Ollama Local LLMs." description = "Generate text using Ollama Local LLMs."

View file

@ -1,5 +1,4 @@
from langflow.custom import Component from langflow.custom import Component
from langflow.field_typing import Text
from langflow.inputs import ( from langflow.inputs import (
StrInput, StrInput,
IntInput, IntInput,
@ -10,10 +9,10 @@ from langflow.inputs import (
) )
from langflow.schema import Data from langflow.schema import Data
from langflow.template import Output from langflow.template import Output
from langflow.field_typing import Embeddings
from loguru import logger from loguru import logger
class AstraVectorStoreComponent(Component): class AstraVectorStoreComponent(Component):
display_name: str = "Astra DB Vector Store" display_name: str = "Astra DB Vector Store"
description: str = "Implementation of Vector Store using Astra DB with search capabilities" description: str = "Implementation of Vector Store using Astra DB with search capabilities"

View file

@ -1,17 +1,15 @@
from typing import Any, List, Optional, Tuple from typing import List
from langchain_community.utilities.cassandra import SetupMode
from langchain_community.vectorstores import Cassandra from langchain_community.vectorstores import Cassandra
from langchain.embeddings.base import Embeddings
from langchain.schema import BaseRetriever from langchain.schema import BaseRetriever
from langflow.custom import Component from langflow.custom import Component
from langflow.field_typing import Embeddings, Text
from langflow.schema import Data from langflow.schema import Data
from langflow.inputs import BoolInput, IntInput, StrInput, HandleInput, DropdownInput from langflow.inputs import BoolInput, IntInput, StrInput, HandleInput, DropdownInput
from langflow.template import Output from langflow.template import Output
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
class CassandraVectorStoreComponent(Component): class CassandraVectorStoreComponent(Component):
display_name = "Cassandra" display_name = "Cassandra"
description = "Cassandra Vector Store with search capabilities" description = "Cassandra Vector Store with search capabilities"
@ -19,24 +17,83 @@ class CassandraVectorStoreComponent(Component):
icon = "Cassandra" icon = "Cassandra"
inputs = [ inputs = [
StrInput(name="token", display_name="Token", info="Authentication token for accessing Cassandra on Astra DB.", password=True, required=True), StrInput(
name="token",
display_name="Token",
info="Authentication token for accessing Cassandra on Astra DB.",
password=True,
required=True,
),
StrInput(name="database_id", display_name="Database ID", info="The Astra database ID.", required=True), StrInput(name="database_id", display_name="Database ID", info="The Astra database ID.", required=True),
StrInput(name="table_name", display_name="Table Name", info="The name of the table where vectors will be stored.", required=True), StrInput(
StrInput(name="keyspace", display_name="Keyspace", info="Optional key space within Astra DB. The keyspace should already be created.", advanced=True), name="table_name",
IntInput(name="ttl_seconds", display_name="TTL Seconds", info="Optional time-to-live for the added texts.", advanced=True), display_name="Table Name",
IntInput(name="batch_size", display_name="Batch Size", info="Optional number of data to process in a single batch.", value=16, advanced=True), info="The name of the table where vectors will be stored.",
StrInput(name="body_index_options", display_name="Body Index Options", info="Optional options used to create the body index.", advanced=True), required=True,
DropdownInput(name="setup_mode", display_name="Setup Mode", info="Configuration mode for setting up the Cassandra table, with options like 'Sync', 'Async', or 'Off'.", options=["Sync", "Async", "Off"], value="Sync", advanced=True), ),
StrInput(
name="keyspace",
display_name="Keyspace",
info="Optional key space within Astra DB. The keyspace should already be created.",
advanced=True,
),
IntInput(
name="ttl_seconds",
display_name="TTL Seconds",
info="Optional time-to-live for the added texts.",
advanced=True,
),
IntInput(
name="batch_size",
display_name="Batch Size",
info="Optional number of data to process in a single batch.",
value=16,
advanced=True,
),
StrInput(
name="body_index_options",
display_name="Body Index Options",
info="Optional options used to create the body index.",
advanced=True,
),
DropdownInput(
name="setup_mode",
display_name="Setup Mode",
info="Configuration mode for setting up the Cassandra table, with options like 'Sync', 'Async', or 'Off'.",
options=["Sync", "Async", "Off"],
value="Sync",
advanced=True,
),
HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]), HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]),
HandleInput(name="vector_store_inputs", display_name="Vector Store Inputs", input_types=["Document", "Data"], is_list=True), HandleInput(
BoolInput(name="add_to_vector_store", display_name="Add to Vector Store", info="If true, the Vector Store Inputs will be added to the Vector Store."), name="vector_store_inputs",
display_name="Vector Store Inputs",
input_types=["Document", "Data"],
is_list=True,
),
BoolInput(
name="add_to_vector_store",
display_name="Add to Vector Store",
info="If true, the Vector Store Inputs will be added to the Vector Store.",
),
StrInput(name="search_input", display_name="Search Input"), StrInput(name="search_input", display_name="Search Input"),
IntInput(name="number_of_results", display_name="Number of Results", info="Number of results to return.", value=4, advanced=True), IntInput(
name="number_of_results",
display_name="Number of Results",
info="Number of results to return.",
value=4,
advanced=True,
),
] ]
outputs = [ outputs = [
Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=Cassandra), Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=Cassandra),
Output(display_name="Base Retriever", name="base_retriever", method="build_base_retriever", output_type=BaseRetriever), Output(
display_name="Base Retriever",
name="base_retriever",
method="build_base_retriever",
output_type=BaseRetriever,
),
Output(display_name="Search Results", name="search_results", method="search_documents"), Output(display_name="Search Results", name="search_results", method="search_documents"),
] ]

View file

@ -10,6 +10,7 @@ from langflow.inputs import BoolInput, IntInput, StrInput, HandleInput
from langflow.template import Output from langflow.template import Output
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
class CouchbaseVectorStoreComponent(Component): class CouchbaseVectorStoreComponent(Component):
display_name = "Couchbase" display_name = "Couchbase"
description = "Couchbase Vector Store with search capabilities" description = "Couchbase Vector Store with search capabilities"
@ -25,15 +26,40 @@ class CouchbaseVectorStoreComponent(Component):
StrInput(name="collection_name", display_name="Collection Name", required=True), StrInput(name="collection_name", display_name="Collection Name", required=True),
StrInput(name="index_name", display_name="Index Name", required=True), StrInput(name="index_name", display_name="Index Name", required=True),
HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]), HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]),
HandleInput(name="vector_store_inputs", display_name="Vector Store Inputs", input_types=["Document", "Data"], is_list=True), HandleInput(
BoolInput(name="add_to_vector_store", display_name="Add to Vector Store", info="If true, the Vector Store Inputs will be added to the Vector Store."), name="vector_store_inputs",
display_name="Vector Store Inputs",
input_types=["Document", "Data"],
is_list=True,
),
BoolInput(
name="add_to_vector_store",
display_name="Add to Vector Store",
info="If true, the Vector Store Inputs will be added to the Vector Store.",
),
StrInput(name="search_input", display_name="Search Input"), StrInput(name="search_input", display_name="Search Input"),
IntInput(name="number_of_results", display_name="Number of Results", info="Number of results to return.", value=4, advanced=True), IntInput(
name="number_of_results",
display_name="Number of Results",
info="Number of results to return.",
value=4,
advanced=True,
),
] ]
outputs = [ outputs = [
Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=CouchbaseVectorStore), Output(
Output(display_name="Base Retriever", name="base_retriever", method="build_base_retriever", output_type=BaseRetriever), display_name="Vector Store",
name="vector_store",
method="build_vector_store",
output_type=CouchbaseVectorStore,
),
Output(
display_name="Base Retriever",
name="base_retriever",
method="build_base_retriever",
output_type=BaseRetriever,
),
Output(display_name="Search Results", name="search_results", method="search_documents"), Output(display_name="Search Results", name="search_results", method="search_documents"),
] ]

View file

@ -1,8 +1,6 @@
from copy import deepcopy from typing import List
from typing import List, Optional, Union
from langchain.vectorstores import FAISS from langchain.vectorstores import FAISS
from langchain.embeddings.base import Embeddings
from langchain.schema import BaseRetriever from langchain.schema import BaseRetriever
from langflow.custom import Component from langflow.custom import Component
@ -36,9 +34,7 @@ class FaissVectorStoreComponent(Component):
display_name="Index Name", display_name="Index Name",
value="langflow_index", value="langflow_index",
), ),
HandleInput( HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]),
name="embedding", display_name="Embedding", input_types=["Embeddings"]
),
StrInput( StrInput(
name="vector_store_inputs", name="vector_store_inputs",
display_name="Vector Store Inputs", display_name="Vector Store Inputs",
@ -163,11 +159,7 @@ class FaissVectorStoreComponent(Component):
logger.debug(f"Search input: {self.search_input}") logger.debug(f"Search input: {self.search_input}")
logger.debug(f"Number of results: {self.number_of_results}") logger.debug(f"Number of results: {self.number_of_results}")
if ( if self.search_input and isinstance(self.search_input, str) and self.search_input.strip():
self.search_input
and isinstance(self.search_input, str)
and self.search_input.strip()
):
docs = vector_store.similarity_search( docs = vector_store.similarity_search(
query=self.search_input, query=self.search_input,
k=self.number_of_results, k=self.number_of_results,

View file

@ -9,6 +9,7 @@ from langflow.inputs import BoolInput, IntInput, StrInput, HandleInput
from langflow.template import Output from langflow.template import Output
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
class MongoVectorStoreComponent(Component): class MongoVectorStoreComponent(Component):
display_name = "MongoDB Atlas" display_name = "MongoDB Atlas"
description = "MongoDB Atlas Vector Store with search capabilities" description = "MongoDB Atlas Vector Store with search capabilities"
@ -21,15 +22,40 @@ class MongoVectorStoreComponent(Component):
StrInput(name="collection_name", display_name="Collection Name", required=True), StrInput(name="collection_name", display_name="Collection Name", required=True),
StrInput(name="index_name", display_name="Index Name", required=True), StrInput(name="index_name", display_name="Index Name", required=True),
HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]), HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]),
HandleInput(name="vector_store_inputs", display_name="Vector Store Inputs", input_types=["Document", "Data"], is_list=True), HandleInput(
BoolInput(name="add_to_vector_store", display_name="Add to Vector Store", info="If true, the Vector Store Inputs will be added to the Vector Store."), name="vector_store_inputs",
display_name="Vector Store Inputs",
input_types=["Document", "Data"],
is_list=True,
),
BoolInput(
name="add_to_vector_store",
display_name="Add to Vector Store",
info="If true, the Vector Store Inputs will be added to the Vector Store.",
),
StrInput(name="search_input", display_name="Search Input"), StrInput(name="search_input", display_name="Search Input"),
IntInput(name="number_of_results", display_name="Number of Results", info="Number of results to return.", value=4, advanced=True), IntInput(
name="number_of_results",
display_name="Number of Results",
info="Number of results to return.",
value=4,
advanced=True,
),
] ]
outputs = [ outputs = [
Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=MongoDBAtlasVectorSearch), Output(
Output(display_name="Base Retriever", name="base_retriever", method="build_base_retriever", output_type=BaseRetriever), display_name="Vector Store",
name="vector_store",
method="build_vector_store",
output_type=MongoDBAtlasVectorSearch,
),
Output(
display_name="Base Retriever",
name="base_retriever",
method="build_base_retriever",
output_type=BaseRetriever,
),
Output(display_name="Search Results", name="search_results", method="search_documents"), Output(display_name="Search Results", name="search_results", method="search_documents"),
] ]

View file

@ -9,6 +9,7 @@ from langflow.inputs import BoolInput, IntInput, StrInput, HandleInput, Dropdown
from langflow.template import Output from langflow.template import Output
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
class PineconeVectorStoreComponent(Component): class PineconeVectorStoreComponent(Component):
display_name = "Pinecone" display_name = "Pinecone"
description = "Pinecone Vector Store with search capabilities" description = "Pinecone Vector Store with search capabilities"
@ -18,19 +19,51 @@ class PineconeVectorStoreComponent(Component):
inputs = [ inputs = [
StrInput(name="index_name", display_name="Index Name", required=True), StrInput(name="index_name", display_name="Index Name", required=True),
StrInput(name="namespace", display_name="Namespace", info="Namespace for the index."), StrInput(name="namespace", display_name="Namespace", info="Namespace for the index."),
DropdownInput(name="distance_strategy", display_name="Distance Strategy", options=["Cosine", "Euclidean", "Dot Product"], value="Cosine", advanced=True), DropdownInput(
name="distance_strategy",
display_name="Distance Strategy",
options=["Cosine", "Euclidean", "Dot Product"],
value="Cosine",
advanced=True,
),
StrInput(name="pinecone_api_key", display_name="Pinecone API Key", password=True, required=True), StrInput(name="pinecone_api_key", display_name="Pinecone API Key", password=True, required=True),
HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]), HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]),
StrInput(name="text_key", display_name="Text Key", info="Key in the record to use as text.", value="text", advanced=True), StrInput(
HandleInput(name="vector_store_inputs", display_name="Vector Store Inputs", input_types=["Document", "Data"], is_list=True), name="text_key",
BoolInput(name="add_to_vector_store", display_name="Add to Vector Store", info="If true, the Vector Store Inputs will be added to the Vector Store."), display_name="Text Key",
info="Key in the record to use as text.",
value="text",
advanced=True,
),
HandleInput(
name="vector_store_inputs",
display_name="Vector Store Inputs",
input_types=["Document", "Data"],
is_list=True,
),
BoolInput(
name="add_to_vector_store",
display_name="Add to Vector Store",
info="If true, the Vector Store Inputs will be added to the Vector Store.",
),
StrInput(name="search_input", display_name="Search Input"), StrInput(name="search_input", display_name="Search Input"),
IntInput(name="number_of_results", display_name="Number of Results", info="Number of results to return.", value=4, advanced=True), IntInput(
name="number_of_results",
display_name="Number of Results",
info="Number of results to return.",
value=4,
advanced=True,
),
] ]
outputs = [ outputs = [
Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=Pinecone), Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=Pinecone),
Output(display_name="Base Retriever", name="base_retriever", method="build_base_retriever", output_type=BaseRetriever), Output(
display_name="Base Retriever",
name="base_retriever",
method="build_base_retriever",
output_type=BaseRetriever,
),
Output(display_name="Search Results", name="search_results", method="search_documents"), Output(display_name="Search Results", name="search_results", method="search_documents"),
] ]

View file

@ -9,6 +9,7 @@ from langflow.inputs import BoolInput, IntInput, StrInput, HandleInput, Dropdown
from langflow.template import Output from langflow.template import Output
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
class QdrantVectorStoreComponent(Component): class QdrantVectorStoreComponent(Component):
display_name = "Qdrant" display_name = "Qdrant"
description = "Qdrant Vector Store with search capabilities" description = "Qdrant Vector Store with search capabilities"
@ -25,19 +26,45 @@ class QdrantVectorStoreComponent(Component):
IntInput(name="timeout", display_name="Timeout", advanced=True), IntInput(name="timeout", display_name="Timeout", advanced=True),
StrInput(name="path", display_name="Path", advanced=True), StrInput(name="path", display_name="Path", advanced=True),
StrInput(name="url", display_name="URL", advanced=True), StrInput(name="url", display_name="URL", advanced=True),
DropdownInput(name="distance_func", display_name="Distance Function", options=["Cosine", "Euclidean", "Dot Product"], value="Cosine", advanced=True), DropdownInput(
name="distance_func",
display_name="Distance Function",
options=["Cosine", "Euclidean", "Dot Product"],
value="Cosine",
advanced=True,
),
StrInput(name="content_payload_key", display_name="Content Payload Key", value="page_content", advanced=True), StrInput(name="content_payload_key", display_name="Content Payload Key", value="page_content", advanced=True),
StrInput(name="metadata_payload_key", display_name="Metadata Payload Key", value="metadata", advanced=True), StrInput(name="metadata_payload_key", display_name="Metadata Payload Key", value="metadata", advanced=True),
HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]), HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]),
HandleInput(name="vector_store_inputs", display_name="Vector Store Inputs", input_types=["Document", "Data"], is_list=True), HandleInput(
BoolInput(name="add_to_vector_store", display_name="Add to Vector Store", info="If true, the Vector Store Inputs will be added to the Vector Store."), name="vector_store_inputs",
display_name="Vector Store Inputs",
input_types=["Document", "Data"],
is_list=True,
),
BoolInput(
name="add_to_vector_store",
display_name="Add to Vector Store",
info="If true, the Vector Store Inputs will be added to the Vector Store.",
),
StrInput(name="search_input", display_name="Search Input"), StrInput(name="search_input", display_name="Search Input"),
IntInput(name="number_of_results", display_name="Number of Results", info="Number of results to return.", value=4, advanced=True), IntInput(
name="number_of_results",
display_name="Number of Results",
info="Number of results to return.",
value=4,
advanced=True,
),
] ]
outputs = [ outputs = [
Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=Qdrant), Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=Qdrant),
Output(display_name="Base Retriever", name="base_retriever", method="build_base_retriever", output_type=BaseRetriever), Output(
display_name="Base Retriever",
name="base_retriever",
method="build_base_retriever",
output_type=BaseRetriever,
),
Output(display_name="Search Results", name="search_results", method="search_documents"), Output(display_name="Search Results", name="search_results", method="search_documents"),
] ]
@ -79,10 +106,7 @@ class QdrantVectorStoreComponent(Component):
if documents: if documents:
qdrant = Qdrant.from_documents( qdrant = Qdrant.from_documents(
documents, documents, embedding=self.embedding, client_kwargs=server_kwargs, **qdrant_kwargs
embedding=self.embedding,
client_kwargs=server_kwargs,
**qdrant_kwargs
) )
else: else:
from qdrant_client import QdrantClient from qdrant_client import QdrantClient

View file

@ -10,6 +10,7 @@ from langflow.inputs import IntInput, StrInput, HandleInput
from langflow.template import Output from langflow.template import Output
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
class SupabaseVectorStoreComponent(Component): class SupabaseVectorStoreComponent(Component):
display_name = "Supabase" display_name = "Supabase"
description = "Supabase Vector Store with search capabilities" description = "Supabase Vector Store with search capabilities"
@ -22,14 +23,35 @@ class SupabaseVectorStoreComponent(Component):
StrInput(name="table_name", display_name="Table Name", advanced=True), StrInput(name="table_name", display_name="Table Name", advanced=True),
StrInput(name="query_name", display_name="Query Name"), StrInput(name="query_name", display_name="Query Name"),
HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]), HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]),
HandleInput(name="vector_store_inputs", display_name="Vector Store Inputs", input_types=["Document", "Data"], is_list=True), HandleInput(
name="vector_store_inputs",
display_name="Vector Store Inputs",
input_types=["Document", "Data"],
is_list=True,
),
StrInput(name="search_input", display_name="Search Input"), StrInput(name="search_input", display_name="Search Input"),
IntInput(name="number_of_results", display_name="Number of Results", info="Number of results to return.", value=4, advanced=True), IntInput(
name="number_of_results",
display_name="Number of Results",
info="Number of results to return.",
value=4,
advanced=True,
),
] ]
outputs = [ outputs = [
Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=SupabaseVectorStore), Output(
Output(display_name="Base Retriever", name="base_retriever", method="build_base_retriever", output_type=BaseRetriever), display_name="Vector Store",
name="vector_store",
method="build_vector_store",
output_type=SupabaseVectorStore,
),
Output(
display_name="Base Retriever",
name="base_retriever",
method="build_base_retriever",
output_type=BaseRetriever,
),
Output(display_name="Search Results", name="search_results", method="search_documents"), Output(display_name="Search Results", name="search_results", method="search_documents"),
] ]

View file

@ -9,6 +9,7 @@ from langflow.inputs import BoolInput, IntInput, StrInput, HandleInput
from langflow.template import Output from langflow.template import Output
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
class UpstashVectorStoreComponent(Component): class UpstashVectorStoreComponent(Component):
display_name = "Upstash" display_name = "Upstash"
description = "Upstash Vector Store with search capabilities" description = "Upstash Vector Store with search capabilities"
@ -17,18 +18,56 @@ class UpstashVectorStoreComponent(Component):
inputs = [ inputs = [
StrInput(name="index_url", display_name="Index URL", info="The URL of the Upstash index.", required=True), StrInput(name="index_url", display_name="Index URL", info="The URL of the Upstash index.", required=True),
StrInput(name="index_token", display_name="Index Token", info="The token for the Upstash index.", required=True), StrInput(
StrInput(name="text_key", display_name="Text Key", info="The key in the record to use as text.", value="text", advanced=True), name="index_token", display_name="Index Token", info="The token for the Upstash index.", required=True
HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"], info="To use Upstash's embeddings, don't provide an embedding."), ),
HandleInput(name="vector_store_inputs", display_name="Vector Store Inputs", input_types=["Document", "Data"], is_list=True), StrInput(
BoolInput(name="add_to_vector_store", display_name="Add to Vector Store", info="If true, the Vector Store Inputs will be added to the Vector Store."), name="text_key",
display_name="Text Key",
info="The key in the record to use as text.",
value="text",
advanced=True,
),
HandleInput(
name="embedding",
display_name="Embedding",
input_types=["Embeddings"],
info="To use Upstash's embeddings, don't provide an embedding.",
),
HandleInput(
name="vector_store_inputs",
display_name="Vector Store Inputs",
input_types=["Document", "Data"],
is_list=True,
),
BoolInput(
name="add_to_vector_store",
display_name="Add to Vector Store",
info="If true, the Vector Store Inputs will be added to the Vector Store.",
),
StrInput(name="search_input", display_name="Search Input"), StrInput(name="search_input", display_name="Search Input"),
IntInput(name="number_of_results", display_name="Number of Results", info="Number of results to return.", value=4, advanced=True), IntInput(
name="number_of_results",
display_name="Number of Results",
info="Number of results to return.",
value=4,
advanced=True,
),
] ]
outputs = [ outputs = [
Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=UpstashVectorStore), Output(
Output(display_name="Base Retriever", name="base_retriever", method="build_base_retriever", output_type=BaseRetriever), display_name="Vector Store",
name="vector_store",
method="build_vector_store",
output_type=UpstashVectorStore,
),
Output(
display_name="Base Retriever",
name="base_retriever",
method="build_base_retriever",
output_type=BaseRetriever,
),
Output(display_name="Search Results", name="search_results", method="search_documents"), Output(display_name="Search Results", name="search_results", method="search_documents"),
] ]

View file

@ -10,6 +10,7 @@ from langflow.inputs import BoolInput, IntInput, StrInput, HandleInput
from langflow.template import Output from langflow.template import Output
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
class VectaraVectorStoreComponent(Component): class VectaraVectorStoreComponent(Component):
display_name = "Vectara" display_name = "Vectara"
description = "Vectara Vector Store with search capabilities" description = "Vectara Vector Store with search capabilities"
@ -20,15 +21,35 @@ class VectaraVectorStoreComponent(Component):
StrInput(name="vectara_customer_id", display_name="Vectara Customer ID", required=True), StrInput(name="vectara_customer_id", display_name="Vectara Customer ID", required=True),
StrInput(name="vectara_corpus_id", display_name="Vectara Corpus ID", required=True), StrInput(name="vectara_corpus_id", display_name="Vectara Corpus ID", required=True),
StrInput(name="vectara_api_key", display_name="Vectara API Key", password=True, required=True), StrInput(name="vectara_api_key", display_name="Vectara API Key", password=True, required=True),
HandleInput(name="vector_store_inputs", display_name="Vector Store Inputs", input_types=["Document", "Data"], is_list=True), HandleInput(
BoolInput(name="add_to_vector_store", display_name="Add to Vector Store", info="If true, the Vector Store Inputs will be added to the Vector Store."), name="vector_store_inputs",
display_name="Vector Store Inputs",
input_types=["Document", "Data"],
is_list=True,
),
BoolInput(
name="add_to_vector_store",
display_name="Add to Vector Store",
info="If true, the Vector Store Inputs will be added to the Vector Store.",
),
StrInput(name="search_input", display_name="Search Input"), StrInput(name="search_input", display_name="Search Input"),
IntInput(name="number_of_results", display_name="Number of Results", info="Number of results to return.", value=4, advanced=True), IntInput(
name="number_of_results",
display_name="Number of Results",
info="Number of results to return.",
value=4,
advanced=True,
),
] ]
outputs = [ outputs = [
Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=Vectara), Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=Vectara),
Output(display_name="Base Retriever", name="base_retriever", method="build_base_retriever", output_type=BaseRetriever), Output(
display_name="Base Retriever",
name="base_retriever",
method="build_base_retriever",
output_type=BaseRetriever,
),
Output(display_name="Search Results", name="search_results", method="search_documents"), Output(display_name="Search Results", name="search_results", method="search_documents"),
] ]

View file

@ -10,6 +10,7 @@ from langflow.inputs import BoolInput, IntInput, StrInput, HandleInput
from langflow.template import Output from langflow.template import Output
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
class WeaviateVectorStoreComponent(Component): class WeaviateVectorStoreComponent(Component):
display_name = "Weaviate" display_name = "Weaviate"
description = "Weaviate Vector Store with search capabilities" description = "Weaviate Vector Store with search capabilities"
@ -22,16 +23,36 @@ class WeaviateVectorStoreComponent(Component):
StrInput(name="index_name", display_name="Index Name", required=True), StrInput(name="index_name", display_name="Index Name", required=True),
StrInput(name="text_key", display_name="Text Key", value="text", advanced=True), StrInput(name="text_key", display_name="Text Key", value="text", advanced=True),
HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]), HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]),
HandleInput(name="vector_store_inputs", display_name="Vector Store Inputs", input_types=["Document", "Data"], is_list=True), HandleInput(
BoolInput(name="add_to_vector_store", display_name="Add to Vector Store", info="If true, the Vector Store Inputs will be added to the Vector Store."), name="vector_store_inputs",
display_name="Vector Store Inputs",
input_types=["Document", "Data"],
is_list=True,
),
BoolInput(
name="add_to_vector_store",
display_name="Add to Vector Store",
info="If true, the Vector Store Inputs will be added to the Vector Store.",
),
StrInput(name="search_input", display_name="Search Input"), StrInput(name="search_input", display_name="Search Input"),
IntInput(name="number_of_results", display_name="Number of Results", info="Number of results to return.", value=4, advanced=True), IntInput(
name="number_of_results",
display_name="Number of Results",
info="Number of results to return.",
value=4,
advanced=True,
),
BoolInput(name="search_by_text", display_name="Search By Text", advanced=True), BoolInput(name="search_by_text", display_name="Search By Text", advanced=True),
] ]
outputs = [ outputs = [
Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=Weaviate), Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=Weaviate),
Output(display_name="Base Retriever", name="base_retriever", method="build_base_retriever", output_type=BaseRetriever), Output(
display_name="Base Retriever",
name="base_retriever",
method="build_base_retriever",
output_type=BaseRetriever,
),
Output(display_name="Search Results", name="search_results", method="search_documents"), Output(display_name="Search Results", name="search_results", method="search_documents"),
] ]

View file

@ -9,6 +9,7 @@ from langflow.inputs import BoolInput, IntInput, StrInput, HandleInput
from langflow.template import Output from langflow.template import Output
from langflow.helpers.data import docs_to_data from langflow.helpers.data import docs_to_data
class PGVectorStoreComponent(Component): class PGVectorStoreComponent(Component):
display_name = "PGVector" display_name = "PGVector"
description = "PGVector Vector Store with search capabilities" description = "PGVector Vector Store with search capabilities"
@ -19,15 +20,35 @@ class PGVectorStoreComponent(Component):
StrInput(name="pg_server_url", display_name="PostgreSQL Server Connection String", required=True), StrInput(name="pg_server_url", display_name="PostgreSQL Server Connection String", required=True),
StrInput(name="collection_name", display_name="Table", required=True), StrInput(name="collection_name", display_name="Table", required=True),
HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]), HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]),
HandleInput(name="vector_store_inputs", display_name="Vector Store Inputs", input_types=["Document", "Data"], is_list=True), HandleInput(
BoolInput(name="add_to_vector_store", display_name="Add to Vector Store", info="If true, the Vector Store Inputs will be added to the Vector Store."), name="vector_store_inputs",
display_name="Vector Store Inputs",
input_types=["Document", "Data"],
is_list=True,
),
BoolInput(
name="add_to_vector_store",
display_name="Add to Vector Store",
info="If true, the Vector Store Inputs will be added to the Vector Store.",
),
StrInput(name="search_input", display_name="Search Input"), StrInput(name="search_input", display_name="Search Input"),
IntInput(name="number_of_results", display_name="Number of Results", info="Number of results to return.", value=4, advanced=True), IntInput(
name="number_of_results",
display_name="Number of Results",
info="Number of results to return.",
value=4,
advanced=True,
),
] ]
outputs = [ outputs = [
Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=PGVector), Output(display_name="Vector Store", name="vector_store", method="build_vector_store", output_type=PGVector),
Output(display_name="Base Retriever", name="base_retriever", method="build_base_retriever", output_type=BaseRetriever), Output(
display_name="Base Retriever",
name="base_retriever",
method="build_base_retriever",
output_type=BaseRetriever,
),
Output(display_name="Search Results", name="search_results", method="search_documents"), Output(display_name="Search Results", name="search_results", method="search_documents"),
] ]