move data folder
This commit is contained in:
parent
18e5766273
commit
c43d62cbd2
15 changed files with 0 additions and 0 deletions
File diff suppressed because one or more lines are too long
|
|
@ -1,918 +0,0 @@
|
|||
{
|
||||
"name": "ChatInputTest",
|
||||
"description": "",
|
||||
"data": {
|
||||
"nodes": [
|
||||
{
|
||||
"width": 384,
|
||||
"height": 359,
|
||||
"id": "PromptTemplate-IKKOx",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 880,
|
||||
"y": 646.9375
|
||||
},
|
||||
"data": {
|
||||
"type": "PromptTemplate",
|
||||
"node": {
|
||||
"template": {
|
||||
"output_parser": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "output_parser",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "BaseOutputParser",
|
||||
"list": false
|
||||
},
|
||||
"input_variables": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "input_variables",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": true,
|
||||
"value": [
|
||||
"input"
|
||||
]
|
||||
},
|
||||
"partial_variables": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "partial_variables",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"template": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": true,
|
||||
"password": false,
|
||||
"name": "template",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "prompt",
|
||||
"list": false,
|
||||
"value": "Input: {input}\nAI:"
|
||||
},
|
||||
"template_format": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": "f-string",
|
||||
"password": false,
|
||||
"name": "template_format",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"validate_template": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": true,
|
||||
"password": false,
|
||||
"name": "validate_template",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"_type": "PromptTemplate",
|
||||
"input": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": true,
|
||||
"value": "",
|
||||
"password": false,
|
||||
"name": "input",
|
||||
"display_name": "input",
|
||||
"advanced": false,
|
||||
"input_types": [
|
||||
"Document",
|
||||
"BaseOutputParser",
|
||||
"str"
|
||||
],
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": false
|
||||
}
|
||||
},
|
||||
"description": "A prompt template for a language model.",
|
||||
"base_classes": [
|
||||
"BasePromptTemplate",
|
||||
"PromptTemplate",
|
||||
"StringPromptTemplate"
|
||||
],
|
||||
"name": "",
|
||||
"display_name": "PromptTemplate",
|
||||
"documentation": "https://python.langchain.com/docs/modules/model_io/prompts/prompt_templates/",
|
||||
"custom_fields": {
|
||||
"": [
|
||||
"input"
|
||||
],
|
||||
"template": [
|
||||
"input"
|
||||
]
|
||||
},
|
||||
"output_types": [],
|
||||
"field_formatters": {
|
||||
"formatters": {
|
||||
"openai_api_key": {}
|
||||
},
|
||||
"base_formatters": {
|
||||
"kwargs": {},
|
||||
"optional": {},
|
||||
"list": {},
|
||||
"dict": {},
|
||||
"union": {},
|
||||
"multiline": {},
|
||||
"show": {},
|
||||
"password": {},
|
||||
"default": {},
|
||||
"headers": {},
|
||||
"dict_code_file": {},
|
||||
"model_fields": {
|
||||
"MODEL_DICT": {
|
||||
"OpenAI": [
|
||||
"text-davinci-003",
|
||||
"text-davinci-002",
|
||||
"text-curie-001",
|
||||
"text-babbage-001",
|
||||
"text-ada-001"
|
||||
],
|
||||
"ChatOpenAI": [
|
||||
"gpt-3.5-turbo-0613",
|
||||
"gpt-3.5-turbo",
|
||||
"gpt-3.5-turbo-16k-0613",
|
||||
"gpt-3.5-turbo-16k",
|
||||
"gpt-4-0613",
|
||||
"gpt-4-32k-0613",
|
||||
"gpt-4",
|
||||
"gpt-4-32k"
|
||||
],
|
||||
"Anthropic": [
|
||||
"claude-v1",
|
||||
"claude-v1-100k",
|
||||
"claude-instant-v1",
|
||||
"claude-instant-v1-100k",
|
||||
"claude-v1.3",
|
||||
"claude-v1.3-100k",
|
||||
"claude-v1.2",
|
||||
"claude-v1.0",
|
||||
"claude-instant-v1.1",
|
||||
"claude-instant-v1.1-100k",
|
||||
"claude-instant-v1.0"
|
||||
],
|
||||
"ChatAnthropic": [
|
||||
"claude-v1",
|
||||
"claude-v1-100k",
|
||||
"claude-instant-v1",
|
||||
"claude-instant-v1-100k",
|
||||
"claude-v1.3",
|
||||
"claude-v1.3-100k",
|
||||
"claude-v1.2",
|
||||
"claude-v1.0",
|
||||
"claude-instant-v1.1",
|
||||
"claude-instant-v1.1-100k",
|
||||
"claude-instant-v1.0"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"beta": false,
|
||||
"error": null
|
||||
},
|
||||
"id": "PromptTemplate-IKKOx"
|
||||
},
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 880,
|
||||
"y": 646.9375
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 307,
|
||||
"id": "LLMChain-e2dhN",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 1449.330344958542,
|
||||
"y": 880.1760221487797
|
||||
},
|
||||
"data": {
|
||||
"type": "LLMChain",
|
||||
"node": {
|
||||
"template": {
|
||||
"callbacks": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "callbacks",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "langchain.callbacks.base.BaseCallbackHandler",
|
||||
"list": true
|
||||
},
|
||||
"llm": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "llm",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "BaseLanguageModel",
|
||||
"list": false
|
||||
},
|
||||
"memory": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "memory",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "BaseMemory",
|
||||
"list": false
|
||||
},
|
||||
"output_parser": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "output_parser",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "BaseLLMOutputParser",
|
||||
"list": false
|
||||
},
|
||||
"prompt": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "prompt",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "BasePromptTemplate",
|
||||
"list": false
|
||||
},
|
||||
"llm_kwargs": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "llm_kwargs",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"metadata": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "metadata",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"output_key": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": "text",
|
||||
"password": false,
|
||||
"name": "output_key",
|
||||
"advanced": true,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"return_final_only": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": true,
|
||||
"password": false,
|
||||
"name": "return_final_only",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"tags": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "tags",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": true
|
||||
},
|
||||
"verbose": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": false,
|
||||
"password": false,
|
||||
"name": "verbose",
|
||||
"advanced": true,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"_type": "LLMChain"
|
||||
},
|
||||
"description": "Chain to run queries against LLMs.",
|
||||
"base_classes": [
|
||||
"Chain",
|
||||
"LLMChain",
|
||||
"function",
|
||||
"Text"
|
||||
],
|
||||
"display_name": "LLMChain",
|
||||
"custom_fields": {},
|
||||
"output_types": [],
|
||||
"documentation": "https://python.langchain.com/docs/modules/chains/foundational/llm_chain",
|
||||
"beta": false,
|
||||
"error": null
|
||||
},
|
||||
"id": "LLMChain-e2dhN"
|
||||
},
|
||||
"positionAbsolute": {
|
||||
"x": 1449.330344958542,
|
||||
"y": 880.1760221487797
|
||||
}
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 621,
|
||||
"id": "ChatOpenAI-2I57f",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 393.3551923753797,
|
||||
"y": 1061.025177453298
|
||||
},
|
||||
"data": {
|
||||
"type": "ChatOpenAI",
|
||||
"node": {
|
||||
"template": {
|
||||
"callbacks": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "callbacks",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "langchain.callbacks.base.BaseCallbackHandler",
|
||||
"list": true
|
||||
},
|
||||
"cache": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "cache",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"client": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "client",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "Any",
|
||||
"list": false
|
||||
},
|
||||
"max_retries": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": 6,
|
||||
"password": false,
|
||||
"name": "max_retries",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "int",
|
||||
"list": false
|
||||
},
|
||||
"max_tokens": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": true,
|
||||
"name": "max_tokens",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "int",
|
||||
"list": false,
|
||||
"value": ""
|
||||
},
|
||||
"metadata": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "metadata",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"model_kwargs": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "model_kwargs",
|
||||
"advanced": true,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"model_name": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": "gpt-3.5-turbo-0613",
|
||||
"password": false,
|
||||
"options": [
|
||||
"gpt-3.5-turbo-0613",
|
||||
"gpt-3.5-turbo",
|
||||
"gpt-3.5-turbo-16k-0613",
|
||||
"gpt-3.5-turbo-16k",
|
||||
"gpt-4-0613",
|
||||
"gpt-4-32k-0613",
|
||||
"gpt-4",
|
||||
"gpt-4-32k"
|
||||
],
|
||||
"name": "model_name",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": true
|
||||
},
|
||||
"n": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": 1,
|
||||
"password": false,
|
||||
"name": "n",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "int",
|
||||
"list": false
|
||||
},
|
||||
"openai_api_base": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "openai_api_base",
|
||||
"display_name": "OpenAI API Base",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "\nThe base URL of the OpenAI API. Defaults to https://api.openai.com/v1.\n\nYou can change this to use other APIs like JinaChat, LocalAI and Prem.\n",
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"openai_api_key": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": "",
|
||||
"password": true,
|
||||
"name": "openai_api_key",
|
||||
"display_name": "OpenAI API Key",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"openai_organization": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "openai_organization",
|
||||
"display_name": "OpenAI Organization",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"openai_proxy": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "openai_proxy",
|
||||
"display_name": "OpenAI Proxy",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"request_timeout": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "request_timeout",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "float",
|
||||
"list": false
|
||||
},
|
||||
"streaming": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": false,
|
||||
"password": false,
|
||||
"name": "streaming",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"tags": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "tags",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": true
|
||||
},
|
||||
"temperature": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": 0.7,
|
||||
"password": false,
|
||||
"name": "temperature",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "float",
|
||||
"list": false
|
||||
},
|
||||
"tiktoken_model_name": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "tiktoken_model_name",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"verbose": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": false,
|
||||
"password": false,
|
||||
"name": "verbose",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"_type": "ChatOpenAI"
|
||||
},
|
||||
"description": "`OpenAI` Chat large language models API.",
|
||||
"base_classes": [
|
||||
"BaseChatModel",
|
||||
"ChatOpenAI",
|
||||
"BaseLanguageModel",
|
||||
"BaseLLM"
|
||||
],
|
||||
"display_name": "ChatOpenAI",
|
||||
"custom_fields": {},
|
||||
"output_types": [],
|
||||
"documentation": "https://python.langchain.com/docs/modules/model_io/models/chat/integrations/openai",
|
||||
"beta": false,
|
||||
"error": null
|
||||
},
|
||||
"id": "ChatOpenAI-2I57f"
|
||||
},
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 393.3551923753797,
|
||||
"y": 1061.025177453298
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 359,
|
||||
"id": "ChatInput-207IY",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 415.1018926651509,
|
||||
"y": 506.62736462360317
|
||||
},
|
||||
"data": {
|
||||
"type": "ChatInput",
|
||||
"node": {
|
||||
"template": {
|
||||
"code": {
|
||||
"dynamic": true,
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": true,
|
||||
"value": "from typing import Optional\nfrom langflow.custom import CustomComponent\n\n\nclass ChatInput(CustomComponent):\n display_name = \"Chat Input\"\n\n def build(self, message: Optional[str] = \"\") -> str:\n return message\n",
|
||||
"password": false,
|
||||
"name": "code",
|
||||
"advanced": false,
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"_type": "CustomComponent",
|
||||
"message": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": "",
|
||||
"password": false,
|
||||
"name": "message",
|
||||
"display_name": "message",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "str",
|
||||
"list": false
|
||||
}
|
||||
},
|
||||
"description": "Used to get user input from the chat.",
|
||||
"base_classes": [
|
||||
"str"
|
||||
],
|
||||
"display_name": "Chat Input",
|
||||
"custom_fields": {
|
||||
"message": null
|
||||
},
|
||||
"output_types": [
|
||||
"ChatInput"
|
||||
],
|
||||
"documentation": "",
|
||||
"beta": true,
|
||||
"error": null
|
||||
},
|
||||
"id": "ChatInput-207IY"
|
||||
},
|
||||
"positionAbsolute": {
|
||||
"x": 415.1018926651509,
|
||||
"y": 506.62736462360317
|
||||
}
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 389,
|
||||
"id": "ChatOutput-1jlJy",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 2002.8008888732943,
|
||||
"y": 926.1397178702218
|
||||
},
|
||||
"data": {
|
||||
"type": "ChatOutput",
|
||||
"node": {
|
||||
"template": {
|
||||
"code": {
|
||||
"dynamic": true,
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": true,
|
||||
"value": "from typing import Optional, Text\nfrom langflow.api.v1.schemas import ChatMessage\nfrom langflow.services.utils import get_chat_manager\nfrom langflow.custom import CustomComponent\nfrom anyio.from_thread import start_blocking_portal\nfrom loguru import logger\n\n\nclass ChatOutput(CustomComponent):\n display_name = \"Chat Output\"\n description = \"Used to send a message to the chat.\"\n\n field_config = {\n \"code\": {\n \"show\": False,\n }\n }\n\n def build_config(self):\n return {\"message\": {\"input_types\": [\"Text\"]}}\n\n def build(self, message: Optional[Text], is_ai: bool = False) -> Text:\n if not message:\n return \"\"\n try:\n chat_manager = get_chat_manager()\n chat_message = ChatMessage(message=message, is_bot=is_ai)\n # send_message is a coroutine\n # run in a thread safe manner\n with start_blocking_portal() as portal:\n portal.call(chat_manager.send_message, chat_message)\n chat_manager.chat_history.add_message(\n chat_manager.cache_manager.current_client_id, chat_message\n )\n except Exception as exc:\n logger.exception(exc)\n logger.debug(f\"Error sending message to chat: {exc}\")\n self.repr_value = message\n return message\n",
|
||||
"password": false,
|
||||
"name": "code",
|
||||
"advanced": false,
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"_type": "CustomComponent",
|
||||
"is_ai": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": true,
|
||||
"password": false,
|
||||
"name": "is_ai",
|
||||
"display_name": "is_ai",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"message": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "message",
|
||||
"display_name": "message",
|
||||
"advanced": false,
|
||||
"input_types": [
|
||||
"Text"
|
||||
],
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"type": "Text",
|
||||
"list": false
|
||||
}
|
||||
},
|
||||
"description": "Used to send a message to the chat.",
|
||||
"base_classes": [
|
||||
"str"
|
||||
],
|
||||
"display_name": "Chat Output",
|
||||
"custom_fields": {
|
||||
"is_ai": null,
|
||||
"message": null
|
||||
},
|
||||
"output_types": [
|
||||
"ChatOutput"
|
||||
],
|
||||
"documentation": "",
|
||||
"beta": true,
|
||||
"error": null
|
||||
},
|
||||
"id": "ChatOutput-1jlJy"
|
||||
},
|
||||
"selected": true,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": 2002.8008888732943,
|
||||
"y": 926.1397178702218
|
||||
}
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"source": "PromptTemplate-IKKOx",
|
||||
"sourceHandle": "PromptTemplate|PromptTemplate-IKKOx|BasePromptTemplate|PromptTemplate|StringPromptTemplate",
|
||||
"target": "LLMChain-e2dhN",
|
||||
"targetHandle": "BasePromptTemplate|prompt|LLMChain-e2dhN",
|
||||
"style": {
|
||||
"stroke": "#555"
|
||||
},
|
||||
"className": "",
|
||||
"animated": false,
|
||||
"id": "reactflow__edge-PromptTemplate-IKKOxPromptTemplate|PromptTemplate-IKKOx|StringPromptTemplate|BasePromptTemplate|PromptTemplate-LLMChain-e2dhNBasePromptTemplate|prompt|LLMChain-e2dhN"
|
||||
},
|
||||
{
|
||||
"source": "ChatOpenAI-2I57f",
|
||||
"sourceHandle": "ChatOpenAI|ChatOpenAI-2I57f|BaseChatModel|ChatOpenAI|BaseLanguageModel|BaseLLM",
|
||||
"target": "LLMChain-e2dhN",
|
||||
"targetHandle": "BaseLanguageModel|llm|LLMChain-e2dhN",
|
||||
"style": {
|
||||
"stroke": "#555"
|
||||
},
|
||||
"className": "",
|
||||
"animated": false,
|
||||
"id": "reactflow__edge-ChatOpenAI-2I57fChatOpenAI|ChatOpenAI-2I57f|BaseChatModel|ChatOpenAI|BaseLanguageModel|BaseLLM-LLMChain-e2dhNBaseLanguageModel|llm|LLMChain-e2dhN"
|
||||
},
|
||||
{
|
||||
"source": "ChatInput-207IY",
|
||||
"sourceHandle": "ChatInput|ChatInput-207IY|str",
|
||||
"target": "PromptTemplate-IKKOx",
|
||||
"targetHandle": "Document;BaseOutputParser;str|input|PromptTemplate-IKKOx",
|
||||
"style": {
|
||||
"stroke": "#555"
|
||||
},
|
||||
"className": "",
|
||||
"animated": false,
|
||||
"id": "reactflow__edge-ChatInput-207IYChatInput|ChatInput-207IY|str-PromptTemplate-IKKOxDocument;BaseOutputParser;str|input|PromptTemplate-IKKOx"
|
||||
},
|
||||
{
|
||||
"source": "LLMChain-e2dhN",
|
||||
"sourceHandle": "LLMChain|LLMChain-e2dhN|Chain|LLMChain|function|Text",
|
||||
"target": "ChatOutput-1jlJy",
|
||||
"targetHandle": "Text|message|ChatOutput-1jlJy",
|
||||
"style": {
|
||||
"stroke": "#555"
|
||||
},
|
||||
"className": "stroke-foreground stroke-connection",
|
||||
"animated": true,
|
||||
"id": "reactflow__edge-LLMChain-e2dhNLLMChain|LLMChain-e2dhN|Chain|LLMChain|function|Text-ChatOutput-1jlJyText|message|ChatOutput-1jlJy"
|
||||
}
|
||||
],
|
||||
"viewport": {
|
||||
"x": -141.98308184453367,
|
||||
"y": -104.98637616656356,
|
||||
"zoom": 0.4788209787464315
|
||||
}
|
||||
},
|
||||
"id": "b3388ab9-b5dc-4447-b560-79caef40faa5",
|
||||
"user_id": "c65bfea3-3eea-4e71-8fc4-106238eb0583"
|
||||
}
|
||||
|
|
@ -1,445 +0,0 @@
|
|||
{
|
||||
"description": "",
|
||||
"name": "openapi",
|
||||
"id": "1",
|
||||
"data": {
|
||||
"nodes": [
|
||||
{
|
||||
"width": 384,
|
||||
"height": 311,
|
||||
"id": "dndnode_19",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": -207.85635949789724,
|
||||
"y": -105.73915116823618
|
||||
},
|
||||
"data": {
|
||||
"type": "JsonToolkit",
|
||||
"node": {
|
||||
"template": {
|
||||
"spec": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "spec",
|
||||
"type": "JsonSpec",
|
||||
"list": false
|
||||
},
|
||||
"_type": "JsonToolkit"
|
||||
},
|
||||
"description": "Toolkit for interacting with a JSON spec.",
|
||||
"base_classes": [
|
||||
"BaseToolkit"
|
||||
]
|
||||
},
|
||||
"id": "dndnode_19",
|
||||
"value": null
|
||||
},
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": -207.85635949789724,
|
||||
"y": -105.73915116823618
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 351,
|
||||
"id": "dndnode_32",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 745.308873444751,
|
||||
"y": -37.007911201107675
|
||||
},
|
||||
"data": {
|
||||
"type": "OpenAPIToolkit",
|
||||
"node": {
|
||||
"template": {
|
||||
"json_agent": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "json_agent",
|
||||
"type": "AgentExecutor",
|
||||
"list": false
|
||||
},
|
||||
"requests_wrapper": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "requests_wrapper",
|
||||
"type": "TextRequestsWrapper",
|
||||
"list": false
|
||||
},
|
||||
"_type": "OpenAPIToolkit"
|
||||
},
|
||||
"description": "Toolkit for interacting with a OpenAPI api.",
|
||||
"base_classes": [
|
||||
"BaseToolkit"
|
||||
]
|
||||
},
|
||||
"id": "dndnode_32",
|
||||
"value": null
|
||||
},
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 745.308873444751,
|
||||
"y": -37.007911201107675
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 351,
|
||||
"id": "dndnode_33",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 281.30887344475104,
|
||||
"y": 2.9920887988923255
|
||||
},
|
||||
"data": {
|
||||
"type": "JsonAgent",
|
||||
"node": {
|
||||
"template": {
|
||||
"toolkit": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "toolkit",
|
||||
"type": "BaseToolkit",
|
||||
"list": false
|
||||
},
|
||||
"llm": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "llm",
|
||||
"type": "BaseLanguageModel",
|
||||
"list": false
|
||||
},
|
||||
"_type": "JsonAgent"
|
||||
},
|
||||
"description": "Construct a json agent from an LLM and tools.",
|
||||
"base_classes": [
|
||||
"AgentExecutor"
|
||||
]
|
||||
},
|
||||
"id": "dndnode_33",
|
||||
"value": null
|
||||
},
|
||||
"selected": false,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": 281.30887344475104,
|
||||
"y": 2.9920887988923255
|
||||
}
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 349,
|
||||
"id": "dndnode_34",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 301.30887344475104,
|
||||
"y": 532.9920887988924
|
||||
},
|
||||
"data": {
|
||||
"type": "TextRequestsWrapper",
|
||||
"node": {
|
||||
"template": {
|
||||
"headers": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": true,
|
||||
"value": "{'Authorization':\n 'Bearer <token>'}",
|
||||
"password": false,
|
||||
"name": "headers",
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"aiosession": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "aiosession",
|
||||
"type": "ClientSession",
|
||||
"list": false
|
||||
},
|
||||
"_type": "TextRequestsWrapper"
|
||||
},
|
||||
"description": "Lightweight wrapper around requests library.",
|
||||
"base_classes": [
|
||||
"TextRequestsWrapper"
|
||||
]
|
||||
},
|
||||
"id": "dndnode_34",
|
||||
"value": null
|
||||
},
|
||||
"positionAbsolute": {
|
||||
"x": 301.30887344475104,
|
||||
"y": 532.9920887988924
|
||||
}
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 407,
|
||||
"id": "dndnode_35",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": -754.691126555249,
|
||||
"y": -37.00791120110762
|
||||
},
|
||||
"data": {
|
||||
"type": "JsonSpec",
|
||||
"node": {
|
||||
"template": {
|
||||
"path": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": "api-with-examples.yaml",
|
||||
"suffixes": [
|
||||
".json",
|
||||
".yaml",
|
||||
".yml"
|
||||
],
|
||||
"password": false,
|
||||
"name": "path",
|
||||
"type": "file",
|
||||
"list": false,
|
||||
"fileTypes": [
|
||||
"json",
|
||||
"yaml",
|
||||
"yml"
|
||||
],
|
||||
"file_path": "api-with-examples.yaml"
|
||||
},
|
||||
"max_value_length": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": "4000",
|
||||
"password": false,
|
||||
"name": "max_value_length",
|
||||
"type": "int",
|
||||
"list": false
|
||||
},
|
||||
"_type": "JsonSpec"
|
||||
},
|
||||
"description": "",
|
||||
"base_classes": [
|
||||
"Tool",
|
||||
"JsonSpec"
|
||||
]
|
||||
},
|
||||
"id": "dndnode_35",
|
||||
"value": null
|
||||
},
|
||||
"selected": false,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": -754.691126555249,
|
||||
"y": -37.00791120110762
|
||||
}
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 563,
|
||||
"id": "dndnode_36",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": -310.69112655524896,
|
||||
"y": 514.9920887988924
|
||||
},
|
||||
"data": {
|
||||
"type": "ChatOpenAI",
|
||||
"node": {
|
||||
"template": {
|
||||
"cache": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "cache",
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"verbose": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": false,
|
||||
"password": false,
|
||||
"name": "verbose",
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"client": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "client",
|
||||
"type": "Any",
|
||||
"list": false
|
||||
},
|
||||
"model_name": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": "gpt-3.5-turbo",
|
||||
"password": false,
|
||||
"name": "model_name",
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"model_kwargs": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "model_kwargs",
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"openai_api_key": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "openai_api_key",
|
||||
"type": "str",
|
||||
"list": false,
|
||||
"value": "sk-"
|
||||
},
|
||||
"max_retries": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": 6,
|
||||
"password": false,
|
||||
"name": "max_retries",
|
||||
"type": "int",
|
||||
"list": false
|
||||
},
|
||||
"prefix_messages": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "prefix_messages",
|
||||
"type": "Any",
|
||||
"list": true
|
||||
},
|
||||
"streaming": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": false,
|
||||
"password": false,
|
||||
"name": "streaming",
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"_type": "ChatOpenAI"
|
||||
},
|
||||
"description": "Wrapper around OpenAI Chat large language models.To use, you should have the ``openai`` python package installed, and theenvironment variable ``OPENAI_API_KEY`` set with your API key.Any parameters that are valid to be passed to the openai.create call can be passedin, even if not explicitly saved on this class.",
|
||||
"base_classes": [
|
||||
"BaseLanguageModel",
|
||||
"BaseLLM"
|
||||
]
|
||||
},
|
||||
"id": "dndnode_36",
|
||||
"value": null
|
||||
},
|
||||
"selected": false,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": -310.69112655524896,
|
||||
"y": 514.9920887988924
|
||||
}
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"source": "dndnode_19",
|
||||
"sourceHandle": "JsonToolkit|dndnode_19|BaseToolkit",
|
||||
"target": "dndnode_33",
|
||||
"targetHandle": "BaseToolkit|toolkit|dndnode_33",
|
||||
"className": "animate-pulse",
|
||||
"id": "reactflow__edge-dndnode_19JsonToolkit|dndnode_19|BaseToolkit-dndnode_33BaseToolkit|toolkit|dndnode_33",
|
||||
"selected": false
|
||||
},
|
||||
{
|
||||
"source": "dndnode_33",
|
||||
"sourceHandle": "JsonAgent|dndnode_33|AgentExecutor",
|
||||
"target": "dndnode_32",
|
||||
"targetHandle": "AgentExecutor|json_agent|dndnode_32",
|
||||
"className": "animate-pulse",
|
||||
"id": "reactflow__edge-dndnode_33JsonAgent|dndnode_33|AgentExecutor-dndnode_32AgentExecutor|json_agent|dndnode_32",
|
||||
"selected": false
|
||||
},
|
||||
{
|
||||
"source": "dndnode_34",
|
||||
"sourceHandle": "TextRequestsWrapper|dndnode_34|TextRequestsWrapper",
|
||||
"target": "dndnode_32",
|
||||
"targetHandle": "TextRequestsWrapper|requests_wrapper|dndnode_32",
|
||||
"className": "animate-pulse",
|
||||
"id": "reactflow__edge-dndnode_34RequestsWrapper|dndnode_34|TextRequestsWrapper-dndnode_32RequestsWrapper|requests_wrapper|dndnode_32",
|
||||
"selected": false
|
||||
},
|
||||
{
|
||||
"source": "dndnode_35",
|
||||
"sourceHandle": "JsonSpec|dndnode_35|Tool|JsonSpec",
|
||||
"target": "dndnode_19",
|
||||
"targetHandle": "JsonSpec|spec|dndnode_19",
|
||||
"className": "animate-pulse",
|
||||
"id": "reactflow__edge-dndnode_35JsonSpec|dndnode_35|Tool|JsonSpec-dndnode_19JsonSpec|spec|dndnode_19",
|
||||
"selected": false
|
||||
},
|
||||
{
|
||||
"source": "dndnode_36",
|
||||
"sourceHandle": "ChatOpenAI|dndnode_36|BaseLanguageModel|BaseLLM",
|
||||
"target": "dndnode_33",
|
||||
"targetHandle": "BaseLanguageModel|llm|dndnode_33",
|
||||
"className": "animate-pulse",
|
||||
"id": "reactflow__edge-dndnode_36OpenAIChat|dndnode_36|BaseLanguageModel|BaseLLM-dndnode_33BaseLanguageModel|llm|dndnode_33"
|
||||
}
|
||||
],
|
||||
"viewport": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"zoom": 1
|
||||
}
|
||||
},
|
||||
"chat": [
|
||||
{
|
||||
"message": "test",
|
||||
"isSend": true
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,238 +0,0 @@
|
|||
{
|
||||
"id": "40b2ae66-384b-4978-85ab-f79706287a1a",
|
||||
"data": {
|
||||
"nodes": [
|
||||
{
|
||||
"id": "Webhook-8rYwr",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 375.90734417043643,
|
||||
"y": 261.63442970852185
|
||||
},
|
||||
"data": {
|
||||
"type": "Webhook",
|
||||
"node": {
|
||||
"template": {
|
||||
"_type": "CustomComponent",
|
||||
"code": {
|
||||
"type": "code",
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"list": false,
|
||||
"show": true,
|
||||
"multiline": true,
|
||||
"value": "import json\nimport uuid\nfrom typing import Any, Optional\n\nfrom langflow.custom import CustomComponent\nfrom langflow.schema import Data\nfrom langflow.schema.dotdict import dotdict\n\n\nclass WebhookComponent(CustomComponent):\n display_name = \"Webhook Input\"\n description = \"Defines a webhook input for the flow.\"\n\n def update_build_config(self, build_config: dotdict, field_value: Any, field_name: str | None = None):\n if field_name == \"webhook_id\":\n build_config[\"webhook_id\"][\"value\"] = uuid.uuid4().hex\n return build_config\n\n def build_config(self):\n return {\n \"data\": {\n \"display_name\": \"Data\",\n \"info\": \"Use this field to quickly test the webhook component by providing a JSON payload.\",\n \"multiline\": True,\n }\n }\n\n def build(self, data: Optional[str] = \"\") -> Data:\n message = \"\"\n try:\n body = json.loads(data or \"{}\")\n except json.JSONDecodeError:\n body = {\"payload\": data}\n message = f\"Invalid JSON payload. Please check the format.\\n\\n{data}\"\n record = Data(data=body)\n if not message:\n message = record\n self.status = message\n return record\n",
|
||||
"fileTypes": [],
|
||||
"file_path": "",
|
||||
"password": false,
|
||||
"name": "code",
|
||||
"advanced": true,
|
||||
"dynamic": true,
|
||||
"info": "",
|
||||
"load_from_db": false,
|
||||
"title_case": false
|
||||
},
|
||||
"data": {
|
||||
"type": "str",
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"list": false,
|
||||
"show": true,
|
||||
"multiline": true,
|
||||
"value": "{\"bacon\":1}",
|
||||
"fileTypes": [],
|
||||
"file_path": "",
|
||||
"password": false,
|
||||
"name": "data",
|
||||
"display_name": "Data",
|
||||
"advanced": false,
|
||||
"dynamic": false,
|
||||
"info": "Use this field to quickly test the webhook component by providing a JSON payload.",
|
||||
"load_from_db": false,
|
||||
"title_case": false,
|
||||
"input_types": [
|
||||
"Text"
|
||||
]
|
||||
}
|
||||
},
|
||||
"description": "Defines a webhook input for the flow.",
|
||||
"base_classes": [
|
||||
"Data"
|
||||
],
|
||||
"display_name": "Webhook Input",
|
||||
"documentation": "",
|
||||
"custom_fields": {
|
||||
"data": null
|
||||
},
|
||||
"output_types": [
|
||||
"Data"
|
||||
],
|
||||
"pinned": false,
|
||||
"conditional_paths": [],
|
||||
"frozen": false,
|
||||
"outputs": [
|
||||
{
|
||||
"types": [
|
||||
"Data"
|
||||
],
|
||||
"selected": "Data",
|
||||
"name": "data",
|
||||
"hidden": false,
|
||||
"display_name": "Data",
|
||||
"method": null,
|
||||
"value": "__UNDEFINED__",
|
||||
"cache": true
|
||||
}
|
||||
],
|
||||
"field_order": [],
|
||||
"beta": false,
|
||||
"edited": true
|
||||
},
|
||||
"id": "Webhook-8rYwr",
|
||||
"description": "Defines a webhook input for the flow.",
|
||||
"display_name": "Webhook Input",
|
||||
"edited": false
|
||||
},
|
||||
"selected": false,
|
||||
"width": 384,
|
||||
"height": 309,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": 375.90734417043643,
|
||||
"y": 261.63442970852185
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "CustomComponent-xbSW2",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 888.0012384532345,
|
||||
"y": 274.9520639008431
|
||||
},
|
||||
"data": {
|
||||
"type": "CustomComponent",
|
||||
"node": {
|
||||
"template": {
|
||||
"_type": "Component",
|
||||
"code": {
|
||||
"type": "code",
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"list": false,
|
||||
"show": true,
|
||||
"multiline": true,
|
||||
"value": "# from langflow.field_typing import Data\nfrom langflow.custom import Component\nfrom langflow.inputs import StrInput\nfrom langflow.schema import Data\nfrom langflow.template import Output\n\n\nclass CustomComponent(Component):\n display_name = \"Custom Component\"\n description = \"Use as a template to create your own component.\"\n documentation: str = \"http://docs.langflow.org/components/custom\"\n icon = \"custom_components\"\n\n inputs = [\n StrInput(name=\"input_value\", display_name=\"Input Value\", value=\"Hello, World!\", input_types=[\"Data\"]),\n ]\n\n outputs = [\n Output(display_name=\"Output\", name=\"output\", method=\"build_output\"),\n ]\n\n def build_output(self) -> Data:\n if isinstance(self.input_value, Data):\n data = self.input_value\n else:\n data = Data(value=self.input_value)\n \n if \"path\" in data:\n path = self.resolve_path(data.path)\n path_obj = Path(path)\n with open(path, \"w\") as f:\n f.write(data.model_dump_json())\n self.status = data\n return data\n",
|
||||
"fileTypes": [],
|
||||
"file_path": "",
|
||||
"password": false,
|
||||
"name": "code",
|
||||
"advanced": true,
|
||||
"dynamic": true,
|
||||
"info": "",
|
||||
"load_from_db": false,
|
||||
"title_case": false
|
||||
},
|
||||
"input_value": {
|
||||
"load_from_db": false,
|
||||
"list": false,
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"value": "",
|
||||
"name": "input_value",
|
||||
"display_name": "Input Value",
|
||||
"advanced": false,
|
||||
"input_types": [
|
||||
"Data"
|
||||
],
|
||||
"dynamic": false,
|
||||
"info": "",
|
||||
"title_case": false,
|
||||
"type": "str"
|
||||
}
|
||||
},
|
||||
"description": "Use as a template to create your own component.",
|
||||
"icon": "custom_components",
|
||||
"base_classes": [
|
||||
"Data"
|
||||
],
|
||||
"display_name": "Custom Component",
|
||||
"documentation": "http://docs.langflow.org/components/custom",
|
||||
"custom_fields": {},
|
||||
"output_types": [],
|
||||
"pinned": false,
|
||||
"conditional_paths": [],
|
||||
"frozen": false,
|
||||
"outputs": [
|
||||
{
|
||||
"types": [
|
||||
"Data"
|
||||
],
|
||||
"selected": "Data",
|
||||
"name": "output",
|
||||
"display_name": "Output",
|
||||
"method": "build_output",
|
||||
"value": "__UNDEFINED__",
|
||||
"cache": true
|
||||
}
|
||||
],
|
||||
"field_order": [
|
||||
"input_value"
|
||||
],
|
||||
"beta": false,
|
||||
"edited": true
|
||||
},
|
||||
"id": "CustomComponent-xbSW2",
|
||||
"description": "Use as a template to create your own component.",
|
||||
"display_name": "Custom Component"
|
||||
},
|
||||
"selected": false,
|
||||
"width": 384,
|
||||
"height": 337,
|
||||
"positionAbsolute": {
|
||||
"x": 888.0012384532345,
|
||||
"y": 274.9520639008431
|
||||
},
|
||||
"dragging": false
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"source": "Webhook-8rYwr",
|
||||
"sourceHandle": "{œdataTypeœ:œWebhookœ,œidœ:œWebhook-8rYwrœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}",
|
||||
"target": "CustomComponent-xbSW2",
|
||||
"targetHandle": "{œfieldNameœ:œinput_valueœ,œidœ:œCustomComponent-xbSW2œ,œinputTypesœ:[œDataœ],œtypeœ:œstrœ}",
|
||||
"data": {
|
||||
"targetHandle": {
|
||||
"fieldName": "input_value",
|
||||
"id": "CustomComponent-xbSW2",
|
||||
"inputTypes": [
|
||||
"Data"
|
||||
],
|
||||
"type": "str"
|
||||
},
|
||||
"sourceHandle": {
|
||||
"dataType": "Webhook",
|
||||
"id": "Webhook-8rYwr",
|
||||
"name": "data",
|
||||
"output_types": [
|
||||
"Data"
|
||||
]
|
||||
}
|
||||
},
|
||||
"id": "reactflow__edge-Webhook-8rYwr{œdataTypeœ:œWebhookœ,œidœ:œWebhook-8rYwrœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-CustomComponent-xbSW2{œfieldNameœ:œinput_valueœ,œidœ:œCustomComponent-xbSW2œ,œinputTypesœ:[œDataœ],œtypeœ:œstrœ}",
|
||||
"className": ""
|
||||
}
|
||||
],
|
||||
"viewport": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"zoom": 1
|
||||
}
|
||||
},
|
||||
"description": "The Power of Language at Your Fingertips.",
|
||||
"name": "Webhook Test",
|
||||
"last_tested_version": "1.0.0a52",
|
||||
"endpoint_name": "webhook-test",
|
||||
"is_component": false
|
||||
}
|
||||
|
|
@ -1,509 +0,0 @@
|
|||
{
|
||||
"description": "",
|
||||
"name": "BasicExample",
|
||||
"id": "a53f9130-f2fa-4a3e-b22a-3856d946351a",
|
||||
"data": {
|
||||
"nodes": [
|
||||
{
|
||||
"width": 384,
|
||||
"height": 267,
|
||||
"id": "dndnode_81",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 1030,
|
||||
"y": 694
|
||||
},
|
||||
"data": {
|
||||
"type": "TimeTravelGuideChain",
|
||||
"node": {
|
||||
"template": {
|
||||
"llm": {
|
||||
"required": true,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "llm",
|
||||
"advanced": false,
|
||||
"type": "BaseLanguageModel",
|
||||
"list": false
|
||||
},
|
||||
"memory": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "memory",
|
||||
"advanced": false,
|
||||
"type": "BaseChatMemory",
|
||||
"list": false
|
||||
},
|
||||
"_type": "TimeTravelGuideChain"
|
||||
},
|
||||
"description": "Time travel guide chain to be used in the flow.",
|
||||
"base_classes": [
|
||||
"LLMChain",
|
||||
"BaseCustomChain",
|
||||
"TimeTravelGuideChain",
|
||||
"Chain",
|
||||
"ConversationChain"
|
||||
]
|
||||
},
|
||||
"id": "dndnode_81",
|
||||
"value": null
|
||||
},
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1030,
|
||||
"y": 694
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 597,
|
||||
"id": "dndnode_82",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 520,
|
||||
"y": 732
|
||||
},
|
||||
"data": {
|
||||
"type": "OpenAI",
|
||||
"node": {
|
||||
"template": {
|
||||
"cache": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "cache",
|
||||
"advanced": false,
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"verbose": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "verbose",
|
||||
"advanced": false,
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"callbacks": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "callbacks",
|
||||
"advanced": false,
|
||||
"type": "langchain.callbacks.base.BaseCallbackHandler",
|
||||
"list": true
|
||||
},
|
||||
"client": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "client",
|
||||
"advanced": false,
|
||||
"type": "Any",
|
||||
"list": false
|
||||
},
|
||||
"model_name": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": "text-davinci-003",
|
||||
"password": false,
|
||||
"options": [
|
||||
"text-davinci-003",
|
||||
"text-davinci-002",
|
||||
"text-curie-001",
|
||||
"text-babbage-001",
|
||||
"text-ada-001"
|
||||
],
|
||||
"name": "model_name",
|
||||
"advanced": false,
|
||||
"type": "str",
|
||||
"list": true
|
||||
},
|
||||
"temperature": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": 0.7,
|
||||
"password": false,
|
||||
"name": "temperature",
|
||||
"advanced": false,
|
||||
"type": "float",
|
||||
"list": false
|
||||
},
|
||||
"max_tokens": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": 256,
|
||||
"password": true,
|
||||
"name": "max_tokens",
|
||||
"advanced": false,
|
||||
"type": "int",
|
||||
"list": false
|
||||
},
|
||||
"top_p": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": 1,
|
||||
"password": false,
|
||||
"name": "top_p",
|
||||
"advanced": false,
|
||||
"type": "float",
|
||||
"list": false
|
||||
},
|
||||
"frequency_penalty": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": 0,
|
||||
"password": false,
|
||||
"name": "frequency_penalty",
|
||||
"advanced": false,
|
||||
"type": "float",
|
||||
"list": false
|
||||
},
|
||||
"presence_penalty": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": 0,
|
||||
"password": false,
|
||||
"name": "presence_penalty",
|
||||
"advanced": false,
|
||||
"type": "float",
|
||||
"list": false
|
||||
},
|
||||
"n": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": 1,
|
||||
"password": false,
|
||||
"name": "n",
|
||||
"advanced": false,
|
||||
"type": "int",
|
||||
"list": false
|
||||
},
|
||||
"best_of": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": 1,
|
||||
"password": false,
|
||||
"name": "best_of",
|
||||
"advanced": false,
|
||||
"type": "int",
|
||||
"list": false
|
||||
},
|
||||
"model_kwargs": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "model_kwargs",
|
||||
"advanced": true,
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"openai_api_key": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": null,
|
||||
"password": true,
|
||||
"name": "openai_api_key",
|
||||
"display_name": "OpenAI API Key",
|
||||
"advanced": false,
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"openai_api_base": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"password": true,
|
||||
"name": "openai_api_base",
|
||||
"advanced": false,
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"openai_organization": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "openai_organization",
|
||||
"advanced": false,
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"batch_size": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": 20,
|
||||
"password": false,
|
||||
"name": "batch_size",
|
||||
"advanced": false,
|
||||
"type": "int",
|
||||
"list": false
|
||||
},
|
||||
"request_timeout": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "request_timeout",
|
||||
"advanced": false,
|
||||
"type": "float",
|
||||
"list": false
|
||||
},
|
||||
"logit_bias": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "logit_bias",
|
||||
"advanced": false,
|
||||
"type": "code",
|
||||
"list": false
|
||||
},
|
||||
"max_retries": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": 6,
|
||||
"password": false,
|
||||
"name": "max_retries",
|
||||
"advanced": false,
|
||||
"type": "int",
|
||||
"list": false
|
||||
},
|
||||
"streaming": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": false,
|
||||
"password": false,
|
||||
"name": "streaming",
|
||||
"advanced": false,
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"allowed_special": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": [],
|
||||
"password": false,
|
||||
"name": "allowed_special",
|
||||
"advanced": false,
|
||||
"type": "Literal'all'",
|
||||
"list": true
|
||||
},
|
||||
"disallowed_special": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": "all",
|
||||
"password": false,
|
||||
"name": "disallowed_special",
|
||||
"advanced": false,
|
||||
"type": "Literal'all'",
|
||||
"list": false
|
||||
},
|
||||
"_type": "OpenAI"
|
||||
},
|
||||
"description": "Wrapper around OpenAI large language models.",
|
||||
"base_classes": [
|
||||
"BaseLLM",
|
||||
"OpenAI",
|
||||
"BaseOpenAI",
|
||||
"BaseLanguageModel"
|
||||
]
|
||||
},
|
||||
"id": "dndnode_82",
|
||||
"value": null
|
||||
},
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 520,
|
||||
"y": 732
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"width": 384,
|
||||
"height": 273,
|
||||
"id": "dndnode_83",
|
||||
"type": "genericNode",
|
||||
"position": {
|
||||
"x": 512,
|
||||
"y": 402
|
||||
},
|
||||
"data": {
|
||||
"type": "ConversationBufferMemory",
|
||||
"node": {
|
||||
"template": {
|
||||
"chat_memory": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "chat_memory",
|
||||
"advanced": false,
|
||||
"type": "BaseChatMessageHistory",
|
||||
"list": false
|
||||
},
|
||||
"output_key": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "output_key",
|
||||
"advanced": false,
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"input_key": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "input_key",
|
||||
"advanced": false,
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"return_messages": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"password": false,
|
||||
"name": "return_messages",
|
||||
"advanced": false,
|
||||
"type": "bool",
|
||||
"list": false
|
||||
},
|
||||
"human_prefix": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": "Human",
|
||||
"password": false,
|
||||
"name": "human_prefix",
|
||||
"advanced": false,
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"ai_prefix": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": false,
|
||||
"multiline": false,
|
||||
"value": "AI",
|
||||
"password": false,
|
||||
"name": "ai_prefix",
|
||||
"advanced": false,
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"memory_key": {
|
||||
"required": false,
|
||||
"placeholder": "",
|
||||
"show": true,
|
||||
"multiline": false,
|
||||
"value": "history",
|
||||
"password": false,
|
||||
"name": "memory_key",
|
||||
"advanced": false,
|
||||
"type": "str",
|
||||
"list": false
|
||||
},
|
||||
"_type": "ConversationBufferMemory"
|
||||
},
|
||||
"description": "Buffer for storing conversation memory.",
|
||||
"base_classes": [
|
||||
"ConversationBufferMemory",
|
||||
"BaseChatMemory",
|
||||
"BaseMemory"
|
||||
]
|
||||
},
|
||||
"id": "dndnode_83",
|
||||
"value": null
|
||||
},
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 512,
|
||||
"y": 402
|
||||
},
|
||||
"dragging": false
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"source": "dndnode_82",
|
||||
"sourceHandle": "OpenAI|dndnode_82|BaseLLM|OpenAI|BaseOpenAI|BaseLanguageModel",
|
||||
"target": "dndnode_81",
|
||||
"targetHandle": "BaseLanguageModel|llm|dndnode_81",
|
||||
"className": "animate-pulse",
|
||||
"id": "reactflow__edge-dndnode_82OpenAI|dndnode_82|BaseLLM|OpenAI|BaseOpenAI|BaseLanguageModel-dndnode_81BaseLanguageModel|llm|dndnode_81",
|
||||
"selected": false
|
||||
},
|
||||
{
|
||||
"source": "dndnode_83",
|
||||
"sourceHandle": "ConversationBufferMemory|dndnode_83|ConversationBufferMemory|BaseChatMemory|BaseMemory",
|
||||
"target": "dndnode_81",
|
||||
"targetHandle": "BaseChatMemory|memory|dndnode_81",
|
||||
"className": "animate-pulse",
|
||||
"id": "reactflow__edge-dndnode_83ConversationBufferMemory|dndnode_83|ConversationBufferMemory|BaseChatMemory|BaseMemory-dndnode_81BaseChatMemory|memory|dndnode_81"
|
||||
}
|
||||
],
|
||||
"viewport": {
|
||||
"x": 1,
|
||||
"y": 0,
|
||||
"zoom": 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,16 +0,0 @@
|
|||
import random
|
||||
|
||||
from langflow.custom import CustomComponent
|
||||
|
||||
|
||||
class TestComponent(CustomComponent):
|
||||
def refresh_values(self):
|
||||
# This is a function that will be called every time the component is updated
|
||||
# and should return a list of random strings
|
||||
return [f"Random {random.randint(1, 100)}" for _ in range(5)]
|
||||
|
||||
def build_config(self):
|
||||
return {"param": {"display_name": "Param", "options": self.refresh_values}}
|
||||
|
||||
def build(self, param: int):
|
||||
return param
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
from langflow.custom import Component
|
||||
from langflow.template.field.base import Input, Output
|
||||
|
||||
|
||||
class MultipleOutputsComponent(Component):
|
||||
inputs = [
|
||||
Input(display_name="Input", name="input", field_type=str),
|
||||
Input(display_name="Number", name="number", field_type=int),
|
||||
]
|
||||
outputs = [
|
||||
Output(display_name="Certain Output", name="certain_output", method="certain_output"),
|
||||
Output(display_name="Other Output", name="other_output", method="other_output"),
|
||||
]
|
||||
|
||||
def certain_output(self) -> str:
|
||||
return f"This is my string input: {self.input}"
|
||||
|
||||
def other_output(self) -> int:
|
||||
return f"This is my int input multiplied by 2: {self.number * 2}"
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
from random import randint
|
||||
|
||||
from langflow.custom import Component
|
||||
from langflow.template.field.base import Input, Output
|
||||
|
||||
|
||||
class MultipleOutputsComponent(Component):
|
||||
inputs = [
|
||||
Input(display_name="Input", name="input", field_type=str),
|
||||
Input(display_name="Number", name="number", field_type=int),
|
||||
]
|
||||
outputs = [
|
||||
Output(display_name="Certain Output", name="certain_output", method="certain_output"),
|
||||
Output(display_name="Other Output", name="other_output", method="other_output"),
|
||||
]
|
||||
|
||||
def certain_output(self) -> int:
|
||||
return randint(0, self.number)
|
||||
|
||||
def other_output(self) -> int:
|
||||
return self.certain_output()
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
import random
|
||||
|
||||
from langflow.custom import CustomComponent
|
||||
from langflow.field_typing import Input
|
||||
|
||||
|
||||
class TestComponent(CustomComponent):
|
||||
def refresh_values(self):
|
||||
# This is a function that will be called every time the component is updated
|
||||
# and should return a list of random strings
|
||||
return [f"Random {random.randint(1, 100)}" for _ in range(5)]
|
||||
|
||||
def build_config(self):
|
||||
return {"param": Input(display_name="Param", options=self.refresh_values)}
|
||||
|
||||
def build(self, param: int):
|
||||
return param
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue