[FEATURE]Custom node
I hope to create a tool for creating nodes that allows users to customize and create nodes directly on the webpage.
This would be great especially if we could share custom nodes back to the project so we could leverage the community more to add support for things.
what are some of the example custom nodes?
For example, if you define the top-level basic rules of node components, the internal structure of node components can be assembled by dragging and dropping, and specific logic can be executed through custom js or python languages, so that there is no need to customize and develop various components
I have been looking for a way to concatenate results from several chains. I might be missing a more obvious way I can already do that, but if not then a custom concatenate node could be useful.
Yeah, we definetly could use the ability to add custom logic to the flow.
We could add decision trees that don't need llms, loggers, transformers...
It would open up Flowise capabilities by a lot.
Maybe start simple, using the Custom tool as a template, but with Inputs and Outputs that become node plugs, and a little typescript editor.
Something like this:
I'm not completely familiar with the source code yet to understand the feasability of this, but sure looks appetizing to me, let me know what you think. I'm interested in this, and would help if possible.
Hi @raffareis, do you mean something similar to n8n switch?
I believe @LiZhouYan meant that.
I meant something simpler like a Custom Tool, that instead of needing an agent to be consumed, could have inputs and an output exposed as connections. This node could be used as a "Man-in-the-middle" between nodes, to be able to add logs, tranformations, logic decisions or anything else.
The logic could be written in js, like the custom tool. (Maybe @LiZhouYan idea and this n8n could evolve from here, as an UI to create a custom js code behind the curtains)
One example use for this:
As another example, we could do something like take a BaseChain[] as input, and output a BaseChain based on some sort of requirement or parameter.
Hey @raffareis, Thanks for the clarification. I get an idea of what you meant.
Below are my understanding on what you guys wanna achieve, correct me if I'm wrong: Custom tool node will be based on an input to make decisions/transform data/perform any action defined by user's written logic, and then output the result to the next node.
Maybe the node could follow a simple format like this which can be exported/imported so they could also be easily shared ...
{
"node": {
"id": "node45",
"type": "custom",
"inputs": [
{
"id": "input1",
"type": "output prediction",
"value": 0
},
{
"id": "input2",
"type": "whatever",
"value": "..."
},
//... add as many inputs as you need
],
"logic": {
"functionName": "combineInputs",
"parameters": ["input1", "input2"],
"code": "function combineInputs(input1, input2) {return input1 + input2;}"
},
"outputs": [
{
"id": "output1",
"type": "number",
"value": 0
},
{
"id": "output2",
"type": "text",
"value": ""
},
//... add as many outputs as you need
]
}
}
I would like a custom LLM node that gives the ability to use a self hosted LLM by specifying the API endpoint
I need this function too. Are there any developer document can help me to rebuild or build a new tool quickly?
+1 for custom nodes as it can unlock custom agents
I REALLY WANT THE CUSTOM NODES! It would be so cool, only if it was my expertise in the first place, to do something about this. And Yes, export nodes YES, export flows YES! It would be so cool. Flowise would simply go crazy with these little little cool features! I kinda had assumed before using flowise that it might had some easy way to share and develop custom nodes, because I had a requirement while researching, I want to use something like this flowise in a more varied environment that chat.
Langflow has the ability to edit the code directly on nodes, which is super helpful.