lfx-nightly 0.2.0.dev0__py3-none-any.whl → 0.2.0.dev26__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lfx/_assets/component_index.json +1 -1
- lfx/base/agents/agent.py +13 -1
- lfx/base/agents/altk_base_agent.py +380 -0
- lfx/base/agents/altk_tool_wrappers.py +565 -0
- lfx/base/agents/events.py +2 -1
- lfx/base/composio/composio_base.py +159 -224
- lfx/base/data/base_file.py +88 -21
- lfx/base/data/storage_utils.py +192 -0
- lfx/base/data/utils.py +178 -14
- lfx/base/embeddings/embeddings_class.py +113 -0
- lfx/base/models/groq_constants.py +74 -58
- lfx/base/models/groq_model_discovery.py +265 -0
- lfx/base/models/model.py +1 -1
- lfx/base/models/model_utils.py +100 -0
- lfx/base/models/openai_constants.py +7 -0
- lfx/base/models/watsonx_constants.py +32 -8
- lfx/base/tools/run_flow.py +601 -129
- lfx/cli/commands.py +6 -3
- lfx/cli/common.py +2 -2
- lfx/cli/run.py +1 -1
- lfx/cli/script_loader.py +53 -11
- lfx/components/Notion/create_page.py +1 -1
- lfx/components/Notion/list_database_properties.py +1 -1
- lfx/components/Notion/list_pages.py +1 -1
- lfx/components/Notion/list_users.py +1 -1
- lfx/components/Notion/page_content_viewer.py +1 -1
- lfx/components/Notion/search.py +1 -1
- lfx/components/Notion/update_page_property.py +1 -1
- lfx/components/__init__.py +19 -5
- lfx/components/{agents → altk}/__init__.py +5 -9
- lfx/components/altk/altk_agent.py +193 -0
- lfx/components/apify/apify_actor.py +1 -1
- lfx/components/composio/__init__.py +70 -18
- lfx/components/composio/apollo_composio.py +11 -0
- lfx/components/composio/bitbucket_composio.py +11 -0
- lfx/components/composio/canva_composio.py +11 -0
- lfx/components/composio/coda_composio.py +11 -0
- lfx/components/composio/composio_api.py +10 -0
- lfx/components/composio/discord_composio.py +1 -1
- lfx/components/composio/elevenlabs_composio.py +11 -0
- lfx/components/composio/exa_composio.py +11 -0
- lfx/components/composio/firecrawl_composio.py +11 -0
- lfx/components/composio/fireflies_composio.py +11 -0
- lfx/components/composio/gmail_composio.py +1 -1
- lfx/components/composio/googlebigquery_composio.py +11 -0
- lfx/components/composio/googlecalendar_composio.py +1 -1
- lfx/components/composio/googledocs_composio.py +1 -1
- lfx/components/composio/googlemeet_composio.py +1 -1
- lfx/components/composio/googlesheets_composio.py +1 -1
- lfx/components/composio/googletasks_composio.py +1 -1
- lfx/components/composio/heygen_composio.py +11 -0
- lfx/components/composio/mem0_composio.py +11 -0
- lfx/components/composio/peopledatalabs_composio.py +11 -0
- lfx/components/composio/perplexityai_composio.py +11 -0
- lfx/components/composio/serpapi_composio.py +11 -0
- lfx/components/composio/slack_composio.py +3 -574
- lfx/components/composio/slackbot_composio.py +1 -1
- lfx/components/composio/snowflake_composio.py +11 -0
- lfx/components/composio/tavily_composio.py +11 -0
- lfx/components/composio/youtube_composio.py +2 -2
- lfx/components/cuga/__init__.py +34 -0
- lfx/components/cuga/cuga_agent.py +730 -0
- lfx/components/data/__init__.py +78 -28
- lfx/components/data_source/__init__.py +58 -0
- lfx/components/{data → data_source}/api_request.py +26 -3
- lfx/components/{data → data_source}/csv_to_data.py +15 -10
- lfx/components/{data → data_source}/json_to_data.py +15 -8
- lfx/components/{data → data_source}/news_search.py +1 -1
- lfx/components/{data → data_source}/rss.py +1 -1
- lfx/components/{data → data_source}/sql_executor.py +1 -1
- lfx/components/{data → data_source}/url.py +1 -1
- lfx/components/{data → data_source}/web_search.py +1 -1
- lfx/components/datastax/astradb_cql.py +1 -1
- lfx/components/datastax/astradb_graph.py +1 -1
- lfx/components/datastax/astradb_tool.py +1 -1
- lfx/components/datastax/astradb_vectorstore.py +1 -1
- lfx/components/datastax/hcd.py +1 -1
- lfx/components/deactivated/json_document_builder.py +1 -1
- lfx/components/docling/__init__.py +0 -3
- lfx/components/elastic/elasticsearch.py +1 -1
- lfx/components/elastic/opensearch_multimodal.py +1575 -0
- lfx/components/files_and_knowledge/__init__.py +47 -0
- lfx/components/{data → files_and_knowledge}/directory.py +1 -1
- lfx/components/{data → files_and_knowledge}/file.py +246 -18
- lfx/components/{knowledge_bases → files_and_knowledge}/retrieval.py +2 -2
- lfx/components/{data → files_and_knowledge}/save_file.py +142 -22
- lfx/components/flow_controls/__init__.py +58 -0
- lfx/components/{logic → flow_controls}/conditional_router.py +1 -1
- lfx/components/{logic → flow_controls}/loop.py +43 -9
- lfx/components/flow_controls/run_flow.py +108 -0
- lfx/components/glean/glean_search_api.py +1 -1
- lfx/components/groq/groq.py +35 -28
- lfx/components/helpers/__init__.py +102 -0
- lfx/components/input_output/__init__.py +3 -1
- lfx/components/input_output/chat.py +4 -3
- lfx/components/input_output/chat_output.py +4 -4
- lfx/components/input_output/text.py +1 -1
- lfx/components/input_output/text_output.py +1 -1
- lfx/components/{data → input_output}/webhook.py +1 -1
- lfx/components/knowledge_bases/__init__.py +59 -4
- lfx/components/langchain_utilities/character.py +1 -1
- lfx/components/langchain_utilities/csv_agent.py +84 -16
- lfx/components/langchain_utilities/json_agent.py +67 -12
- lfx/components/langchain_utilities/language_recursive.py +1 -1
- lfx/components/llm_operations/__init__.py +46 -0
- lfx/components/{processing → llm_operations}/batch_run.py +1 -1
- lfx/components/{processing → llm_operations}/lambda_filter.py +1 -1
- lfx/components/{logic → llm_operations}/llm_conditional_router.py +1 -1
- lfx/components/{processing/llm_router.py → llm_operations/llm_selector.py} +3 -3
- lfx/components/{processing → llm_operations}/structured_output.py +1 -1
- lfx/components/logic/__init__.py +126 -0
- lfx/components/mem0/mem0_chat_memory.py +11 -0
- lfx/components/models/__init__.py +64 -9
- lfx/components/models_and_agents/__init__.py +49 -0
- lfx/components/{agents → models_and_agents}/agent.py +2 -2
- lfx/components/models_and_agents/embedding_model.py +423 -0
- lfx/components/models_and_agents/language_model.py +398 -0
- lfx/components/{agents → models_and_agents}/mcp_component.py +53 -44
- lfx/components/{helpers → models_and_agents}/memory.py +1 -1
- lfx/components/nvidia/system_assist.py +1 -1
- lfx/components/olivya/olivya.py +1 -1
- lfx/components/ollama/ollama.py +17 -3
- lfx/components/processing/__init__.py +9 -57
- lfx/components/processing/converter.py +1 -1
- lfx/components/processing/dataframe_operations.py +1 -1
- lfx/components/processing/parse_json_data.py +2 -2
- lfx/components/processing/parser.py +1 -1
- lfx/components/processing/split_text.py +1 -1
- lfx/components/qdrant/qdrant.py +1 -1
- lfx/components/redis/redis.py +1 -1
- lfx/components/twelvelabs/split_video.py +10 -0
- lfx/components/twelvelabs/video_file.py +12 -0
- lfx/components/utilities/__init__.py +43 -0
- lfx/components/{helpers → utilities}/calculator_core.py +1 -1
- lfx/components/{helpers → utilities}/current_date.py +1 -1
- lfx/components/{processing → utilities}/python_repl_core.py +1 -1
- lfx/components/vectorstores/local_db.py +9 -0
- lfx/components/youtube/youtube_transcripts.py +118 -30
- lfx/custom/custom_component/component.py +57 -1
- lfx/custom/custom_component/custom_component.py +68 -6
- lfx/graph/edge/base.py +43 -20
- lfx/graph/graph/base.py +4 -1
- lfx/graph/state/model.py +15 -2
- lfx/graph/utils.py +6 -0
- lfx/graph/vertex/base.py +4 -1
- lfx/graph/vertex/param_handler.py +10 -7
- lfx/helpers/__init__.py +12 -0
- lfx/helpers/flow.py +117 -0
- lfx/inputs/input_mixin.py +24 -1
- lfx/inputs/inputs.py +13 -1
- lfx/interface/components.py +161 -83
- lfx/log/logger.py +5 -3
- lfx/services/database/__init__.py +5 -0
- lfx/services/database/service.py +25 -0
- lfx/services/deps.py +87 -22
- lfx/services/manager.py +19 -6
- lfx/services/mcp_composer/service.py +998 -157
- lfx/services/session.py +5 -0
- lfx/services/settings/base.py +51 -7
- lfx/services/settings/constants.py +8 -0
- lfx/services/storage/local.py +76 -46
- lfx/services/storage/service.py +152 -29
- lfx/template/field/base.py +3 -0
- lfx/utils/ssrf_protection.py +384 -0
- lfx/utils/validate_cloud.py +26 -0
- {lfx_nightly-0.2.0.dev0.dist-info → lfx_nightly-0.2.0.dev26.dist-info}/METADATA +38 -22
- {lfx_nightly-0.2.0.dev0.dist-info → lfx_nightly-0.2.0.dev26.dist-info}/RECORD +182 -150
- {lfx_nightly-0.2.0.dev0.dist-info → lfx_nightly-0.2.0.dev26.dist-info}/WHEEL +1 -1
- lfx/components/agents/altk_agent.py +0 -366
- lfx/components/agents/cuga_agent.py +0 -1013
- lfx/components/docling/docling_remote_vlm.py +0 -284
- lfx/components/logic/run_flow.py +0 -71
- lfx/components/models/embedding_model.py +0 -195
- lfx/components/models/language_model.py +0 -144
- /lfx/components/{data → data_source}/mock_data.py +0 -0
- /lfx/components/{knowledge_bases → files_and_knowledge}/ingestion.py +0 -0
- /lfx/components/{logic → flow_controls}/data_conditional_router.py +0 -0
- /lfx/components/{logic → flow_controls}/flow_tool.py +0 -0
- /lfx/components/{logic → flow_controls}/listen.py +0 -0
- /lfx/components/{logic → flow_controls}/notify.py +0 -0
- /lfx/components/{logic → flow_controls}/pass_message.py +0 -0
- /lfx/components/{logic → flow_controls}/sub_flow.py +0 -0
- /lfx/components/{processing → models_and_agents}/prompt.py +0 -0
- /lfx/components/{helpers → processing}/create_list.py +0 -0
- /lfx/components/{helpers → processing}/output_parser.py +0 -0
- /lfx/components/{helpers → processing}/store_message.py +0 -0
- /lfx/components/{helpers → utilities}/id_generator.py +0 -0
- {lfx_nightly-0.2.0.dev0.dist-info → lfx_nightly-0.2.0.dev26.dist-info}/entry_points.txt +0 -0
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
from langchain_anthropic import ChatAnthropic
|
|
4
|
-
from langchain_openai import ChatOpenAI
|
|
5
|
-
|
|
6
|
-
from lfx.base.models.anthropic_constants import ANTHROPIC_MODELS
|
|
7
|
-
from lfx.base.models.google_generative_ai_constants import GOOGLE_GENERATIVE_AI_MODELS
|
|
8
|
-
from lfx.base.models.google_generative_ai_model import ChatGoogleGenerativeAIFixed
|
|
9
|
-
from lfx.base.models.model import LCModelComponent
|
|
10
|
-
from lfx.base.models.openai_constants import OPENAI_CHAT_MODEL_NAMES, OPENAI_REASONING_MODEL_NAMES
|
|
11
|
-
from lfx.field_typing import LanguageModel
|
|
12
|
-
from lfx.field_typing.range_spec import RangeSpec
|
|
13
|
-
from lfx.inputs.inputs import BoolInput
|
|
14
|
-
from lfx.io import DropdownInput, MessageInput, MultilineInput, SecretStrInput, SliderInput
|
|
15
|
-
from lfx.schema.dotdict import dotdict
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class LanguageModelComponent(LCModelComponent):
|
|
19
|
-
display_name = "Language Model"
|
|
20
|
-
description = "Runs a language model given a specified provider."
|
|
21
|
-
documentation: str = "https://docs.langflow.org/components-models"
|
|
22
|
-
icon = "brain-circuit"
|
|
23
|
-
category = "models"
|
|
24
|
-
priority = 0 # Set priority to 0 to make it appear first
|
|
25
|
-
|
|
26
|
-
inputs = [
|
|
27
|
-
DropdownInput(
|
|
28
|
-
name="provider",
|
|
29
|
-
display_name="Model Provider",
|
|
30
|
-
options=["OpenAI", "Anthropic", "Google"],
|
|
31
|
-
value="OpenAI",
|
|
32
|
-
info="Select the model provider",
|
|
33
|
-
real_time_refresh=True,
|
|
34
|
-
options_metadata=[{"icon": "OpenAI"}, {"icon": "Anthropic"}, {"icon": "GoogleGenerativeAI"}],
|
|
35
|
-
),
|
|
36
|
-
DropdownInput(
|
|
37
|
-
name="model_name",
|
|
38
|
-
display_name="Model Name",
|
|
39
|
-
options=OPENAI_CHAT_MODEL_NAMES + OPENAI_REASONING_MODEL_NAMES,
|
|
40
|
-
value=OPENAI_CHAT_MODEL_NAMES[0],
|
|
41
|
-
info="Select the model to use",
|
|
42
|
-
real_time_refresh=True,
|
|
43
|
-
),
|
|
44
|
-
SecretStrInput(
|
|
45
|
-
name="api_key",
|
|
46
|
-
display_name="OpenAI API Key",
|
|
47
|
-
info="Model Provider API key",
|
|
48
|
-
required=False,
|
|
49
|
-
show=True,
|
|
50
|
-
real_time_refresh=True,
|
|
51
|
-
),
|
|
52
|
-
MessageInput(
|
|
53
|
-
name="input_value",
|
|
54
|
-
display_name="Input",
|
|
55
|
-
info="The input text to send to the model",
|
|
56
|
-
),
|
|
57
|
-
MultilineInput(
|
|
58
|
-
name="system_message",
|
|
59
|
-
display_name="System Message",
|
|
60
|
-
info="A system message that helps set the behavior of the assistant",
|
|
61
|
-
advanced=False,
|
|
62
|
-
),
|
|
63
|
-
BoolInput(
|
|
64
|
-
name="stream",
|
|
65
|
-
display_name="Stream",
|
|
66
|
-
info="Whether to stream the response",
|
|
67
|
-
value=False,
|
|
68
|
-
advanced=True,
|
|
69
|
-
),
|
|
70
|
-
SliderInput(
|
|
71
|
-
name="temperature",
|
|
72
|
-
display_name="Temperature",
|
|
73
|
-
value=0.1,
|
|
74
|
-
info="Controls randomness in responses",
|
|
75
|
-
range_spec=RangeSpec(min=0, max=1, step=0.01),
|
|
76
|
-
advanced=True,
|
|
77
|
-
),
|
|
78
|
-
]
|
|
79
|
-
|
|
80
|
-
def build_model(self) -> LanguageModel:
|
|
81
|
-
provider = self.provider
|
|
82
|
-
model_name = self.model_name
|
|
83
|
-
temperature = self.temperature
|
|
84
|
-
stream = self.stream
|
|
85
|
-
|
|
86
|
-
if provider == "OpenAI":
|
|
87
|
-
if not self.api_key:
|
|
88
|
-
msg = "OpenAI API key is required when using OpenAI provider"
|
|
89
|
-
raise ValueError(msg)
|
|
90
|
-
|
|
91
|
-
if model_name in OPENAI_REASONING_MODEL_NAMES:
|
|
92
|
-
# reasoning models do not support temperature (yet)
|
|
93
|
-
temperature = None
|
|
94
|
-
|
|
95
|
-
return ChatOpenAI(
|
|
96
|
-
model_name=model_name,
|
|
97
|
-
temperature=temperature,
|
|
98
|
-
streaming=stream,
|
|
99
|
-
openai_api_key=self.api_key,
|
|
100
|
-
)
|
|
101
|
-
if provider == "Anthropic":
|
|
102
|
-
if not self.api_key:
|
|
103
|
-
msg = "Anthropic API key is required when using Anthropic provider"
|
|
104
|
-
raise ValueError(msg)
|
|
105
|
-
return ChatAnthropic(
|
|
106
|
-
model=model_name,
|
|
107
|
-
temperature=temperature,
|
|
108
|
-
streaming=stream,
|
|
109
|
-
anthropic_api_key=self.api_key,
|
|
110
|
-
)
|
|
111
|
-
if provider == "Google":
|
|
112
|
-
if not self.api_key:
|
|
113
|
-
msg = "Google API key is required when using Google provider"
|
|
114
|
-
raise ValueError(msg)
|
|
115
|
-
return ChatGoogleGenerativeAIFixed(
|
|
116
|
-
model=model_name,
|
|
117
|
-
temperature=temperature,
|
|
118
|
-
streaming=stream,
|
|
119
|
-
google_api_key=self.api_key,
|
|
120
|
-
)
|
|
121
|
-
msg = f"Unknown provider: {provider}"
|
|
122
|
-
raise ValueError(msg)
|
|
123
|
-
|
|
124
|
-
def update_build_config(self, build_config: dotdict, field_value: Any, field_name: str | None = None) -> dotdict:
|
|
125
|
-
if field_name == "provider":
|
|
126
|
-
if field_value == "OpenAI":
|
|
127
|
-
build_config["model_name"]["options"] = OPENAI_CHAT_MODEL_NAMES + OPENAI_REASONING_MODEL_NAMES
|
|
128
|
-
build_config["model_name"]["value"] = OPENAI_CHAT_MODEL_NAMES[0]
|
|
129
|
-
build_config["api_key"]["display_name"] = "OpenAI API Key"
|
|
130
|
-
elif field_value == "Anthropic":
|
|
131
|
-
build_config["model_name"]["options"] = ANTHROPIC_MODELS
|
|
132
|
-
build_config["model_name"]["value"] = ANTHROPIC_MODELS[0]
|
|
133
|
-
build_config["api_key"]["display_name"] = "Anthropic API Key"
|
|
134
|
-
elif field_value == "Google":
|
|
135
|
-
build_config["model_name"]["options"] = GOOGLE_GENERATIVE_AI_MODELS
|
|
136
|
-
build_config["model_name"]["value"] = GOOGLE_GENERATIVE_AI_MODELS[0]
|
|
137
|
-
build_config["api_key"]["display_name"] = "Google API Key"
|
|
138
|
-
elif field_name == "model_name" and field_value.startswith("o1") and self.provider == "OpenAI":
|
|
139
|
-
# Hide system_message for o1 models - currently unsupported
|
|
140
|
-
if "system_message" in build_config:
|
|
141
|
-
build_config["system_message"]["show"] = False
|
|
142
|
-
elif field_name == "model_name" and not field_value.startswith("o1") and "system_message" in build_config:
|
|
143
|
-
build_config["system_message"]["show"] = True
|
|
144
|
-
return build_config
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|