lfx-nightly 0.1.12.dev31__py3-none-any.whl → 0.1.12.dev33__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.
Potentially problematic release.
This version of lfx-nightly might be problematic. Click here for more details.
- lfx/base/data/base_file.py +1 -0
- lfx/components/amazon/amazon_bedrock_model.py +1 -1
- lfx/components/data/file.py +46 -56
- lfx/components/data/save_file.py +1 -0
- lfx/components/ollama/ollama.py +26 -9
- lfx/inputs/inputs.py +1 -1
- lfx/utils/util.py +7 -6
- {lfx_nightly-0.1.12.dev31.dist-info → lfx_nightly-0.1.12.dev33.dist-info}/METADATA +1 -1
- {lfx_nightly-0.1.12.dev31.dist-info → lfx_nightly-0.1.12.dev33.dist-info}/RECORD +11 -11
- {lfx_nightly-0.1.12.dev31.dist-info → lfx_nightly-0.1.12.dev33.dist-info}/WHEEL +0 -0
- {lfx_nightly-0.1.12.dev31.dist-info → lfx_nightly-0.1.12.dev33.dist-info}/entry_points.txt +0 -0
lfx/base/data/base_file.py
CHANGED
|
@@ -15,7 +15,7 @@ class AmazonBedrockComponent(LCModelComponent):
|
|
|
15
15
|
icon = "Amazon"
|
|
16
16
|
name = "AmazonBedrockModel"
|
|
17
17
|
legacy = True
|
|
18
|
-
replacement = "amazon.
|
|
18
|
+
replacement = "amazon.AmazonBedrockConverseModel"
|
|
19
19
|
|
|
20
20
|
inputs = [
|
|
21
21
|
*LCModelComponent.get_base_inputs(),
|
lfx/components/data/file.py
CHANGED
|
@@ -21,8 +21,8 @@ from lfx.base.data.base_file import BaseFileComponent
|
|
|
21
21
|
from lfx.base.data.utils import TEXT_FILE_TYPES, parallel_load_data, parse_text_file_to_data
|
|
22
22
|
from lfx.inputs.inputs import DropdownInput, MessageTextInput, StrInput
|
|
23
23
|
from lfx.io import BoolInput, FileInput, IntInput, Output
|
|
24
|
-
from lfx.schema import DataFrame # noqa: TC001
|
|
25
24
|
from lfx.schema.data import Data
|
|
25
|
+
from lfx.schema.dataframe import DataFrame # noqa: TC001
|
|
26
26
|
from lfx.schema.message import Message
|
|
27
27
|
|
|
28
28
|
|
|
@@ -45,6 +45,7 @@ class FileComponent(BaseFileComponent):
|
|
|
45
45
|
"dotx",
|
|
46
46
|
"dotm",
|
|
47
47
|
"docm",
|
|
48
|
+
"jpg",
|
|
48
49
|
"jpeg",
|
|
49
50
|
"png",
|
|
50
51
|
"potx",
|
|
@@ -80,10 +81,9 @@ class FileComponent(BaseFileComponent):
|
|
|
80
81
|
real_time_refresh=True,
|
|
81
82
|
info=(
|
|
82
83
|
"Enable advanced document processing and export with Docling for PDFs, images, and office documents. "
|
|
83
|
-
"Available only for single file processing."
|
|
84
84
|
"Note that advanced document processing can consume significant resources."
|
|
85
85
|
),
|
|
86
|
-
show=
|
|
86
|
+
show=True,
|
|
87
87
|
),
|
|
88
88
|
DropdownInput(
|
|
89
89
|
name="pipeline",
|
|
@@ -170,11 +170,9 @@ class FileComponent(BaseFileComponent):
|
|
|
170
170
|
"""Show/hide Advanced Parser and related fields based on selection context."""
|
|
171
171
|
if field_name == "path":
|
|
172
172
|
paths = self._path_value(build_config)
|
|
173
|
-
file_path = paths[0] if paths else ""
|
|
174
|
-
file_count = len(field_value) if field_value else 0
|
|
175
173
|
|
|
176
|
-
#
|
|
177
|
-
allow_advanced =
|
|
174
|
+
# If all files can be processed by docling, do so
|
|
175
|
+
allow_advanced = all(not file_path.endswith((".csv", ".xlsx", ".parquet")) for file_path in paths)
|
|
178
176
|
build_config["advanced_mode"]["show"] = allow_advanced
|
|
179
177
|
if not allow_advanced:
|
|
180
178
|
build_config["advanced_mode"]["value"] = False
|
|
@@ -187,6 +185,8 @@ class FileComponent(BaseFileComponent):
|
|
|
187
185
|
for f in ("pipeline", "ocr_engine", "doc_key", "md_image_placeholder", "md_page_break_placeholder"):
|
|
188
186
|
if f in build_config:
|
|
189
187
|
build_config[f]["show"] = bool(field_value)
|
|
188
|
+
if f == "pipeline":
|
|
189
|
+
build_config[f]["advanced"] = not bool(field_value)
|
|
190
190
|
|
|
191
191
|
elif field_name == "pipeline":
|
|
192
192
|
if field_value == "standard":
|
|
@@ -260,6 +260,7 @@ class FileComponent(BaseFileComponent):
|
|
|
260
260
|
".docx",
|
|
261
261
|
".htm",
|
|
262
262
|
".html",
|
|
263
|
+
".jpg",
|
|
263
264
|
".jpeg",
|
|
264
265
|
".json",
|
|
265
266
|
".md",
|
|
@@ -311,45 +312,13 @@ class FileComponent(BaseFileComponent):
|
|
|
311
312
|
import json, sys
|
|
312
313
|
|
|
313
314
|
def try_imports():
|
|
314
|
-
# Strategy 1: latest layout
|
|
315
315
|
try:
|
|
316
316
|
from docling.datamodel.base_models import ConversionStatus, InputFormat # type: ignore
|
|
317
317
|
from docling.document_converter import DocumentConverter # type: ignore
|
|
318
318
|
from docling_core.types.doc import ImageRefMode # type: ignore
|
|
319
319
|
return ConversionStatus, InputFormat, DocumentConverter, ImageRefMode, "latest"
|
|
320
|
-
except Exception:
|
|
321
|
-
pass
|
|
322
|
-
# Strategy 2: alternative layout
|
|
323
|
-
try:
|
|
324
|
-
from docling.document_converter import DocumentConverter # type: ignore
|
|
325
|
-
try:
|
|
326
|
-
from docling_core.types import ConversionStatus, InputFormat # type: ignore
|
|
327
|
-
except Exception:
|
|
328
|
-
try:
|
|
329
|
-
from docling.datamodel import ConversionStatus, InputFormat # type: ignore
|
|
330
|
-
except Exception:
|
|
331
|
-
class ConversionStatus: SUCCESS = "success"
|
|
332
|
-
class InputFormat:
|
|
333
|
-
PDF="pdf"; IMAGE="image"
|
|
334
|
-
try:
|
|
335
|
-
from docling_core.types.doc import ImageRefMode # type: ignore
|
|
336
|
-
except Exception:
|
|
337
|
-
class ImageRefMode:
|
|
338
|
-
PLACEHOLDER="placeholder"; EMBEDDED="embedded"
|
|
339
|
-
return ConversionStatus, InputFormat, DocumentConverter, ImageRefMode, "alternative"
|
|
340
|
-
except Exception:
|
|
341
|
-
pass
|
|
342
|
-
# Strategy 3: basic converter only
|
|
343
|
-
try:
|
|
344
|
-
from docling.document_converter import DocumentConverter # type: ignore
|
|
345
|
-
class ConversionStatus: SUCCESS = "success"
|
|
346
|
-
class InputFormat:
|
|
347
|
-
PDF="pdf"; IMAGE="image"
|
|
348
|
-
class ImageRefMode:
|
|
349
|
-
PLACEHOLDER="placeholder"; EMBEDDED="embedded"
|
|
350
|
-
return ConversionStatus, InputFormat, DocumentConverter, ImageRefMode, "basic"
|
|
351
320
|
except Exception as e:
|
|
352
|
-
raise
|
|
321
|
+
raise e
|
|
353
322
|
|
|
354
323
|
def create_converter(strategy, input_format, DocumentConverter, pipeline, ocr_engine):
|
|
355
324
|
# --- Standard PDF/IMAGE pipeline (your existing behavior), with optional OCR ---
|
|
@@ -384,21 +353,38 @@ class FileComponent(BaseFileComponent):
|
|
|
384
353
|
# --- Vision-Language Model (VLM) pipeline ---
|
|
385
354
|
if pipeline == "vlm":
|
|
386
355
|
try:
|
|
356
|
+
from docling.datamodel.pipeline_options import VlmPipelineOptions
|
|
357
|
+
from docling.datamodel.vlm_model_specs import GRANITEDOCLING_MLX, GRANITEDOCLING_TRANSFORMERS
|
|
358
|
+
from docling.document_converter import PdfFormatOption
|
|
387
359
|
from docling.pipeline.vlm_pipeline import VlmPipeline
|
|
388
|
-
from docling.document_converter import PdfFormatOption # type: ignore
|
|
389
360
|
|
|
390
|
-
vl_pipe = VlmPipelineOptions(
|
|
361
|
+
vl_pipe = VlmPipelineOptions(
|
|
362
|
+
vlm_options=GRANITEDOCLING_TRANSFORMERS,
|
|
363
|
+
)
|
|
364
|
+
|
|
365
|
+
if sys.platform == "darwin":
|
|
366
|
+
try:
|
|
367
|
+
import mlx_vlm
|
|
368
|
+
vl_pipe.vlm_options = GRANITEDOCLING_MLX
|
|
369
|
+
except ImportError as e:
|
|
370
|
+
raise e
|
|
391
371
|
|
|
392
372
|
# VLM paths generally don't need OCR; keep OCR off by default here.
|
|
393
373
|
fmt = {}
|
|
394
374
|
if hasattr(input_format, "PDF"):
|
|
395
|
-
fmt[getattr(input_format, "PDF")] = PdfFormatOption(
|
|
375
|
+
fmt[getattr(input_format, "PDF")] = PdfFormatOption(
|
|
376
|
+
pipeline_cls=VlmPipeline,
|
|
377
|
+
pipeline_options=vl_pipe
|
|
378
|
+
)
|
|
396
379
|
if hasattr(input_format, "IMAGE"):
|
|
397
|
-
fmt[getattr(input_format, "IMAGE")] = PdfFormatOption(
|
|
380
|
+
fmt[getattr(input_format, "IMAGE")] = PdfFormatOption(
|
|
381
|
+
pipeline_cls=VlmPipeline,
|
|
382
|
+
pipeline_options=vl_pipe
|
|
383
|
+
)
|
|
398
384
|
|
|
399
385
|
return DocumentConverter(format_options=fmt)
|
|
400
|
-
except Exception:
|
|
401
|
-
|
|
386
|
+
except Exception as e:
|
|
387
|
+
raise e
|
|
402
388
|
|
|
403
389
|
# --- Fallback: default converter with no special options ---
|
|
404
390
|
return DocumentConverter()
|
|
@@ -540,7 +526,7 @@ class FileComponent(BaseFileComponent):
|
|
|
540
526
|
) -> list[BaseFileComponent.BaseFile]:
|
|
541
527
|
"""Process input files.
|
|
542
528
|
|
|
543
|
-
-
|
|
529
|
+
- advanced_mode => Docling in a separate process.
|
|
544
530
|
- Otherwise => standard parsing in current process (optionally threaded).
|
|
545
531
|
"""
|
|
546
532
|
if not file_list:
|
|
@@ -561,10 +547,13 @@ class FileComponent(BaseFileComponent):
|
|
|
561
547
|
raise
|
|
562
548
|
return None
|
|
563
549
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
550
|
+
docling_compatible = all(self._is_docling_compatible(str(f.path)) for f in file_list)
|
|
551
|
+
|
|
552
|
+
# Advanced path: Check if ALL files are compatible with Docling
|
|
553
|
+
if self.advanced_mode and docling_compatible:
|
|
554
|
+
final_return: list[BaseFileComponent.BaseFile] = []
|
|
555
|
+
for file in file_list:
|
|
556
|
+
file_path = str(file.path)
|
|
568
557
|
advanced_data: Data | None = self._process_docling_in_subprocess(file_path)
|
|
569
558
|
|
|
570
559
|
# --- UNNEST: expand each element in `doc` to its own Data row
|
|
@@ -580,10 +569,11 @@ class FileComponent(BaseFileComponent):
|
|
|
580
569
|
)
|
|
581
570
|
for item in doc_rows
|
|
582
571
|
]
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
572
|
+
final_return.extend(self.rollup_data(file_list, rows))
|
|
573
|
+
else:
|
|
574
|
+
# If not structured, keep as-is (e.g., markdown export or error dict)
|
|
575
|
+
final_return.extend(self.rollup_data(file_list, [advanced_data]))
|
|
576
|
+
return final_return
|
|
587
577
|
|
|
588
578
|
# Standard multi-file (or single non-advanced) path
|
|
589
579
|
concurrency = 1 if not self.use_multithreading else max(1, self.concurrency_multithreading)
|
|
@@ -606,7 +596,7 @@ class FileComponent(BaseFileComponent):
|
|
|
606
596
|
if not hasattr(result, "text"):
|
|
607
597
|
if hasattr(result, "error"):
|
|
608
598
|
raise ValueError(result.error[0])
|
|
609
|
-
msg = "
|
|
599
|
+
msg = "Could not extract content from the provided file(s)."
|
|
610
600
|
raise ValueError(msg)
|
|
611
601
|
|
|
612
602
|
return result
|
lfx/components/data/save_file.py
CHANGED
lfx/components/ollama/ollama.py
CHANGED
|
@@ -32,8 +32,8 @@ class ChatOllamaComponent(LCModelComponent):
|
|
|
32
32
|
MessageTextInput(
|
|
33
33
|
name="base_url",
|
|
34
34
|
display_name="Base URL",
|
|
35
|
-
info="Endpoint of the Ollama API.",
|
|
36
|
-
value="",
|
|
35
|
+
info="Endpoint of the Ollama API. Defaults to http://localhost:11434 .",
|
|
36
|
+
value="http://localhost:11434",
|
|
37
37
|
real_time_refresh=True,
|
|
38
38
|
),
|
|
39
39
|
DropdownInput(
|
|
@@ -157,6 +157,18 @@ class ChatOllamaComponent(LCModelComponent):
|
|
|
157
157
|
mirostat_tau = self.mirostat_tau
|
|
158
158
|
|
|
159
159
|
transformed_base_url = transform_localhost_url(self.base_url)
|
|
160
|
+
|
|
161
|
+
# Check if URL contains /v1 suffix (OpenAI-compatible mode)
|
|
162
|
+
if transformed_base_url and transformed_base_url.rstrip("/").endswith("/v1"):
|
|
163
|
+
# Strip /v1 suffix and log warning
|
|
164
|
+
transformed_base_url = transformed_base_url.rstrip("/").removesuffix("/v1")
|
|
165
|
+
logger.warning(
|
|
166
|
+
"Detected '/v1' suffix in base URL. The Ollama component uses the native Ollama API, "
|
|
167
|
+
"not the OpenAI-compatible API. The '/v1' suffix has been automatically removed. "
|
|
168
|
+
"If you want to use the OpenAI-compatible API, please use the OpenAI component instead. "
|
|
169
|
+
"Learn more at https://docs.ollama.com/openai#openai-compatibility"
|
|
170
|
+
)
|
|
171
|
+
|
|
160
172
|
# Mapping system settings to their corresponding values
|
|
161
173
|
llm_params = {
|
|
162
174
|
"base_url": transformed_base_url,
|
|
@@ -190,8 +202,8 @@ class ChatOllamaComponent(LCModelComponent):
|
|
|
190
202
|
output = ChatOllama(**llm_params)
|
|
191
203
|
except Exception as e:
|
|
192
204
|
msg = (
|
|
193
|
-
"Unable to connect to the Ollama API. "
|
|
194
|
-
"Please verify the base URL, ensure the relevant Ollama model is pulled, and try again."
|
|
205
|
+
"Unable to connect to the Ollama API. "
|
|
206
|
+
"Please verify the base URL, ensure the relevant Ollama model is pulled, and try again."
|
|
195
207
|
)
|
|
196
208
|
raise ValueError(msg) from e
|
|
197
209
|
|
|
@@ -201,6 +213,12 @@ class ChatOllamaComponent(LCModelComponent):
|
|
|
201
213
|
try:
|
|
202
214
|
async with httpx.AsyncClient() as client:
|
|
203
215
|
url = transform_localhost_url(url)
|
|
216
|
+
if not url:
|
|
217
|
+
return False
|
|
218
|
+
# Strip /v1 suffix if present, as Ollama API endpoints are at root level
|
|
219
|
+
url = url.rstrip("/").removesuffix("/v1")
|
|
220
|
+
if not url.endswith("/"):
|
|
221
|
+
url = url + "/"
|
|
204
222
|
return (await client.get(urljoin(url, "api/tags"))).status_code == HTTP_STATUS_OK
|
|
205
223
|
except httpx.RequestError:
|
|
206
224
|
return False
|
|
@@ -224,9 +242,6 @@ class ChatOllamaComponent(LCModelComponent):
|
|
|
224
242
|
build_config["mirostat_eta"]["value"] = 0.1
|
|
225
243
|
build_config["mirostat_tau"]["value"] = 5
|
|
226
244
|
|
|
227
|
-
if field_name in {"base_url", "model_name"} and not await self.is_valid_ollama_url(self.base_url):
|
|
228
|
-
msg = "Ollama is not running on the provided base URL. Please start Ollama and try again."
|
|
229
|
-
raise ValueError(msg)
|
|
230
245
|
if field_name in {"model_name", "base_url", "tool_model_enabled"}:
|
|
231
246
|
if await self.is_valid_ollama_url(self.base_url):
|
|
232
247
|
tool_model_enabled = build_config["tool_model_enabled"].get("value", False) or self.tool_model_enabled
|
|
@@ -264,8 +279,10 @@ class ChatOllamaComponent(LCModelComponent):
|
|
|
264
279
|
names cannot be retrieved.
|
|
265
280
|
"""
|
|
266
281
|
try:
|
|
267
|
-
#
|
|
268
|
-
base_url = base_url_value.rstrip("/")
|
|
282
|
+
# Strip /v1 suffix if present, as Ollama API endpoints are at root level
|
|
283
|
+
base_url = base_url_value.rstrip("/").removesuffix("/v1")
|
|
284
|
+
if not base_url.endswith("/"):
|
|
285
|
+
base_url = base_url + "/"
|
|
269
286
|
base_url = transform_localhost_url(base_url)
|
|
270
287
|
|
|
271
288
|
# Ollama REST API to return models
|
lfx/inputs/inputs.py
CHANGED
|
@@ -617,7 +617,7 @@ class MultiselectInput(BaseInputMixin, ListableInputMixin, DropDownMixin, Metada
|
|
|
617
617
|
return v
|
|
618
618
|
|
|
619
619
|
|
|
620
|
-
class FileInput(BaseInputMixin, ListableInputMixin, FileMixin, MetadataTraceMixin):
|
|
620
|
+
class FileInput(BaseInputMixin, ListableInputMixin, FileMixin, MetadataTraceMixin, ToolModeMixin):
|
|
621
621
|
"""Represents a file field.
|
|
622
622
|
|
|
623
623
|
This class represents a file input and provides functionality for handling file values.
|
lfx/utils/util.py
CHANGED
|
@@ -4,6 +4,8 @@ import inspect
|
|
|
4
4
|
import json
|
|
5
5
|
import os
|
|
6
6
|
import re
|
|
7
|
+
import socket
|
|
8
|
+
import struct
|
|
7
9
|
from functools import wraps
|
|
8
10
|
from pathlib import Path
|
|
9
11
|
from typing import Any
|
|
@@ -55,8 +57,6 @@ def get_container_host() -> str | None:
|
|
|
55
57
|
Returns:
|
|
56
58
|
The hostname or IP to use, or None if not in a container.
|
|
57
59
|
"""
|
|
58
|
-
import socket
|
|
59
|
-
|
|
60
60
|
# Check if we're in a container first
|
|
61
61
|
container_type = detect_container_environment()
|
|
62
62
|
if not container_type:
|
|
@@ -99,16 +99,17 @@ def get_container_host() -> str | None:
|
|
|
99
99
|
# Fallback: try to get gateway IP from routing table (Linux containers)
|
|
100
100
|
try:
|
|
101
101
|
with Path("/proc/net/route").open() as f:
|
|
102
|
+
# Skip header
|
|
103
|
+
next(f)
|
|
102
104
|
for line in f:
|
|
103
105
|
fields = line.strip().split()
|
|
104
106
|
min_field_count = 3 # Minimum fields needed: interface, destination, gateway
|
|
105
107
|
if len(fields) >= min_field_count and fields[1] == "00000000": # Default route
|
|
106
108
|
# Gateway is in hex format (little-endian)
|
|
107
109
|
gateway_hex = fields[2]
|
|
108
|
-
# Convert hex to
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
return ".".join(str(int(octet, 16)) for octet in reversed(octets))
|
|
110
|
+
# Convert little-endian hex to dotted IPv4
|
|
111
|
+
gw_int = int(gateway_hex, 16)
|
|
112
|
+
return socket.inet_ntoa(struct.pack("<L", gw_int))
|
|
112
113
|
except (FileNotFoundError, PermissionError, IndexError, ValueError):
|
|
113
114
|
pass
|
|
114
115
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lfx-nightly
|
|
3
|
-
Version: 0.1.12.
|
|
3
|
+
Version: 0.1.12.dev33
|
|
4
4
|
Summary: Langflow Executor - A lightweight CLI tool for executing and serving Langflow AI flows
|
|
5
5
|
Author-email: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
|
|
6
6
|
Requires-Python: <3.14,>=3.10
|
|
@@ -28,7 +28,7 @@ lfx/base/compressors/model.py,sha256=-FFBAPAy9bAgvklIo7x_uwShZR5NoMHakF6f_hNnLHg
|
|
|
28
28
|
lfx/base/curl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
29
|
lfx/base/curl/parse.py,sha256=Yw6mMbGg7e-ffrBItEUJeTiljneCXlNyt5afzEP9eUI,6094
|
|
30
30
|
lfx/base/data/__init__.py,sha256=lQsYYMyAg_jA9ZF7oc-LNZsRE2uMGT6g16WzsUByHqs,81
|
|
31
|
-
lfx/base/data/base_file.py,sha256=
|
|
31
|
+
lfx/base/data/base_file.py,sha256=ZYAEThTcRI7Oy4aEZPMYCC0UDljXQSDVypdPRpDJEAs,27599
|
|
32
32
|
lfx/base/data/docling_utils.py,sha256=gVDxOZghSJEo5n-UNkVGBQYqkvfNqkNkltBhAnoaJd4,13048
|
|
33
33
|
lfx/base/data/utils.py,sha256=dGqEO4zE5s_V2Cs4j0EEeyLjYLX6Zex-EGzIOznK76o,5960
|
|
34
34
|
lfx/base/document_transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -118,7 +118,7 @@ lfx/components/aiml/aiml_embeddings.py,sha256=2uNwORuj55mxn2SfLbh7oAIfjuXwHbsnOq
|
|
|
118
118
|
lfx/components/amazon/__init__.py,sha256=QRsw-7ytuqZWhNPmlslCQEcpNsAw6dX5FV_8ihUdlPQ,1338
|
|
119
119
|
lfx/components/amazon/amazon_bedrock_converse.py,sha256=WPo_5Wsj-pyltXcBOp6xPmtwVzRcJ5JOz5W013Ev9EE,8190
|
|
120
120
|
lfx/components/amazon/amazon_bedrock_embedding.py,sha256=cNA5_3nwkegWS3BY75IfjOwpo-g8dpg-EgtQJSgVXfg,4261
|
|
121
|
-
lfx/components/amazon/amazon_bedrock_model.py,sha256=
|
|
121
|
+
lfx/components/amazon/amazon_bedrock_model.py,sha256=kiCTqDG2Krbe0i5YBG9UODxwNTB9ePZwLfgNMR91UwQ,5113
|
|
122
122
|
lfx/components/amazon/s3_bucket_uploader.py,sha256=bkui2vw8ibgg4dSUYZ7yAEbVOjgmB8oOYqH-3ZvTlBQ,7688
|
|
123
123
|
lfx/components/anthropic/__init__.py,sha256=SGllKMRoX3KQkDpdzsLUYqbfTbhFu9qjpM6bQHL2syQ,965
|
|
124
124
|
lfx/components/anthropic/anthropic.py,sha256=fIlMWma6rsfQ499vkkLSWFZqwKn5ifvhFQnC_quHkEw,7289
|
|
@@ -205,12 +205,12 @@ lfx/components/data/__init__.py,sha256=6e9qEWQ639owIAtZLF01mW2hVMDbg9-Rp6IWpgypz
|
|
|
205
205
|
lfx/components/data/api_request.py,sha256=gKVtJhEzh1PdawZqQtxBwi0vU3kQ_f25jCd2tj-EeU0,20211
|
|
206
206
|
lfx/components/data/csv_to_data.py,sha256=NsNe8rZdkqscnWPynbbd3-svrRj3EEWNaJszjW9b1_k,3345
|
|
207
207
|
lfx/components/data/directory.py,sha256=iqINxxy5w60l753zraB-EDpYny8FR6vaa-AgVkdYsLk,3936
|
|
208
|
-
lfx/components/data/file.py,sha256=
|
|
208
|
+
lfx/components/data/file.py,sha256=havBCUEwMrv-AjSntOMMB8pQnbq0k6V9VMFVz-Kfors,25307
|
|
209
209
|
lfx/components/data/json_to_data.py,sha256=p6MPyUgDvY9aKTL2_2cUGmkeK7baS-G9rkCvzHAnhw8,3571
|
|
210
210
|
lfx/components/data/mock_data.py,sha256=0h3OezKb8P5x6XWGzZJ8JmqmB9eK-bhpfLm0GO21MNY,16039
|
|
211
211
|
lfx/components/data/news_search.py,sha256=rN721OzeLaKessjCsTj_GD4MAzpNJRhOrhFpX00rAqU,6234
|
|
212
212
|
lfx/components/data/rss.py,sha256=J98zRNGbAh-CIdGydYBaI1JhKDoMPDhLily01LZPhGI,2540
|
|
213
|
-
lfx/components/data/save_file.py,sha256=
|
|
213
|
+
lfx/components/data/save_file.py,sha256=3yoGA_6PBTLOhzb7aqJzvdUqAUSwIZi2ja3gLTYo5Nc,25218
|
|
214
214
|
lfx/components/data/sql_executor.py,sha256=sN1lWM65O_pCfZxNAzgjtZmcTPGBLqMud2_7nFv-kpM,3726
|
|
215
215
|
lfx/components/data/url.py,sha256=zbfTeTBukw3F_mRBMIJrQYF94psEIBuS8dFjcQku5SE,11001
|
|
216
216
|
lfx/components/data/web_search.py,sha256=48SCp-2I_Qckp5tmTVC9JBw2C-MhBDF14MJLaGjLpyQ,12758
|
|
@@ -408,7 +408,7 @@ lfx/components/nvidia/system_assist.py,sha256=G8cgsLQxRBBnUt49_Uzxt7cdTNplVAzUlD
|
|
|
408
408
|
lfx/components/olivya/__init__.py,sha256=ilZR88huL3vnQHO27g4jsUkyIYSgN7RPOq8Corbi6xA,67
|
|
409
409
|
lfx/components/olivya/olivya.py,sha256=PDmsn8dBdSwAZUM2QGTyTwxGWsINCKaYR4yTjE-4lIQ,4192
|
|
410
410
|
lfx/components/ollama/__init__.py,sha256=fau8QcWs_eHO2MmtQ4coiKj9CzFA9X4hqFf541ekgXk,1068
|
|
411
|
-
lfx/components/ollama/ollama.py,sha256=
|
|
411
|
+
lfx/components/ollama/ollama.py,sha256=KSaBAdgyh1xmkIvVcBHRVwFwzBtR7wPkH4j3dlJnPC4,13946
|
|
412
412
|
lfx/components/ollama/ollama_embeddings.py,sha256=nvg-JQvue6j7tcrbbPeq1U_-LUj1MKawWbXxnnvJlWM,3976
|
|
413
413
|
lfx/components/openai/__init__.py,sha256=G4Fgw4pmmDohdIOmzaeSCGijzKjyqFXNJPLwlcUDZ3w,1113
|
|
414
414
|
lfx/components/openai/openai.py,sha256=imWO1tTJ0tTLqax1v5bNBPCRINTj2f2wN8j5G-a07GI,4505
|
|
@@ -609,7 +609,7 @@ lfx/helpers/flow.py,sha256=F_2sFOZaylgAvzp4zr-8JYFtI0S4FRZeONvAGmw3SwQ,5769
|
|
|
609
609
|
lfx/inputs/__init__.py,sha256=NeCBGqtJN7KGPpMmt6c4-840X9uafzYZGwXzkJ4bGqw,1213
|
|
610
610
|
lfx/inputs/constants.py,sha256=vG60oUv1xy5vrnZtU65jBCzb6oaOuiRDq1ucl_9bz70,47
|
|
611
611
|
lfx/inputs/input_mixin.py,sha256=r23bPxWb1Fo81kFU02a2KUGfPLNUhE6K9q1Zw4LH4Qw,10836
|
|
612
|
-
lfx/inputs/inputs.py,sha256=
|
|
612
|
+
lfx/inputs/inputs.py,sha256=y-SwcZhlEuVgLsOa2_x7wraUCaoZ3EV7_jrON9yuqPw,26220
|
|
613
613
|
lfx/inputs/validators.py,sha256=i_PyQHQUmNpeS-_jRJNNsP3WlTPMkCJk2iFmFt3_ijw,505
|
|
614
614
|
lfx/interface/__init__.py,sha256=hlivcb8kMhU_V8VeXClNfz5fRyF-u5PZZMXkgu0U5a0,211
|
|
615
615
|
lfx/interface/components.py,sha256=ud7F5wPoXkQDcqbDbf71uxHT5Bd6uNZVNzB3LTT8vLc,19896
|
|
@@ -716,10 +716,10 @@ lfx/utils/image.py,sha256=wMWBEI1gW3cFlQcio3mWgfHBaOw1uoAnqNmEacE_8xo,2133
|
|
|
716
716
|
lfx/utils/lazy_load.py,sha256=UDtXi8N7NT9r-FRGxsLUfDtGU_X8yqt-RQqgpc9TqAw,394
|
|
717
717
|
lfx/utils/request_utils.py,sha256=A6vmwpr7f3ZUxHg6Sz2-BdUUsyAwg84-7N_DNoPC8_Q,518
|
|
718
718
|
lfx/utils/schemas.py,sha256=NbOtVQBrn4d0BAu-0H_eCTZI2CXkKZlRY37XCSmuJwc,3865
|
|
719
|
-
lfx/utils/util.py,sha256=
|
|
719
|
+
lfx/utils/util.py,sha256=Ww85wbr1-vjh2pXVtmTqoUVr6MXAW8S7eDx_Ys6HpE8,20696
|
|
720
720
|
lfx/utils/util_strings.py,sha256=nU_IcdphNaj6bAPbjeL-c1cInQPfTBit8mp5Y57lwQk,1686
|
|
721
721
|
lfx/utils/version.py,sha256=cHpbO0OJD2JQAvVaTH_6ibYeFbHJV0QDHs_YXXZ-bT8,671
|
|
722
|
-
lfx_nightly-0.1.12.
|
|
723
|
-
lfx_nightly-0.1.12.
|
|
724
|
-
lfx_nightly-0.1.12.
|
|
725
|
-
lfx_nightly-0.1.12.
|
|
722
|
+
lfx_nightly-0.1.12.dev33.dist-info/METADATA,sha256=VaDj2VJuP8XeX3yfpiiLcY97pMlZTeEt-AizBHHGSss,8290
|
|
723
|
+
lfx_nightly-0.1.12.dev33.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
724
|
+
lfx_nightly-0.1.12.dev33.dist-info/entry_points.txt,sha256=1724p3RHDQRT2CKx_QRzEIa7sFuSVO0Ux70YfXfoMT4,42
|
|
725
|
+
lfx_nightly-0.1.12.dev33.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|