fix: change field to templatefield
This is done to avoid conflict with pydantic
This commit is contained in:
parent
3b3edee22c
commit
f829cc3b59
5 changed files with 24 additions and 23 deletions
|
|
@ -3,7 +3,7 @@ from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from langflow.template.base import Field, FrontendNode, Template
|
from langflow.template.base import TemplateField, FrontendNode, Template
|
||||||
|
|
||||||
# Assuming necessary imports for Field, Template, and FrontendNode classes
|
# Assuming necessary imports for Field, Template, and FrontendNode classes
|
||||||
|
|
||||||
|
|
@ -43,7 +43,7 @@ class LangChainTypeCreator(BaseModel, ABC):
|
||||||
if signature is None:
|
if signature is None:
|
||||||
raise ValueError(f"{name} not found")
|
raise ValueError(f"{name} not found")
|
||||||
fields = [
|
fields = [
|
||||||
Field(
|
TemplateField(
|
||||||
name=key,
|
name=key,
|
||||||
field_type=value["type"],
|
field_type=value["type"],
|
||||||
required=value.get("required", False),
|
required=value.get("required", False),
|
||||||
|
|
|
||||||
|
|
@ -47,13 +47,14 @@ class ToolkitCreator(LangChainTypeCreator):
|
||||||
def to_list(self) -> List[str]:
|
def to_list(self) -> List[str]:
|
||||||
return list(self.type_to_loader_dict.keys())
|
return list(self.type_to_loader_dict.keys())
|
||||||
|
|
||||||
def get_create_function(self, name: str) -> Callable | None:
|
def get_create_function(self, name: str) -> Callable:
|
||||||
if loader_name := self.create_functions.get(name, None):
|
if loader_name := self.create_functions.get(name, None):
|
||||||
# import loader
|
# import loader
|
||||||
return import_module(
|
return import_module(
|
||||||
f"from langchain.agents.agent_toolkits import {loader_name[0]}"
|
f"from langchain.agents.agent_toolkits import {loader_name[0]}"
|
||||||
)
|
)
|
||||||
return None
|
else:
|
||||||
|
raise ValueError("Loader not found")
|
||||||
|
|
||||||
def has_create_function(self, name: str) -> bool:
|
def has_create_function(self, name: str) -> bool:
|
||||||
# check if the function list is not empty
|
# check if the function list is not empty
|
||||||
|
|
|
||||||
|
|
@ -20,11 +20,11 @@ from langflow.interface.tools.util import (
|
||||||
get_tools_dict,
|
get_tools_dict,
|
||||||
)
|
)
|
||||||
from langflow.settings import settings
|
from langflow.settings import settings
|
||||||
from langflow.template.base import Field, Template
|
from langflow.template.base import TemplateField, Template
|
||||||
from langflow.utils import util
|
from langflow.utils import util
|
||||||
|
|
||||||
TOOL_INPUTS = {
|
TOOL_INPUTS = {
|
||||||
"str": Field(
|
"str": TemplateField(
|
||||||
field_type="str",
|
field_type="str",
|
||||||
required=True,
|
required=True,
|
||||||
is_list=False,
|
is_list=False,
|
||||||
|
|
@ -32,15 +32,15 @@ TOOL_INPUTS = {
|
||||||
placeholder="",
|
placeholder="",
|
||||||
value="",
|
value="",
|
||||||
),
|
),
|
||||||
"llm": Field(field_type="BaseLLM", required=True, is_list=False, show=True),
|
"llm": TemplateField(field_type="BaseLLM", required=True, is_list=False, show=True),
|
||||||
"func": Field(
|
"func": TemplateField(
|
||||||
field_type="function",
|
field_type="function",
|
||||||
required=True,
|
required=True,
|
||||||
is_list=False,
|
is_list=False,
|
||||||
show=True,
|
show=True,
|
||||||
multiline=True,
|
multiline=True,
|
||||||
),
|
),
|
||||||
"code": Field(
|
"code": TemplateField(
|
||||||
field_type="str",
|
field_type="str",
|
||||||
required=True,
|
required=True,
|
||||||
is_list=False,
|
is_list=False,
|
||||||
|
|
@ -48,7 +48,7 @@ TOOL_INPUTS = {
|
||||||
value="",
|
value="",
|
||||||
multiline=True,
|
multiline=True,
|
||||||
),
|
),
|
||||||
"dict_": Field(
|
"dict_": TemplateField(
|
||||||
field_type="file",
|
field_type="file",
|
||||||
required=True,
|
required=True,
|
||||||
is_list=False,
|
is_list=False,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ from typing import Any, Union
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
class FieldCreator(BaseModel, ABC):
|
class TemplateFieldCreator(BaseModel, ABC):
|
||||||
field_type: str = "str"
|
field_type: str = "str"
|
||||||
required: bool = False
|
required: bool = False
|
||||||
placeholder: str = ""
|
placeholder: str = ""
|
||||||
|
|
@ -37,13 +37,13 @@ class FieldCreator(BaseModel, ABC):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
class Field(FieldCreator):
|
class TemplateField(TemplateFieldCreator):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Template(BaseModel):
|
class Template(BaseModel):
|
||||||
type_name: str
|
type_name: str
|
||||||
fields: list[Field]
|
fields: list[TemplateField]
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
result = {field.name: field.to_dict() for field in self.fields}
|
result = {field.name: field.to_dict() for field in self.fields}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
from langchain.agents.mrkl import prompt
|
from langchain.agents.mrkl import prompt
|
||||||
|
|
||||||
from langflow.template.base import Field, FrontendNode, Template
|
from langflow.template.base import TemplateField, FrontendNode, Template
|
||||||
from langflow.utils.constants import DEFAULT_PYTHON_FUNCTION
|
from langflow.utils.constants import DEFAULT_PYTHON_FUNCTION
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -9,7 +9,7 @@ class ZeroShotPromptNode(FrontendNode):
|
||||||
template: Template = Template(
|
template: Template = Template(
|
||||||
type_name="zero_shot",
|
type_name="zero_shot",
|
||||||
fields=[
|
fields=[
|
||||||
Field(
|
TemplateField(
|
||||||
field_type="str",
|
field_type="str",
|
||||||
required=False,
|
required=False,
|
||||||
placeholder="",
|
placeholder="",
|
||||||
|
|
@ -19,7 +19,7 @@ class ZeroShotPromptNode(FrontendNode):
|
||||||
value=prompt.PREFIX,
|
value=prompt.PREFIX,
|
||||||
name="prefix",
|
name="prefix",
|
||||||
),
|
),
|
||||||
Field(
|
TemplateField(
|
||||||
field_type="str",
|
field_type="str",
|
||||||
required=True,
|
required=True,
|
||||||
placeholder="",
|
placeholder="",
|
||||||
|
|
@ -29,7 +29,7 @@ class ZeroShotPromptNode(FrontendNode):
|
||||||
value=prompt.SUFFIX,
|
value=prompt.SUFFIX,
|
||||||
name="suffix",
|
name="suffix",
|
||||||
),
|
),
|
||||||
Field(
|
TemplateField(
|
||||||
field_type="str",
|
field_type="str",
|
||||||
required=False,
|
required=False,
|
||||||
placeholder="",
|
placeholder="",
|
||||||
|
|
@ -53,7 +53,7 @@ class PythonFunctionNode(FrontendNode):
|
||||||
template: Template = Template(
|
template: Template = Template(
|
||||||
type_name="python_function",
|
type_name="python_function",
|
||||||
fields=[
|
fields=[
|
||||||
Field(
|
TemplateField(
|
||||||
field_type="code",
|
field_type="code",
|
||||||
required=True,
|
required=True,
|
||||||
placeholder="",
|
placeholder="",
|
||||||
|
|
@ -76,7 +76,7 @@ class ToolNode(FrontendNode):
|
||||||
template: Template = Template(
|
template: Template = Template(
|
||||||
type_name="tool",
|
type_name="tool",
|
||||||
fields=[
|
fields=[
|
||||||
Field(
|
TemplateField(
|
||||||
field_type="str",
|
field_type="str",
|
||||||
required=True,
|
required=True,
|
||||||
placeholder="",
|
placeholder="",
|
||||||
|
|
@ -86,7 +86,7 @@ class ToolNode(FrontendNode):
|
||||||
value="",
|
value="",
|
||||||
name="name",
|
name="name",
|
||||||
),
|
),
|
||||||
Field(
|
TemplateField(
|
||||||
field_type="str",
|
field_type="str",
|
||||||
required=True,
|
required=True,
|
||||||
placeholder="",
|
placeholder="",
|
||||||
|
|
@ -96,7 +96,7 @@ class ToolNode(FrontendNode):
|
||||||
value="",
|
value="",
|
||||||
name="description",
|
name="description",
|
||||||
),
|
),
|
||||||
Field(
|
TemplateField(
|
||||||
field_type="str",
|
field_type="str",
|
||||||
required=True,
|
required=True,
|
||||||
placeholder="",
|
placeholder="",
|
||||||
|
|
@ -120,13 +120,13 @@ class JsonAgentNode(FrontendNode):
|
||||||
template: Template = Template(
|
template: Template = Template(
|
||||||
type_name="json_agent",
|
type_name="json_agent",
|
||||||
fields=[
|
fields=[
|
||||||
Field(
|
TemplateField(
|
||||||
field_type="BaseToolkit",
|
field_type="BaseToolkit",
|
||||||
required=True,
|
required=True,
|
||||||
show=True,
|
show=True,
|
||||||
name="toolkit",
|
name="toolkit",
|
||||||
),
|
),
|
||||||
Field(
|
TemplateField(
|
||||||
field_type="BaseLanguageModel",
|
field_type="BaseLanguageModel",
|
||||||
required=True,
|
required=True,
|
||||||
show=True,
|
show=True,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue