From f8dfb69f08c2495d65941927a2fed07d0de2a733 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 6 Mar 2024 19:39:26 -0300 Subject: [PATCH] Add experimental components for message history, record extraction, and record merging --- .../ClearMessageHistory.py | 0 .../ExtractDataFromRecord.py | 0 .../{helpers => experimental}/MergeRecords.py | 0 .../MessageHistory.py | 0 .../components/helpers/RecordComponent2.py | 51 ------------------- 5 files changed, 51 deletions(-) rename src/backend/langflow/components/{helpers => experimental}/ClearMessageHistory.py (100%) rename src/backend/langflow/components/{helpers => experimental}/ExtractDataFromRecord.py (100%) rename src/backend/langflow/components/{helpers => experimental}/MergeRecords.py (100%) rename src/backend/langflow/components/{helpers => experimental}/MessageHistory.py (100%) delete mode 100644 src/backend/langflow/components/helpers/RecordComponent2.py diff --git a/src/backend/langflow/components/helpers/ClearMessageHistory.py b/src/backend/langflow/components/experimental/ClearMessageHistory.py similarity index 100% rename from src/backend/langflow/components/helpers/ClearMessageHistory.py rename to src/backend/langflow/components/experimental/ClearMessageHistory.py diff --git a/src/backend/langflow/components/helpers/ExtractDataFromRecord.py b/src/backend/langflow/components/experimental/ExtractDataFromRecord.py similarity index 100% rename from src/backend/langflow/components/helpers/ExtractDataFromRecord.py rename to src/backend/langflow/components/experimental/ExtractDataFromRecord.py diff --git a/src/backend/langflow/components/helpers/MergeRecords.py b/src/backend/langflow/components/experimental/MergeRecords.py similarity index 100% rename from src/backend/langflow/components/helpers/MergeRecords.py rename to src/backend/langflow/components/experimental/MergeRecords.py diff --git a/src/backend/langflow/components/helpers/MessageHistory.py b/src/backend/langflow/components/experimental/MessageHistory.py similarity index 100% rename from src/backend/langflow/components/helpers/MessageHistory.py rename to src/backend/langflow/components/experimental/MessageHistory.py diff --git a/src/backend/langflow/components/helpers/RecordComponent2.py b/src/backend/langflow/components/helpers/RecordComponent2.py deleted file mode 100644 index b476efb4d..000000000 --- a/src/backend/langflow/components/helpers/RecordComponent2.py +++ /dev/null @@ -1,51 +0,0 @@ -from typing import Any, List - -from langflow import CustomComponent -from langflow.schema import Record -from langflow.template.field.base import TemplateField - - -class RecordComponent2(CustomComponent): - display_name = "Record Text" - description = "A component to create a record from key-value pairs." - field_order = ["keys"] - - def update_build_config(self, build_config: dict, field_name: str, field_value: Any): - if field_value is None: - field_value = [] - if field_name is None: - return build_config - elif len(field_value) == 0: - keep = ["keys", "code"] - for key in build_config.copy(): - if key in keep: - continue - del build_config[key] - build_config[field_name]["value"] = field_value - - # Add new fields depending on the field value - for val in field_value: - if not isinstance(val, str) or val == "": - continue - field = TemplateField( - name=val, - field_type="str", - display_name="", - info="The key for the record.", - ) - build_config[field.name] = field.to_dict() - - def build_config(self): - return { - "keys": { - "display_name": "Keys", - "refresh": True, - "info": "The number of keys to create in the record.", - "input_types": [], - }, - } - - def build(self, keys: List[str], **kwargs) -> Record: - record = Record(data=kwargs) - self.status = record - return record