diff --git a/src/backend/langflow/components/vectorstores/Chroma.py b/src/backend/langflow/components/vectorstores/Chroma.py index a7f8a200c..4f51b64d9 100644 --- a/src/backend/langflow/components/vectorstores/Chroma.py +++ b/src/backend/langflow/components/vectorstores/Chroma.py @@ -53,9 +53,9 @@ class ChromaComponent(CustomComponent): self, collection_name: str, persist: bool, + embedding: Embeddings, chroma_server_ssl_enabled: bool, persist_directory: Optional[str] = None, - embedding: Optional[Embeddings] = None, documents: Optional[Document] = None, chroma_server_cors_allow_origins: Optional[str] = None, chroma_server_host: Optional[str] = None, diff --git a/src/backend/langflow/interface/types.py b/src/backend/langflow/interface/types.py index 59bd81555..b6e4250f9 100644 --- a/src/backend/langflow/interface/types.py +++ b/src/backend/langflow/interface/types.py @@ -307,9 +307,9 @@ def get_field_properties(extra_field): if not field_required: field_type = extract_type_from_optional(field_type) - - with contextlib.suppress(Exception): - field_value = ast.literal_eval(field_value) + if field_value is not None: + with contextlib.suppress(Exception): + field_value = ast.literal_eval(field_value) return field_name, field_type, field_value, field_required diff --git a/src/backend/langflow/template/frontend_node/base.py b/src/backend/langflow/template/frontend_node/base.py index 92c748dca..ce1fe79a0 100644 --- a/src/backend/langflow/template/frontend_node/base.py +++ b/src/backend/langflow/template/frontend_node/base.py @@ -40,6 +40,7 @@ class FieldFormatters(BaseModel): class FrontendNode(BaseModel): + format_template: bool = Field(default=True, exclude=True) template: Template description: Optional[str] = None base_classes: List[str] @@ -80,7 +81,8 @@ class FrontendNode(BaseModel): def serialize_model(self, handler): result = handler(self) if hasattr(self, "template") and hasattr(self.template, "to_dict"): - result["template"] = self.template.to_dict(self.format_field) + format_func = self.format_field if self.format_template else None + result["template"] = self.template.to_dict(format_func) name = result.pop("name") return {name: result} diff --git a/src/backend/langflow/template/frontend_node/custom_components.py b/src/backend/langflow/template/frontend_node/custom_components.py index 75019f85e..c9f80beae 100644 --- a/src/backend/langflow/template/frontend_node/custom_components.py +++ b/src/backend/langflow/template/frontend_node/custom_components.py @@ -1,5 +1,7 @@ from typing import Optional +from pydantic import Field + from langflow.template.field.base import TemplateField from langflow.template.frontend_node.base import FrontendNode from langflow.template.template.base import Template @@ -45,6 +47,7 @@ class Component(CustomComponent): class CustomComponentFrontendNode(FrontendNode): + format_template: bool = Field(default=False, exclude=True) name: str = "CustomComponent" display_name: Optional[str] = "CustomComponent" beta: bool = True diff --git a/src/frontend/src/components/floatComponent/index.tsx b/src/frontend/src/components/floatComponent/index.tsx index 9b3376499..005ae1252 100644 --- a/src/frontend/src/components/floatComponent/index.tsx +++ b/src/frontend/src/components/floatComponent/index.tsx @@ -13,9 +13,6 @@ export default function FloatComponent({ const step = rangeSpec?.step ?? 0.1; const min = rangeSpec?.min ?? -2; const max = rangeSpec?.max ?? 2; - console.log("FloatComponent", value, disabled, rangeSpec, editNode); - console.log("FloatComponent", step, min, max); - // Clear component state useEffect(() => { if (disabled) {