| 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] = [] |
|
|