fix: Handle DataFrame serialization and export in langflow.io (#4956)
This commit is contained in:
parent
2f6e4582e8
commit
ee37ce04ef
2 changed files with 6 additions and 1 deletions
|
|
@ -1,6 +1,7 @@
|
|||
from langflow.inputs import (
|
||||
BoolInput,
|
||||
CodeInput,
|
||||
DataFrameInput,
|
||||
DataInput,
|
||||
DefaultPromptField,
|
||||
DictInput,
|
||||
|
|
@ -50,4 +51,5 @@ __all__ = [
|
|||
"SliderInput",
|
||||
"StrInput",
|
||||
"TableInput",
|
||||
"DataFrameInput",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ from pydantic import BaseModel
|
|||
from typing_extensions import TypedDict
|
||||
|
||||
from langflow.schema.data import Data
|
||||
from langflow.schema.dataframe import DataFrame
|
||||
from langflow.schema.message import Message
|
||||
from langflow.schema.serialize import recursive_serialize_or_str
|
||||
|
||||
|
|
@ -51,7 +52,7 @@ def get_type(payload):
|
|||
case dict():
|
||||
result = LogType.OBJECT
|
||||
|
||||
case list():
|
||||
case list() | DataFrame():
|
||||
result = LogType.ARRAY
|
||||
|
||||
case str():
|
||||
|
|
@ -107,6 +108,8 @@ def build_output_logs(vertex, result) -> dict:
|
|||
message = ""
|
||||
|
||||
case LogType.ARRAY:
|
||||
if isinstance(message, DataFrame):
|
||||
message = message.to_dict(orient="records")
|
||||
message = [recursive_serialize_or_str(item) for item in message]
|
||||
name = output.get("name", f"output_{index}")
|
||||
outputs |= {name: OutputValue(message=message, type=_type).model_dump()}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue