Spaces:
Running
Running
from langflow.template.field.base import Input | |
from langflow.template.frontend_node.base import FrontendNode | |
from langflow.template.template.base import Template | |
DEFAULT_CUSTOM_COMPONENT_CODE = """from langflow.custom import CustomComponent | |
from typing import Optional, List, Dict, Union | |
from langflow.field_typing import ( | |
AgentExecutor, | |
BaseChatMemory, | |
BaseLanguageModel, | |
BaseLLM, | |
BaseLoader, | |
BaseMemory, | |
BasePromptTemplate, | |
BaseRetriever, | |
Callable, | |
Chain, | |
ChatPromptTemplate, | |
Data, | |
Document, | |
Embeddings, | |
NestedDict, | |
Object, | |
PromptTemplate, | |
TextSplitter, | |
Tool, | |
VectorStore, | |
) | |
class Component(CustomComponent): | |
display_name: str = "Custom Component" | |
description: str = "Create any custom component you want!" | |
def build_config(self): | |
return {"param": {"display_name": "Parameter"}} | |
def build(self, param: Data) -> Data: | |
return param | |
""" | |
class CustomComponentFrontendNode(FrontendNode): | |
_format_template: bool = False | |
name: str = "CustomComponent" | |
display_name: str | None = "CustomComponent" | |
beta: bool = False | |
legacy: bool = False | |
template: Template = Template( | |
type_name="CustomComponent", | |
fields=[ | |
Input( | |
field_type="code", | |
required=True, | |
placeholder="", | |
is_list=False, | |
show=True, | |
value=DEFAULT_CUSTOM_COMPONENT_CODE, | |
name="code", | |
advanced=False, | |
dynamic=True, | |
) | |
], | |
) | |
description: str | None = None | |
base_classes: list[str] = [] | |
class ComponentFrontendNode(FrontendNode): | |
_format_template: bool = False | |
name: str = "Component" | |
display_name: str | None = "Component" | |
beta: bool = False | |
legacy: bool = False | |
template: Template = Template( | |
type_name="Component", | |
fields=[ | |
Input( | |
field_type="code", | |
required=True, | |
placeholder="", | |
is_list=False, | |
show=True, | |
value=DEFAULT_CUSTOM_COMPONENT_CODE, | |
name="code", | |
advanced=False, | |
dynamic=True, | |
) | |
], | |
) | |
description: str | None = None | |
base_classes: list[str] = [] | |