feat: add nodes
This commit is contained in:
parent
8b1a28e05e
commit
4a26bf5d46
8 changed files with 82 additions and 10 deletions
|
|
@ -37,10 +37,13 @@ toolkits:
|
|||
memories:
|
||||
- ConversationBufferMemory
|
||||
|
||||
embeddings: []
|
||||
embeddings:
|
||||
- OpenAIEmbeddings
|
||||
|
||||
vectorstores: []
|
||||
vectorstores:
|
||||
- Chroma
|
||||
|
||||
documentloaders: []
|
||||
documentloaders:
|
||||
- TextLoader
|
||||
|
||||
dev: false
|
||||
|
|
|
|||
|
|
@ -142,3 +142,33 @@ class WrapperNode(Node):
|
|||
self.params["headers"] = eval(self.params["headers"])
|
||||
self._build()
|
||||
return deepcopy(self._built_object)
|
||||
|
||||
|
||||
class DocumentLoaderNode(Node):
|
||||
def __init__(self, data: Dict):
|
||||
super().__init__(data, base_type="documentloaders")
|
||||
|
||||
def build(self, force: bool = False) -> Any:
|
||||
if not self._built or force:
|
||||
self._build()
|
||||
return deepcopy(self._built_object)
|
||||
|
||||
|
||||
class EmbeddingNode(Node):
|
||||
def __init__(self, data: Dict):
|
||||
super().__init__(data, base_type="embeddings")
|
||||
|
||||
def build(self, force: bool = False) -> Any:
|
||||
if not self._built or force:
|
||||
self._build()
|
||||
return deepcopy(self._built_object)
|
||||
|
||||
|
||||
class VectorStoreNode(Node):
|
||||
def __init__(self, data: Dict):
|
||||
super().__init__(data, base_type="vectorstores")
|
||||
|
||||
def build(self, force: bool = False) -> Any:
|
||||
if not self._built or force:
|
||||
self._build()
|
||||
return deepcopy(self._built_object)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ from langflow.utils.util import build_template_from_class
|
|||
|
||||
|
||||
class DocumentLoaderCreator(LangChainTypeCreator):
|
||||
type_name: str = "documentloader"
|
||||
type_name: str = "documentloaders"
|
||||
|
||||
@property
|
||||
def type_to_loader_dict(self) -> Dict:
|
||||
|
|
@ -16,7 +16,21 @@ class DocumentLoaderCreator(LangChainTypeCreator):
|
|||
def get_signature(self, name: str) -> Optional[Dict]:
|
||||
"""Get the signature of a document loader."""
|
||||
try:
|
||||
return build_template_from_class(name, documentloaders_type_to_cls_dict)
|
||||
signature = build_template_from_class(
|
||||
name, documentloaders_type_to_cls_dict
|
||||
)
|
||||
|
||||
signature["template"]["file"] = {
|
||||
"type": "file",
|
||||
"required": True,
|
||||
"show": True,
|
||||
"name": "path",
|
||||
"value": "",
|
||||
"suffixes": [".txt"],
|
||||
"fileTypes": ["txt"],
|
||||
}
|
||||
|
||||
return signature
|
||||
except ValueError as exc:
|
||||
raise ValueError(f"Documment Loader {name} not found") from exc
|
||||
|
||||
|
|
|
|||
0
src/backend/langflow/interface/embeddings/__init__.py
Normal file
0
src/backend/langflow/interface/embeddings/__init__.py
Normal file
0
src/backend/langflow/interface/vectorStore/__init__.py
Normal file
0
src/backend/langflow/interface/vectorStore/__init__.py
Normal file
|
|
@ -7,7 +7,7 @@ from langflow.utils.util import build_template_from_class
|
|||
|
||||
|
||||
class VectorstoreCreator(LangChainTypeCreator):
|
||||
type_name: str = "vectorstore"
|
||||
type_name: str = "vectorstores"
|
||||
|
||||
@property
|
||||
def type_to_loader_dict(self) -> Dict:
|
||||
|
|
@ -16,7 +16,26 @@ class VectorstoreCreator(LangChainTypeCreator):
|
|||
def get_signature(self, name: str) -> Optional[Dict]:
|
||||
"""Get the signature of an embedding."""
|
||||
try:
|
||||
return build_template_from_class(name, vectorstores_type_to_cls_dict)
|
||||
signature = build_template_from_class(name, vectorstores_type_to_cls_dict)
|
||||
|
||||
signature["template"] = {
|
||||
"Document Loader": {
|
||||
"type": "BaseLoader",
|
||||
"required": True,
|
||||
"show": True,
|
||||
"name": "Document Loader",
|
||||
"value": "",
|
||||
},
|
||||
"Embedding": {
|
||||
"type": "Embeddings",
|
||||
"required": True,
|
||||
"show": True,
|
||||
"name": "Embedding",
|
||||
"value": "",
|
||||
},
|
||||
}
|
||||
return signature
|
||||
|
||||
except ValueError as exc:
|
||||
raise ValueError(f"Vector Store {name} not found") from exc
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,9 @@ export const nodeColors: {[char: string]: string} = {
|
|||
advanced: "#000000",
|
||||
chat: "#454173",
|
||||
thought:"#272541",
|
||||
docloaders:"#FF9135",
|
||||
embeddings:"#FF9135",
|
||||
documentloader:"#FF9135",
|
||||
vectorstore: "#FF9135",
|
||||
unknown:"#9CA3AF"
|
||||
};
|
||||
|
||||
|
|
@ -89,7 +91,9 @@ export const nodeNames:{[char: string]: string} = {
|
|||
memories: "Memories",
|
||||
advanced: "Advanced",
|
||||
chat: "Chat",
|
||||
docloaders:"Document Loader",
|
||||
embeddings: "Embeddings",
|
||||
documentloader: "Document Loaders",
|
||||
vectorstore: "Vector Stores",
|
||||
toolkits:"Toolkits",
|
||||
wrappers:"Wrappers",
|
||||
unknown:"Unknown"
|
||||
|
|
@ -104,7 +108,9 @@ export const nodeIcons:{[char: string]: React.ForwardRefExoticComponent<React.SV
|
|||
tools: WrenchIcon,
|
||||
advanced: ComputerDesktopIcon,
|
||||
chat: Bars3CenterLeftIcon,
|
||||
docloaders:Bars3CenterLeftIcon,
|
||||
embeddings:PaperClipIcon,
|
||||
documentloader:PaperClipIcon,
|
||||
vectorstore: PaperClipIcon,
|
||||
toolkits:WrenchScrewdriverIcon,
|
||||
wrappers:GiftIcon,
|
||||
unknown:QuestionMarkCircleIcon
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue