mirror of
https://github.com/farcasclaudiu/Flowise.git
synced 2026-06-22 09:01:09 +03:00
Feature/Seq Agent Nodes Update (#2942)
update all seg agent nodes to 2.0 for UI UX improvements
This commit is contained in:
@@ -162,17 +162,19 @@ class Agent_SeqAgents implements INode {
|
||||
baseClasses: string[]
|
||||
inputs?: INodeParams[]
|
||||
badge?: string
|
||||
documentation?: string
|
||||
outputs: INodeOutputsValue[]
|
||||
|
||||
constructor() {
|
||||
this.label = 'Agent'
|
||||
this.name = 'seqAgent'
|
||||
this.version = 1.0
|
||||
this.version = 2.0
|
||||
this.type = 'Agent'
|
||||
this.icon = 'seqAgent.png'
|
||||
this.category = 'Sequential Agents'
|
||||
this.description = 'Agent that can execute tools'
|
||||
this.baseClasses = [this.type]
|
||||
this.documentation = 'https://docs.flowiseai.com/using-flowise/agentflows/sequential-agents#id-4.-agent-node'
|
||||
this.inputs = [
|
||||
{
|
||||
label: 'Agent Name',
|
||||
@@ -201,12 +203,13 @@ class Agent_SeqAgents implements INode {
|
||||
label: 'Tools',
|
||||
name: 'tools',
|
||||
type: 'Tool',
|
||||
list: true
|
||||
list: true,
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
label: 'Start | Agent | LLM | Tool Node',
|
||||
label: 'Start | Agent | Condition | LLM | Tool Node',
|
||||
name: 'sequentialNode',
|
||||
type: 'Start | Agent | LLMNode | ToolNode',
|
||||
type: 'Start | Agent | Condition | LLMNode | ToolNode',
|
||||
list: true
|
||||
},
|
||||
{
|
||||
|
||||
@@ -90,17 +90,19 @@ class Condition_SeqAgents implements INode {
|
||||
baseClasses: string[]
|
||||
credential: INodeParams
|
||||
inputs: INodeParams[]
|
||||
documentation?: string
|
||||
outputs: INodeOutputsValue[]
|
||||
|
||||
constructor() {
|
||||
this.label = 'Condition'
|
||||
this.name = 'seqCondition'
|
||||
this.version = 1.0
|
||||
this.version = 2.0
|
||||
this.type = 'Condition'
|
||||
this.icon = 'condition.svg'
|
||||
this.category = 'Sequential Agents'
|
||||
this.description = 'Conditional function to determine which route to take next'
|
||||
this.baseClasses = [this.type]
|
||||
this.documentation = 'https://docs.flowiseai.com/using-flowise/agentflows/sequential-agents#id-7.-conditional-node'
|
||||
this.inputs = [
|
||||
{
|
||||
label: 'Condition Name',
|
||||
@@ -214,13 +216,13 @@ class Condition_SeqAgents implements INode {
|
||||
{
|
||||
label: 'Next',
|
||||
name: 'next',
|
||||
baseClasses: ['Agent', 'LLMNode', 'ToolNode'],
|
||||
baseClasses: ['Condition'],
|
||||
isAnchor: true
|
||||
},
|
||||
{
|
||||
label: 'End',
|
||||
name: 'end',
|
||||
baseClasses: ['Agent', 'LLMNode', 'ToolNode'],
|
||||
baseClasses: ['Condition'],
|
||||
isAnchor: true
|
||||
}
|
||||
]
|
||||
|
||||
@@ -143,17 +143,19 @@ class ConditionAgent_SeqAgents implements INode {
|
||||
baseClasses: string[]
|
||||
credential: INodeParams
|
||||
inputs: INodeParams[]
|
||||
documentation?: string
|
||||
outputs: INodeOutputsValue[]
|
||||
|
||||
constructor() {
|
||||
this.label = 'Condition Agent'
|
||||
this.name = 'seqConditionAgent'
|
||||
this.version = 1.0
|
||||
this.version = 2.0
|
||||
this.type = 'ConditionAgent'
|
||||
this.icon = 'condition.svg'
|
||||
this.category = 'Sequential Agents'
|
||||
this.description = 'Uses an agent to determine which route to take next'
|
||||
this.baseClasses = [this.type]
|
||||
this.documentation = 'https://docs.flowiseai.com/using-flowise/agentflows/sequential-agents#id-8.-conditional-agent-node'
|
||||
this.inputs = [
|
||||
{
|
||||
label: 'Name',
|
||||
@@ -330,13 +332,13 @@ class ConditionAgent_SeqAgents implements INode {
|
||||
{
|
||||
label: 'Next',
|
||||
name: 'next',
|
||||
baseClasses: ['Agent', 'LLMNode', 'ToolNode'],
|
||||
baseClasses: ['Condition'],
|
||||
isAnchor: true
|
||||
},
|
||||
{
|
||||
label: 'End',
|
||||
name: 'end',
|
||||
baseClasses: ['Agent', 'LLMNode', 'ToolNode'],
|
||||
baseClasses: ['Condition'],
|
||||
isAnchor: true
|
||||
}
|
||||
]
|
||||
|
||||
@@ -11,23 +11,25 @@ class End_SeqAgents implements INode {
|
||||
category: string
|
||||
baseClasses: string[]
|
||||
credential: INodeParams
|
||||
documentation?: string
|
||||
inputs: INodeParams[]
|
||||
hideOutput: boolean
|
||||
|
||||
constructor() {
|
||||
this.label = 'End'
|
||||
this.name = 'seqEnd'
|
||||
this.version = 1.0
|
||||
this.version = 2.0
|
||||
this.type = 'End'
|
||||
this.icon = 'end.svg'
|
||||
this.category = 'Sequential Agents'
|
||||
this.description = 'End conversation'
|
||||
this.baseClasses = [this.type]
|
||||
this.documentation = 'https://docs.flowiseai.com/using-flowise/agentflows/sequential-agents#id-10.-end-node'
|
||||
this.inputs = [
|
||||
{
|
||||
label: 'Start | Agent | LLM | Tool Node',
|
||||
label: 'Agent | Condition | LLM | Tool Node',
|
||||
name: 'sequentialNode',
|
||||
type: 'Start | Agent | LLMNode | ToolNode'
|
||||
type: 'Agent | Condition | LLMNode | ToolNode'
|
||||
}
|
||||
]
|
||||
this.hideOutput = true
|
||||
|
||||
@@ -141,17 +141,19 @@ class LLMNode_SeqAgents implements INode {
|
||||
baseClasses: string[]
|
||||
inputs?: INodeParams[]
|
||||
badge?: string
|
||||
documentation?: string
|
||||
outputs: INodeOutputsValue[]
|
||||
|
||||
constructor() {
|
||||
this.label = 'LLM Node'
|
||||
this.name = 'seqLLMNode'
|
||||
this.version = 1.0
|
||||
this.version = 2.0
|
||||
this.type = 'LLMNode'
|
||||
this.icon = 'llmNode.svg'
|
||||
this.category = 'Sequential Agents'
|
||||
this.description = 'Run Chat Model and return the output'
|
||||
this.baseClasses = [this.type]
|
||||
this.documentation = 'https://docs.flowiseai.com/using-flowise/agentflows/sequential-agents#id-5.-llm-node'
|
||||
this.inputs = [
|
||||
{
|
||||
label: 'Name',
|
||||
@@ -177,9 +179,9 @@ class LLMNode_SeqAgents implements INode {
|
||||
additionalParams: true
|
||||
},
|
||||
{
|
||||
label: 'Start | Agent | LLM | Tool Node',
|
||||
label: 'Start | Agent | Condition | LLM | Tool Node',
|
||||
name: 'sequentialNode',
|
||||
type: 'Start | Agent | LLMNode | ToolNode',
|
||||
type: 'Start | Agent | Condition | LLMNode | ToolNode',
|
||||
list: true
|
||||
},
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@ class Loop_SeqAgents implements INode {
|
||||
icon: string
|
||||
category: string
|
||||
baseClasses: string[]
|
||||
documentation?: string
|
||||
credential: INodeParams
|
||||
inputs: INodeParams[]
|
||||
hideOutput: boolean
|
||||
@@ -16,25 +17,26 @@ class Loop_SeqAgents implements INode {
|
||||
constructor() {
|
||||
this.label = 'Loop'
|
||||
this.name = 'seqLoop'
|
||||
this.version = 1.0
|
||||
this.version = 2.0
|
||||
this.type = 'Loop'
|
||||
this.icon = 'loop.svg'
|
||||
this.category = 'Sequential Agents'
|
||||
this.description = 'Loop back to the specific sequential node'
|
||||
this.baseClasses = [this.type]
|
||||
this.documentation = 'https://docs.flowiseai.com/using-flowise/agentflows/sequential-agents#id-9.-loop-node'
|
||||
this.inputs = [
|
||||
{
|
||||
label: 'Start | Agent | LLM | Tool Node',
|
||||
label: 'Agent | Condition | LLM | Tool Node',
|
||||
name: 'sequentialNode',
|
||||
type: 'Start | Agent | LLMNode | ToolNode',
|
||||
type: 'Agent | Condition | LLMNode | ToolNode',
|
||||
list: true
|
||||
},
|
||||
{
|
||||
label: 'Loop To',
|
||||
name: 'loopToName',
|
||||
description: 'Name of the agent to loop back to',
|
||||
description: 'Name of the agent/llm to loop back to',
|
||||
type: 'string',
|
||||
placeholder: 'agent1'
|
||||
placeholder: 'Agent'
|
||||
}
|
||||
]
|
||||
this.hideOutput = true
|
||||
|
||||
@@ -12,18 +12,20 @@ class Start_SeqAgents implements INode {
|
||||
icon: string
|
||||
category: string
|
||||
baseClasses: string[]
|
||||
documentation?: string
|
||||
credential: INodeParams
|
||||
inputs: INodeParams[]
|
||||
|
||||
constructor() {
|
||||
this.label = 'Start'
|
||||
this.name = 'seqStart'
|
||||
this.version = 1.0
|
||||
this.version = 2.0
|
||||
this.type = 'Start'
|
||||
this.icon = 'start.svg'
|
||||
this.category = 'Sequential Agents'
|
||||
this.description = 'Starting point of the conversation'
|
||||
this.baseClasses = [this.type]
|
||||
this.documentation = 'https://docs.flowiseai.com/using-flowise/agentflows/sequential-agents#id-1.-start-node'
|
||||
this.inputs = [
|
||||
{
|
||||
label: 'Chat Model',
|
||||
|
||||
@@ -34,21 +34,23 @@ class State_SeqAgents implements INode {
|
||||
icon: string
|
||||
category: string
|
||||
baseClasses: string[]
|
||||
documentation?: string
|
||||
credential: INodeParams
|
||||
inputs: INodeParams[]
|
||||
|
||||
constructor() {
|
||||
this.label = 'State'
|
||||
this.name = 'seqState'
|
||||
this.version = 1.0
|
||||
this.version = 2.0
|
||||
this.type = 'State'
|
||||
this.icon = 'state.svg'
|
||||
this.category = 'Sequential Agents'
|
||||
this.description = 'A centralized state object, updated by nodes in the graph, passing from one node to another'
|
||||
this.baseClasses = [this.type]
|
||||
this.documentation = 'https://docs.flowiseai.com/using-flowise/agentflows/sequential-agents#id-3.-state-node'
|
||||
this.inputs = [
|
||||
{
|
||||
label: 'State',
|
||||
label: 'Custom State',
|
||||
name: 'stateMemory',
|
||||
type: 'tabs',
|
||||
tabIdentifier: TAB_IDENTIFIER,
|
||||
@@ -56,7 +58,7 @@ class State_SeqAgents implements INode {
|
||||
default: 'stateMemoryUI',
|
||||
tabs: [
|
||||
{
|
||||
label: 'State (Table)',
|
||||
label: 'Custom State (Table)',
|
||||
name: 'stateMemoryUI',
|
||||
type: 'datagrid',
|
||||
description:
|
||||
@@ -80,7 +82,7 @@ class State_SeqAgents implements INode {
|
||||
additionalParams: true
|
||||
},
|
||||
{
|
||||
label: 'State (Code)',
|
||||
label: 'Custom State (Code)',
|
||||
name: 'stateMemoryCode',
|
||||
type: 'code',
|
||||
description: `JSON object representing the state`,
|
||||
|
||||
@@ -136,18 +136,20 @@ class ToolNode_SeqAgents implements INode {
|
||||
icon: string
|
||||
category: string
|
||||
baseClasses: string[]
|
||||
documentation?: string
|
||||
credential: INodeParams
|
||||
inputs: INodeParams[]
|
||||
|
||||
constructor() {
|
||||
this.label = 'Tool Node'
|
||||
this.name = 'seqToolNode'
|
||||
this.version = 1.0
|
||||
this.version = 2.0
|
||||
this.type = 'ToolNode'
|
||||
this.icon = 'toolNode.svg'
|
||||
this.category = 'Sequential Agents'
|
||||
this.description = `Execute tool and return tool's output`
|
||||
this.baseClasses = [this.type]
|
||||
this.documentation = 'https://docs.flowiseai.com/using-flowise/agentflows/sequential-agents#id-6.-tool-node'
|
||||
this.inputs = [
|
||||
{
|
||||
label: 'Tools',
|
||||
|
||||
@@ -118,6 +118,7 @@ export interface INodeProperties {
|
||||
deprecateMessage?: string
|
||||
hideOutput?: boolean
|
||||
author?: string
|
||||
documentation?: string
|
||||
}
|
||||
|
||||
export interface INode extends INodeProperties {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"data": {
|
||||
"id": "seqLLMNode_0",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -57,6 +57,40 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqLLMNode_0-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "JSON Structured Output",
|
||||
"name": "llmStructuredOutput",
|
||||
"type": "datagrid",
|
||||
"description": "Instruct the LLM to give output in a JSON structured schema",
|
||||
"datagrid": [
|
||||
{
|
||||
"field": "key",
|
||||
"headerName": "Key",
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "type",
|
||||
"headerName": "Type",
|
||||
"type": "singleSelect",
|
||||
"valueOptions": ["String", "String Array", "Number", "Boolean", "Enum"],
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "enumValues",
|
||||
"headerName": "Enum Values",
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "description",
|
||||
"headerName": "Description",
|
||||
"flex": 1,
|
||||
"editable": true
|
||||
}
|
||||
],
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqLLMNode_0-input-llmStructuredOutput-datagrid"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -92,6 +126,10 @@
|
||||
"label": "LLM Node Output (string)",
|
||||
"value": "$flow.output.content"
|
||||
},
|
||||
{
|
||||
"label": "LLM JSON Output Key (string)",
|
||||
"value": "$flow.output.<replace-with-key>"
|
||||
},
|
||||
{
|
||||
"label": "Global variable (string)",
|
||||
"value": "$vars.<variable-name>"
|
||||
@@ -140,11 +178,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -159,9 +197,10 @@
|
||||
"llmNodeName": "Agent",
|
||||
"systemMessagePrompt": "You are an expert financial analyst that always answers questions with the most relevant information using the tools at your disposal.\n\nThe tools available are:\n- search_apple\n- search_tesla\n\nThe current date is: 2024-07-10",
|
||||
"humanMessagePrompt": "{text}",
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}", "{{seqStart_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "{\"text\":\"{{question}}\"}",
|
||||
"llmStructuredOutput": "",
|
||||
"updateStateMemory": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -177,7 +216,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 777.3229608822006,
|
||||
@@ -195,7 +234,7 @@
|
||||
"data": {
|
||||
"id": "seqStart_0",
|
||||
"label": "Start",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqStart",
|
||||
"type": "Start",
|
||||
"baseClasses": ["Start"],
|
||||
@@ -222,7 +261,7 @@
|
||||
"label": "State",
|
||||
"name": "state",
|
||||
"type": "State",
|
||||
"description": "State is an object that is updated by nodes in the graph, passing from one node to another. Agent Memory must be connected when using State. By default, state contains \"messages\" that got updated with each message sent and received.",
|
||||
"description": "State is an object that is updated by nodes in the graph, passing from one node to another. By default, state contains \"messages\" that got updated with each message sent and received.",
|
||||
"optional": true,
|
||||
"id": "seqStart_0-input-state-State"
|
||||
},
|
||||
@@ -273,7 +312,7 @@
|
||||
"data": {
|
||||
"id": "seqConditionAgent_0",
|
||||
"label": "Condition Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqConditionAgent",
|
||||
"type": "ConditionAgent",
|
||||
"baseClasses": ["ConditionAgent"],
|
||||
@@ -334,7 +373,7 @@
|
||||
"field": "type",
|
||||
"headerName": "Type",
|
||||
"type": "singleSelect",
|
||||
"valueOptions": ["String", "Number", "Boolean", "Enum"],
|
||||
"valueOptions": ["String", "String Array", "Number", "Boolean", "Enum"],
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
@@ -483,37 +522,39 @@
|
||||
"promptValues": "{\"context\":\"{{seqToolNode_0.data.instance}}\",\"question\":\"{{question}}\"}",
|
||||
"conditionAgentStructuredOutput": "[{\"key\":\"score\",\"type\":\"Enum\",\"enumValues\":\"yes, no\",\"description\":\"grading score\",\"actions\":\"\",\"id\":1}]",
|
||||
"condition": "",
|
||||
"conditionUI": "[{\"variable\":\"$flow.output.score\",\"operation\":\"Is\",\"value\":\"yes\",\"output\":\"Generate\",\"actions\":\"\",\"id\":1},{\"variable\":\"$flow.output.score\",\"operation\":\"Is\",\"value\":\"no\",\"output\":\"Rewrite\",\"actions\":\"\",\"id\":2}]",
|
||||
"selectedConditionFunctionTab_seqConditionAgent_0": "conditionUI"
|
||||
"selectedConditionFunctionTab_seqConditionAgent_0": "conditionUI",
|
||||
"conditionUI": "[{\"variable\":\"$flow.output.score\",\"operation\":\"Is\",\"value\":\"yes\",\"output\":\"Generate\",\"actions\":\"\",\"id\":1},{\"variable\":\"$flow.output.score\",\"operation\":\"Is\",\"value\":\"no\",\"output\":\"Rewrite\",\"actions\":\"\",\"id\":2}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
"name": "output",
|
||||
"label": "Output",
|
||||
"type": "options",
|
||||
"description": "",
|
||||
"options": [
|
||||
{
|
||||
"id": "seqConditionAgent_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"id": "seqConditionAgent_0-output-end-Condition",
|
||||
"name": "end",
|
||||
"label": "End",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqConditionAgent_0-output-generate-Agent|LLMNode|ToolNode",
|
||||
"id": "seqConditionAgent_0-output-generate-Condition",
|
||||
"name": "generate",
|
||||
"label": "Generate",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqConditionAgent_0-output-rewrite-Agent|LLMNode|ToolNode",
|
||||
"id": "seqConditionAgent_0-output-rewrite-Condition",
|
||||
"name": "rewrite",
|
||||
"label": "Rewrite",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"default": "next"
|
||||
}
|
||||
],
|
||||
"outputs": {
|
||||
@@ -540,7 +581,7 @@
|
||||
"data": {
|
||||
"id": "seqLLMNode_1",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -584,6 +625,40 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqLLMNode_1-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "JSON Structured Output",
|
||||
"name": "llmStructuredOutput",
|
||||
"type": "datagrid",
|
||||
"description": "Instruct the LLM to give output in a JSON structured schema",
|
||||
"datagrid": [
|
||||
{
|
||||
"field": "key",
|
||||
"headerName": "Key",
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "type",
|
||||
"headerName": "Type",
|
||||
"type": "singleSelect",
|
||||
"valueOptions": ["String", "String Array", "Number", "Boolean", "Enum"],
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "enumValues",
|
||||
"headerName": "Enum Values",
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "description",
|
||||
"headerName": "Description",
|
||||
"flex": 1,
|
||||
"editable": true
|
||||
}
|
||||
],
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqLLMNode_1-input-llmStructuredOutput-datagrid"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -619,6 +694,10 @@
|
||||
"label": "LLM Node Output (string)",
|
||||
"value": "$flow.output.content"
|
||||
},
|
||||
{
|
||||
"label": "LLM JSON Output Key (string)",
|
||||
"value": "$flow.output.<replace-with-key>"
|
||||
},
|
||||
{
|
||||
"label": "Global variable (string)",
|
||||
"value": "$vars.<variable-name>"
|
||||
@@ -667,11 +746,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -686,9 +765,10 @@
|
||||
"llmNodeName": "Rewrite",
|
||||
"systemMessagePrompt": "You are a helpful assistant that can Transform the query to produce a better question.",
|
||||
"humanMessagePrompt": "Look at the input and try to reason about the underlying semantic intent / meaning.\n\nHere is the initial question:\n{question} \n \nFormulate an improved question:\n",
|
||||
"sequentialNode": ["{{seqConditionAgent_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqConditionAgent_0.data.instance}}", "{{seqConditionAgent_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "{\"question\":\"{{question}}\"}",
|
||||
"llmStructuredOutput": "",
|
||||
"updateStateMemory": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -704,7 +784,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 2214.7883262686187,
|
||||
@@ -722,7 +802,7 @@
|
||||
"data": {
|
||||
"id": "seqLLMNode_2",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -766,6 +846,40 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqLLMNode_2-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "JSON Structured Output",
|
||||
"name": "llmStructuredOutput",
|
||||
"type": "datagrid",
|
||||
"description": "Instruct the LLM to give output in a JSON structured schema",
|
||||
"datagrid": [
|
||||
{
|
||||
"field": "key",
|
||||
"headerName": "Key",
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "type",
|
||||
"headerName": "Type",
|
||||
"type": "singleSelect",
|
||||
"valueOptions": ["String", "String Array", "Number", "Boolean", "Enum"],
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "enumValues",
|
||||
"headerName": "Enum Values",
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "description",
|
||||
"headerName": "Description",
|
||||
"flex": 1,
|
||||
"editable": true
|
||||
}
|
||||
],
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqLLMNode_2-input-llmStructuredOutput-datagrid"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -801,6 +915,10 @@
|
||||
"label": "LLM Node Output (string)",
|
||||
"value": "$flow.output.content"
|
||||
},
|
||||
{
|
||||
"label": "LLM JSON Output Key (string)",
|
||||
"value": "$flow.output.<replace-with-key>"
|
||||
},
|
||||
{
|
||||
"label": "Global variable (string)",
|
||||
"value": "$vars.<variable-name>"
|
||||
@@ -849,11 +967,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -868,9 +986,10 @@
|
||||
"llmNodeName": "Generate",
|
||||
"systemMessagePrompt": "You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Remember to include sources and citations.\n\nQuestion: {question} \n\nContext: {context}\n\nAnswer:",
|
||||
"humanMessagePrompt": "Given the user question and context, answer user query. Remember to includes sources and citations",
|
||||
"sequentialNode": ["{{seqConditionAgent_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqConditionAgent_0.data.instance}}", "{{seqConditionAgent_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "{\"question\":\"{{question}}\",\"context\":\"$flow.state.sources\"}",
|
||||
"llmStructuredOutput": "",
|
||||
"updateStateMemory": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -886,7 +1005,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 2205.875202632436,
|
||||
@@ -897,14 +1016,14 @@
|
||||
{
|
||||
"id": "seqLoop_0",
|
||||
"position": {
|
||||
"x": 2570.607230504145,
|
||||
"y": 805.1405051032167
|
||||
"x": 2559.3078506376914,
|
||||
"y": 827.739264836123
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqLoop_0",
|
||||
"label": "Loop",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLoop",
|
||||
"type": "Loop",
|
||||
"baseClasses": ["Loop"],
|
||||
@@ -914,23 +1033,23 @@
|
||||
{
|
||||
"label": "Loop To",
|
||||
"name": "loopToName",
|
||||
"description": "Name of the agent to loop back to",
|
||||
"description": "Name of the agent/llm to loop back to",
|
||||
"type": "string",
|
||||
"placeholder": "agent1",
|
||||
"placeholder": "Agent",
|
||||
"id": "seqLoop_0-input-loopToName-string"
|
||||
}
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLoop_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"sequentialNode": ["{{seqLLMNode_1.data.instance}}"],
|
||||
"sequentialNode": ["{{seqLLMNode_1.data.instance}}", "{{seqLLMNode_1.data.instance}}"],
|
||||
"loopToName": "Agent"
|
||||
},
|
||||
"outputAnchors": [],
|
||||
@@ -941,8 +1060,8 @@
|
||||
"height": 241,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 2570.607230504145,
|
||||
"y": 805.1405051032167
|
||||
"x": 2559.3078506376914,
|
||||
"y": 827.739264836123
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -956,7 +1075,7 @@
|
||||
"data": {
|
||||
"id": "seqEnd_0",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -965,10 +1084,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -1073,7 +1192,7 @@
|
||||
"data": {
|
||||
"id": "seqEnd_1",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -1082,10 +1201,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -1400,7 +1519,7 @@
|
||||
"data": {
|
||||
"id": "seqState_0",
|
||||
"label": "State",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqState",
|
||||
"type": "State",
|
||||
"baseClasses": ["State"],
|
||||
@@ -1408,7 +1527,7 @@
|
||||
"description": "A centralized state object, updated by nodes in the graph, passing from one node to another",
|
||||
"inputParams": [
|
||||
{
|
||||
"label": "State",
|
||||
"label": "Custom State",
|
||||
"name": "stateMemory",
|
||||
"type": "tabs",
|
||||
"tabIdentifier": "selectedStateTab",
|
||||
@@ -1416,7 +1535,7 @@
|
||||
"default": "stateMemoryUI",
|
||||
"tabs": [
|
||||
{
|
||||
"label": "State (Table)",
|
||||
"label": "Custom State (Table)",
|
||||
"name": "stateMemoryUI",
|
||||
"type": "datagrid",
|
||||
"description": "Structure for state. By default, state contains \"messages\" that got updated with each message sent and received.",
|
||||
@@ -1448,7 +1567,7 @@
|
||||
"additionalParams": true
|
||||
},
|
||||
{
|
||||
"label": "State (Code)",
|
||||
"label": "Custom State (Code)",
|
||||
"name": "stateMemoryCode",
|
||||
"type": "code",
|
||||
"description": "JSON object representing the state",
|
||||
@@ -1463,8 +1582,7 @@
|
||||
],
|
||||
"inputAnchors": [],
|
||||
"inputs": {
|
||||
"stateMemory": "stateMemoryUI",
|
||||
"stateMemoryUI": "[{\"key\":\"sources\",\"type\":\"Replace\",\"defaultValue\":\"\",\"actions\":\"\",\"id\":0}]"
|
||||
"stateMemory": "stateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
@@ -1497,7 +1615,7 @@
|
||||
"data": {
|
||||
"id": "seqLLMNode_3",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -1541,6 +1659,40 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqLLMNode_3-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "JSON Structured Output",
|
||||
"name": "llmStructuredOutput",
|
||||
"type": "datagrid",
|
||||
"description": "Instruct the LLM to give output in a JSON structured schema",
|
||||
"datagrid": [
|
||||
{
|
||||
"field": "key",
|
||||
"headerName": "Key",
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "type",
|
||||
"headerName": "Type",
|
||||
"type": "singleSelect",
|
||||
"valueOptions": ["String", "String Array", "Number", "Boolean", "Enum"],
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "enumValues",
|
||||
"headerName": "Enum Values",
|
||||
"editable": true
|
||||
},
|
||||
{
|
||||
"field": "description",
|
||||
"headerName": "Description",
|
||||
"flex": 1,
|
||||
"editable": true
|
||||
}
|
||||
],
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqLLMNode_3-input-llmStructuredOutput-datagrid"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -1576,6 +1728,10 @@
|
||||
"label": "LLM Node Output (string)",
|
||||
"value": "$flow.output.content"
|
||||
},
|
||||
{
|
||||
"label": "LLM JSON Output Key (string)",
|
||||
"value": "$flow.output.<replace-with-key>"
|
||||
},
|
||||
{
|
||||
"label": "Global variable (string)",
|
||||
"value": "$vars.<variable-name>"
|
||||
@@ -1624,11 +1780,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -1643,9 +1799,10 @@
|
||||
"llmNodeName": "Return Agent",
|
||||
"systemMessagePrompt": "",
|
||||
"humanMessagePrompt": "",
|
||||
"sequentialNode": ["{{seqToolNode_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqToolNode_0.data.instance}}", "{{seqToolNode_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "",
|
||||
"llmStructuredOutput": "",
|
||||
"updateStateMemory": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -1661,7 +1818,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1477.8265021173233,
|
||||
@@ -2380,7 +2537,7 @@
|
||||
"data": {
|
||||
"id": "seqToolNode_0",
|
||||
"label": "Tool Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqToolNode",
|
||||
"type": "ToolNode",
|
||||
"baseClasses": ["ToolNode"],
|
||||
@@ -2653,54 +2810,6 @@
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqLLMNode_0",
|
||||
"targetHandle": "seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqLLMNode_0-seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"target": "seqEnd_1",
|
||||
"targetHandle": "seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-end-Agent|LLMNode|ToolNode-seqEnd_1-seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-generate-Agent|LLMNode|ToolNode",
|
||||
"target": "seqLLMNode_2",
|
||||
"targetHandle": "seqLLMNode_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-generate-Agent|LLMNode|ToolNode-seqLLMNode_2-seqLLMNode_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-rewrite-Agent|LLMNode|ToolNode",
|
||||
"target": "seqLLMNode_1",
|
||||
"targetHandle": "seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-rewrite-Agent|LLMNode|ToolNode-seqLLMNode_1-seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_2",
|
||||
"sourceHandle": "seqLLMNode_2-output-seqLLMNode-LLMNode",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqLLMNode_2-seqLLMNode_2-output-seqLLMNode-LLMNode-seqEnd_0-seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_1",
|
||||
"sourceHandle": "seqLLMNode_1-output-seqLLMNode-LLMNode",
|
||||
"target": "seqLoop_0",
|
||||
"targetHandle": "seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqLLMNode_1-seqLLMNode_1-output-seqLLMNode-LLMNode-seqLoop_0-seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "pinecone_0",
|
||||
"sourceHandle": "pinecone_0-output-retriever-Pinecone|VectorStoreRetriever|BaseRetriever",
|
||||
@@ -2773,14 +2882,6 @@
|
||||
"type": "buttonedge",
|
||||
"id": "seqLLMNode_0-seqLLMNode_0-output-seqLLMNode-LLMNode-seqToolNode_0-seqToolNode_0-input-llmNode-LLMNode"
|
||||
},
|
||||
{
|
||||
"source": "seqToolNode_0",
|
||||
"sourceHandle": "seqToolNode_0-output-seqToolNode-ToolNode",
|
||||
"target": "seqLLMNode_3",
|
||||
"targetHandle": "seqLLMNode_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqToolNode_0-seqToolNode_0-output-seqToolNode-ToolNode-seqLLMNode_3-seqLLMNode_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "retrieverTool_1",
|
||||
"sourceHandle": "retrieverTool_1-output-retrieverTool-RetrieverTool|DynamicTool|Tool|StructuredTool|Runnable",
|
||||
@@ -2796,6 +2897,62 @@
|
||||
"targetHandle": "seqStart_0-input-agentMemory-BaseCheckpointSaver",
|
||||
"type": "buttonedge",
|
||||
"id": "agentMemory_0-agentMemory_0-output-agentMemory-AgentMemory|BaseCheckpointSaver-seqStart_0-seqStart_0-input-agentMemory-BaseCheckpointSaver"
|
||||
},
|
||||
{
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqLLMNode_0",
|
||||
"targetHandle": "seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqLLMNode_0-seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqToolNode_0",
|
||||
"sourceHandle": "seqToolNode_0-output-seqToolNode-ToolNode",
|
||||
"target": "seqLLMNode_3",
|
||||
"targetHandle": "seqLLMNode_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqToolNode_0-seqToolNode_0-output-seqToolNode-ToolNode-seqLLMNode_3-seqLLMNode_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-end-Condition",
|
||||
"target": "seqEnd_1",
|
||||
"targetHandle": "seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-end-Condition-seqEnd_1-seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-generate-Condition",
|
||||
"target": "seqLLMNode_2",
|
||||
"targetHandle": "seqLLMNode_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-generate-Condition-seqLLMNode_2-seqLLMNode_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-rewrite-Condition",
|
||||
"target": "seqLLMNode_1",
|
||||
"targetHandle": "seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-rewrite-Condition-seqLLMNode_1-seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_1",
|
||||
"sourceHandle": "seqLLMNode_1-output-seqLLMNode-LLMNode",
|
||||
"target": "seqLoop_0",
|
||||
"targetHandle": "seqLoop_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqLLMNode_1-seqLLMNode_1-output-seqLLMNode-LLMNode-seqLoop_0-seqLoop_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_2",
|
||||
"sourceHandle": "seqLLMNode_2-output-seqLLMNode-LLMNode",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqLLMNode_2-seqLLMNode_2-output-seqLLMNode-LLMNode-seqEnd_0-seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"data": {
|
||||
"id": "seqStart_0",
|
||||
"label": "Start",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqStart",
|
||||
"type": "Start",
|
||||
"baseClasses": ["Start"],
|
||||
@@ -91,7 +91,7 @@
|
||||
"data": {
|
||||
"id": "seqAgent_0",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -124,6 +124,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_0-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -134,6 +142,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_0-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -241,14 +280,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_0-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -264,9 +304,13 @@
|
||||
"systemMessagePrompt": "Only reply \"I am A\"",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": "",
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}", "{{seqStart_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": ""
|
||||
},
|
||||
@@ -283,7 +327,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 762,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 534.6891175301298,
|
||||
@@ -294,14 +338,14 @@
|
||||
{
|
||||
"id": "seqAgent_1",
|
||||
"position": {
|
||||
"x": 983.41414631527,
|
||||
"y": -302.8933510311883
|
||||
"x": 995.5938931003413,
|
||||
"y": -373.94187394410403
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqAgent_1",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -334,6 +378,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_1-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -344,6 +396,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_1-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -451,14 +534,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_1-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -474,9 +558,13 @@
|
||||
"systemMessagePrompt": "Only reply \"I am B\"",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": "",
|
||||
"sequentialNode": ["{{seqAgent_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqAgent_0.data.instance}}", "{{seqAgent_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": ""
|
||||
},
|
||||
@@ -493,11 +581,11 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 762,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 983.41414631527,
|
||||
"y": -302.8933510311883
|
||||
"x": 995.5938931003413,
|
||||
"y": -373.94187394410403
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -511,7 +599,7 @@
|
||||
"data": {
|
||||
"id": "seqAgent_2",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -544,6 +632,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_2-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_2-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -554,6 +650,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_2-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_2-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_2-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_2-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -661,14 +788,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_2-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -684,9 +812,13 @@
|
||||
"systemMessagePrompt": "Only reply \"I am C\"",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": "",
|
||||
"sequentialNode": ["{{seqAgent_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqAgent_0.data.instance}}", "{{seqAgent_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": ""
|
||||
},
|
||||
@@ -703,7 +835,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 762,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1002.0147830660676,
|
||||
@@ -721,7 +853,7 @@
|
||||
"data": {
|
||||
"id": "seqAgent_3",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -754,6 +886,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_3-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_3-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -764,6 +904,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_3-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_3-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_3-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_3-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -871,14 +1042,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_3-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -894,9 +1066,18 @@
|
||||
"systemMessagePrompt": "Only reply \"I am D\"",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": "",
|
||||
"sequentialNode": ["{{seqAgent_2.data.instance}}", "{{seqAgent_1.data.instance}}"],
|
||||
"sequentialNode": [
|
||||
"{{seqAgent_2.data.instance}}",
|
||||
"{{seqAgent_1.data.instance}}",
|
||||
"{{seqAgent_2.data.instance}}",
|
||||
"{{seqAgent_1.data.instance}}"
|
||||
],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": ""
|
||||
},
|
||||
@@ -913,7 +1094,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 762,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1388.5733958149945,
|
||||
@@ -1048,7 +1229,7 @@
|
||||
"data": {
|
||||
"id": "seqEnd_0",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -1057,10 +1238,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -1093,49 +1274,49 @@
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqAgent_0",
|
||||
"targetHandle": "seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqAgent_0-seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_0",
|
||||
"sourceHandle": "seqAgent_0-output-seqAgent-Agent",
|
||||
"target": "seqAgent_2",
|
||||
"targetHandle": "seqAgent_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqAgent_2-seqAgent_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqAgent_0-seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_0",
|
||||
"sourceHandle": "seqAgent_0-output-seqAgent-Agent",
|
||||
"target": "seqAgent_1",
|
||||
"targetHandle": "seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqAgent_1-seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqAgent_1-seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_0",
|
||||
"sourceHandle": "seqAgent_0-output-seqAgent-Agent",
|
||||
"target": "seqAgent_2",
|
||||
"targetHandle": "seqAgent_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqAgent_2-seqAgent_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_2",
|
||||
"sourceHandle": "seqAgent_2-output-seqAgent-Agent",
|
||||
"target": "seqAgent_3",
|
||||
"targetHandle": "seqAgent_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqAgent_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_2-seqAgent_2-output-seqAgent-Agent-seqAgent_3-seqAgent_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_2-seqAgent_2-output-seqAgent-Agent-seqAgent_3-seqAgent_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_1",
|
||||
"sourceHandle": "seqAgent_1-output-seqAgent-Agent",
|
||||
"target": "seqAgent_3",
|
||||
"targetHandle": "seqAgent_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqAgent_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_1-seqAgent_1-output-seqAgent-Agent-seqAgent_3-seqAgent_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_1-seqAgent_1-output-seqAgent-Agent-seqAgent_3-seqAgent_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_3",
|
||||
"sourceHandle": "seqAgent_3-output-seqAgent-Agent",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_3-seqAgent_3-output-seqAgent-Agent-seqEnd_0-seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_3-seqAgent_3-output-seqAgent-Agent-seqEnd_0-seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"data": {
|
||||
"id": "seqStart_0",
|
||||
"label": "Start",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqStart",
|
||||
"type": "Start",
|
||||
"baseClasses": ["Start"],
|
||||
@@ -91,7 +91,7 @@
|
||||
"data": {
|
||||
"id": "seqCondition_0",
|
||||
"label": "Condition",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqCondition",
|
||||
"type": "Condition",
|
||||
"baseClasses": ["Condition"],
|
||||
@@ -215,30 +215,32 @@
|
||||
"conditionName": "If loop > 3 times",
|
||||
"sequentialNode": ["{{seqLLMNode_0.data.instance}}"],
|
||||
"condition": "",
|
||||
"conditionUI": "[{\"variable\":\"$flow.state.messages.length\",\"operation\":\"Less Than or Equal To\",\"value\":\"6\",\"output\":\"Grading\",\"actions\":\"\",\"id\":0}]",
|
||||
"selectedConditionFunctionTab_seqCondition_0": "conditionUI"
|
||||
"selectedConditionFunctionTab_seqCondition_0": "conditionUI",
|
||||
"conditionUI": "[{\"variable\":\"$flow.state.messages.length\",\"operation\":\"Less Than or Equal To\",\"value\":\"6\",\"output\":\"Grading\",\"actions\":\"\",\"id\":0}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
"name": "output",
|
||||
"label": "Output",
|
||||
"type": "options",
|
||||
"description": "",
|
||||
"options": [
|
||||
{
|
||||
"id": "seqCondition_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"id": "seqCondition_0-output-end-Condition",
|
||||
"name": "end",
|
||||
"label": "End",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqCondition_0-output-grading-Agent|LLMNode|ToolNode",
|
||||
"id": "seqCondition_0-output-grading-Condition",
|
||||
"name": "grading",
|
||||
"label": "Grading",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"default": "next"
|
||||
}
|
||||
],
|
||||
"outputs": {
|
||||
@@ -265,7 +267,7 @@
|
||||
"data": {
|
||||
"id": "seqLLMNode_0",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -430,11 +432,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -449,9 +451,10 @@
|
||||
"llmNodeName": "Writer",
|
||||
"systemMessagePrompt": "You are an essay assistant tasked with writing excellent 3-paragraph essays.\nGenerate the best essay possible for the user's request. \nIf the user provides critique, respond with a revised version of your previous attempts.",
|
||||
"humanMessagePrompt": "",
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}", "{{seqStart_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "",
|
||||
"llmStructuredOutput": "",
|
||||
"updateStateMemory": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -467,7 +470,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 603.8430617050778,
|
||||
@@ -485,7 +488,7 @@
|
||||
"data": {
|
||||
"id": "seqLLMNode_1",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -650,11 +653,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -669,9 +672,10 @@
|
||||
"llmNodeName": "Teacher",
|
||||
"systemMessagePrompt": "You are a teacher grading an essay submission.\nGenerate critique and recommendations for the user's submission.\nProvide detailed recommendations, including requests for length, depth, style, etc.",
|
||||
"humanMessagePrompt": "",
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}", "{{seqCondition_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "",
|
||||
"llmStructuredOutput": "",
|
||||
"updateStateMemory": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -687,7 +691,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1353.990019049842,
|
||||
@@ -705,7 +709,7 @@
|
||||
"data": {
|
||||
"id": "seqEnd_0",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -714,10 +718,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -739,14 +743,14 @@
|
||||
{
|
||||
"id": "seqLoop_0",
|
||||
"position": {
|
||||
"x": 1696.8250975937838,
|
||||
"y": 653.0299300609207
|
||||
"x": 1730.9768550888484,
|
||||
"y": 654.3960003607233
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqLoop_0",
|
||||
"label": "Loop",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLoop",
|
||||
"type": "Loop",
|
||||
"baseClasses": ["Loop"],
|
||||
@@ -756,19 +760,19 @@
|
||||
{
|
||||
"label": "Loop To",
|
||||
"name": "loopToName",
|
||||
"description": "Name of the agent to loop back to",
|
||||
"description": "Name of the agent/llm to loop back to",
|
||||
"type": "string",
|
||||
"placeholder": "agent1",
|
||||
"placeholder": "Agent",
|
||||
"id": "seqLoop_0-input-loopToName-string"
|
||||
}
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLoop_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -784,8 +788,8 @@
|
||||
"selected": false,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1696.8250975937838,
|
||||
"y": 653.0299300609207
|
||||
"x": 1730.9768550888484,
|
||||
"y": 654.3960003607233
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1054,10 +1058,11 @@
|
||||
"data": {
|
||||
"id": "stickyNote_0",
|
||||
"label": "Sticky Note",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "stickyNote",
|
||||
"type": "StickyNote",
|
||||
"baseClasses": ["StickyNote"],
|
||||
"tags": ["Utilities"],
|
||||
"category": "Utilities",
|
||||
"description": "Add a sticky note",
|
||||
"inputParams": [
|
||||
@@ -1106,10 +1111,11 @@
|
||||
"data": {
|
||||
"id": "stickyNote_1",
|
||||
"label": "Sticky Note",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "stickyNote",
|
||||
"type": "StickyNote",
|
||||
"baseClasses": ["StickyNote"],
|
||||
"tags": ["Utilities"],
|
||||
"category": "Utilities",
|
||||
"description": "Add a sticky note",
|
||||
"inputParams": [
|
||||
@@ -1166,14 +1172,6 @@
|
||||
"type": "buttonedge",
|
||||
"id": "agentMemory_0-agentMemory_0-output-agentMemory-AgentMemory|BaseCheckpointSaver-seqStart_0-seqStart_0-input-agentMemory-BaseCheckpointSaver"
|
||||
},
|
||||
{
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqLLMNode_0",
|
||||
"targetHandle": "seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqLLMNode_0-seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_0",
|
||||
"sourceHandle": "seqLLMNode_0-output-seqLLMNode-LLMNode",
|
||||
@@ -1184,27 +1182,35 @@
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"sourceHandle": "seqCondition_0-output-end-Condition",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-end-Agent|LLMNode|ToolNode-seqEnd_0-seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqCondition_0-seqCondition_0-output-end-Condition-seqEnd_0-seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-grading-Agent|LLMNode|ToolNode",
|
||||
"sourceHandle": "seqCondition_0-output-grading-Condition",
|
||||
"target": "seqLLMNode_1",
|
||||
"targetHandle": "seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-grading-Agent|LLMNode|ToolNode-seqLLMNode_1-seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqCondition_0-seqCondition_0-output-grading-Condition-seqLLMNode_1-seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqLLMNode_0",
|
||||
"targetHandle": "seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqLLMNode_0-seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_1",
|
||||
"sourceHandle": "seqLLMNode_1-output-seqLLMNode-LLMNode",
|
||||
"target": "seqLoop_0",
|
||||
"targetHandle": "seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqLoop_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqLLMNode_1-seqLLMNode_1-output-seqLLMNode-LLMNode-seqLoop_0-seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_1-seqLLMNode_1-output-seqLLMNode-LLMNode-seqLoop_0-seqLoop_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
{
|
||||
"id": "seqStart_0",
|
||||
"position": {
|
||||
"x": 792.8312685189314,
|
||||
"y": 381.2371369608682
|
||||
"x": 796.4546450224532,
|
||||
"y": 359.4968779397379
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqStart_0",
|
||||
"label": "Start",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqStart",
|
||||
"type": "Start",
|
||||
"baseClasses": ["Start"],
|
||||
@@ -40,7 +40,7 @@
|
||||
"label": "State",
|
||||
"name": "state",
|
||||
"type": "State",
|
||||
"description": "State is an object that is updated by nodes in the graph, passing from one node to another. Agent Memory must be connected when using State. By default, state contains \"messages\" that got updated with each message sent and received.",
|
||||
"description": "State is an object that is updated by nodes in the graph, passing from one node to another. By default, state contains \"messages\" that got updated with each message sent and received.",
|
||||
"optional": true,
|
||||
"id": "seqStart_0-input-state-State"
|
||||
},
|
||||
@@ -75,8 +75,8 @@
|
||||
"width": 300,
|
||||
"height": 382,
|
||||
"positionAbsolute": {
|
||||
"x": 792.8312685189314,
|
||||
"y": 381.2371369608682
|
||||
"x": 796.4546450224532,
|
||||
"y": 359.4968779397379
|
||||
},
|
||||
"selected": false,
|
||||
"dragging": false
|
||||
@@ -85,7 +85,7 @@
|
||||
"id": "retrieverTool_0",
|
||||
"position": {
|
||||
"x": 798.8003381613986,
|
||||
"y": -266.40932507051906
|
||||
"y": -353.8148242822555
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
@@ -153,15 +153,15 @@
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 798.8003381613986,
|
||||
"y": -266.40932507051906
|
||||
"y": -353.8148242822555
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "pinecone_0",
|
||||
"position": {
|
||||
"x": 455.1155682452798,
|
||||
"y": -240.7558023068499
|
||||
"x": 457.1966515598449,
|
||||
"y": -359.3775512370636
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
@@ -335,16 +335,16 @@
|
||||
"height": 604,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 455.1155682452798,
|
||||
"y": -240.7558023068499
|
||||
"x": 457.1966515598449,
|
||||
"y": -359.3775512370636
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "openAIEmbeddings_0",
|
||||
"position": {
|
||||
"x": 106.9045217190612,
|
||||
"y": -160.72757403644664
|
||||
"x": 121.47210492101726,
|
||||
"y": -318.8899059433982
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
@@ -438,22 +438,22 @@
|
||||
"height": 423,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 106.9045217190612,
|
||||
"y": -160.72757403644664
|
||||
"x": 121.47210492101726,
|
||||
"y": -318.8899059433982
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqState_0",
|
||||
"position": {
|
||||
"x": -839.6942362755474,
|
||||
"y": 338.4940899612586
|
||||
"x": 423.5233356655001,
|
||||
"y": 677.7106702353785
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqState_0",
|
||||
"label": "State",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqState",
|
||||
"type": "State",
|
||||
"baseClasses": ["State"],
|
||||
@@ -461,7 +461,7 @@
|
||||
"description": "A centralized state object, updated by nodes in the graph, passing from one node to another",
|
||||
"inputParams": [
|
||||
{
|
||||
"label": "State",
|
||||
"label": "Custom State",
|
||||
"name": "stateMemory",
|
||||
"type": "tabs",
|
||||
"tabIdentifier": "selectedStateTab",
|
||||
@@ -469,7 +469,7 @@
|
||||
"default": "stateMemoryUI",
|
||||
"tabs": [
|
||||
{
|
||||
"label": "State (Table)",
|
||||
"label": "Custom State (Table)",
|
||||
"name": "stateMemoryUI",
|
||||
"type": "datagrid",
|
||||
"description": "Structure for state. By default, state contains \"messages\" that got updated with each message sent and received.",
|
||||
@@ -501,7 +501,7 @@
|
||||
"additionalParams": true
|
||||
},
|
||||
{
|
||||
"label": "State (Code)",
|
||||
"label": "Custom State (Code)",
|
||||
"name": "stateMemoryCode",
|
||||
"type": "code",
|
||||
"description": "JSON object representing the state",
|
||||
@@ -516,8 +516,7 @@
|
||||
],
|
||||
"inputAnchors": [],
|
||||
"inputs": {
|
||||
"stateMemory": "stateMemoryUI",
|
||||
"stateMemoryUI": "[]"
|
||||
"stateMemory": "stateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
@@ -535,16 +534,16 @@
|
||||
"height": 251,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": -839.6942362755474,
|
||||
"y": 338.4940899612586
|
||||
"x": 423.5233356655001,
|
||||
"y": 677.7106702353785
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "chatOpenAI_0",
|
||||
"position": {
|
||||
"x": -526.4925710918774,
|
||||
"y": -56.34309442732172
|
||||
"x": 64.53509024462608,
|
||||
"y": 287.03565247592854
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
@@ -715,16 +714,16 @@
|
||||
"height": 669,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": -526.4925710918774,
|
||||
"y": -56.34309442732172
|
||||
"x": 64.53509024462608,
|
||||
"y": 287.03565247592854
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "stickyNote_1",
|
||||
"position": {
|
||||
"x": -975.271215894973,
|
||||
"y": -136.01020442552294
|
||||
"x": -296.8380553467333,
|
||||
"y": 76.26029366012256
|
||||
},
|
||||
"type": "stickyNote",
|
||||
"data": {
|
||||
@@ -769,15 +768,15 @@
|
||||
"selected": false,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": -975.271215894973,
|
||||
"y": -136.01020442552294
|
||||
"x": -296.8380553467333,
|
||||
"y": 76.26029366012256
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "agentMemory_0",
|
||||
"position": {
|
||||
"x": -1114.3250603348317,
|
||||
"y": 9.945749373257343
|
||||
"x": 425.6765924433811,
|
||||
"y": 322.1082465580303
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
@@ -844,8 +843,8 @@
|
||||
"height": 327,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": -1114.3250603348317,
|
||||
"y": 9.945749373257343
|
||||
"x": 425.6765924433811,
|
||||
"y": 322.1082465580303
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -859,7 +858,7 @@
|
||||
"data": {
|
||||
"id": "seqAgent_1",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -895,7 +894,7 @@
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_1-input-interrupt-boolean"
|
||||
@@ -910,6 +909,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_1-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -1017,14 +1047,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_1-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -1040,10 +1071,13 @@
|
||||
"systemMessagePrompt": "You are a research assistant who can search for up-to-date info using search engine.",
|
||||
"humanMessagePrompt": "Given the conversation, respond to user with a more detailed answer. Use the tool provided to search for more information if necessary.\n\nAnswer:",
|
||||
"tools": ["{{googleCustomSearch_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqAgent_2.data.instance}}"],
|
||||
"sequentialNode": ["{{seqAgent_2.data.instance}}", "{{seqAgent_2.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": ""
|
||||
},
|
||||
@@ -1060,7 +1094,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 858,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1560.119237181011,
|
||||
@@ -1071,8 +1105,8 @@
|
||||
{
|
||||
"id": "googleCustomSearch_0",
|
||||
"position": {
|
||||
"x": 1915.3868978817745,
|
||||
"y": -117.01148118277794
|
||||
"x": 1192.5232854291921,
|
||||
"y": -538.0478308920015
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
@@ -1112,51 +1146,10 @@
|
||||
"selected": false,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1915.3868978817745,
|
||||
"y": -117.01148118277794
|
||||
"x": 1192.5232854291921,
|
||||
"y": -538.0478308920015
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "seqEnd_0",
|
||||
"position": {
|
||||
"x": 1923.7338499933962,
|
||||
"y": 366.70082659938157
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqEnd_0",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
"category": "Sequential Agents",
|
||||
"description": "End conversation",
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"sequentialNode": "{{seqAgent_1.data.instance}}"
|
||||
},
|
||||
"outputAnchors": [],
|
||||
"outputs": {},
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 143,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1923.7338499933962,
|
||||
"y": 366.70082659938157
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqAgent_2",
|
||||
"position": {
|
||||
@@ -1167,7 +1160,7 @@
|
||||
"data": {
|
||||
"id": "seqAgent_2",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -1356,14 +1349,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_2-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -1379,7 +1373,7 @@
|
||||
"systemMessagePrompt": "You are an expert financial analyst that always answers questions with the most relevant information using the tools at your disposal.\n\nThe tools available are:\n- search_apple\n\nThe current date is: 2024-07-10",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": ["{{retrieverTool_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}", "{{seqStart_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": true,
|
||||
"promptValues": "",
|
||||
@@ -1402,13 +1396,54 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 858,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1187.4958721568407,
|
||||
"y": -228.27663960439855
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "seqEnd_0",
|
||||
"position": {
|
||||
"x": 1930.8094081845668,
|
||||
"y": 438.7877647124094
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqEnd_0",
|
||||
"label": "End",
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
"category": "Sequential Agents",
|
||||
"description": "End conversation",
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"sequentialNode": "{{seqAgent_1.data.instance}}"
|
||||
},
|
||||
"outputAnchors": [],
|
||||
"outputs": {},
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 143,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1930.8094081845668,
|
||||
"y": 438.7877647124094
|
||||
},
|
||||
"dragging": false
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
@@ -1460,14 +1495,6 @@
|
||||
"type": "buttonedge",
|
||||
"id": "googleCustomSearch_0-googleCustomSearch_0-output-googleCustomSearch-GoogleCustomSearchAPI|Tool|StructuredTool|Runnable-seqAgent_1-seqAgent_1-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_1",
|
||||
"sourceHandle": "seqAgent_1-output-seqAgent-Agent",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_1-seqAgent_1-output-seqAgent-Agent-seqEnd_0-seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "retrieverTool_0",
|
||||
"sourceHandle": "retrieverTool_0-output-retrieverTool-RetrieverTool|DynamicTool|Tool|StructuredTool|Runnable",
|
||||
@@ -1480,17 +1507,25 @@
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqAgent_2",
|
||||
"targetHandle": "seqAgent_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqAgent_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqAgent_2-seqAgent_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqAgent_2-seqAgent_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_2",
|
||||
"sourceHandle": "seqAgent_2-output-seqAgent-Agent",
|
||||
"target": "seqAgent_1",
|
||||
"targetHandle": "seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_2-seqAgent_2-output-seqAgent-Agent-seqAgent_1-seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_2-seqAgent_2-output-seqAgent-Agent-seqAgent_1-seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_1",
|
||||
"sourceHandle": "seqAgent_1-output-seqAgent-Agent",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_1-seqAgent_1-output-seqAgent-Agent-seqEnd_0-seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"data": {
|
||||
"id": "seqStart_0",
|
||||
"label": "Start",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqStart",
|
||||
"type": "Start",
|
||||
"baseClasses": ["Start"],
|
||||
@@ -91,7 +91,7 @@
|
||||
"data": {
|
||||
"id": "seqLLMNode_0",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -256,11 +256,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -272,14 +272,15 @@
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"llmNodeName": "supervisor",
|
||||
"systemMessagePrompt": "You are a supervisor tasked with managing a conversation between the following workers:\n- agent1: software engineer\n- agent2: code reviewer\n\nGiven the following user request, respond with the worker to act next.\nEach worker will perform a task and respond with their results and status.\nWhen finished, respond with FINISH.\nSelect strategically to minimize the number of steps taken.",
|
||||
"humanMessagePrompt": "Given the conversation above, who should act next? Or should we FINISH? Select one of: agent1, agent2",
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}"],
|
||||
"llmNodeName": "Supervisor",
|
||||
"systemMessagePrompt": "You are a supervisor tasked with managing a conversation between the following workers:\n- software_engineer\n- code_reviewer\n\nGiven the following user request, respond with the worker to act next.\nEach worker will perform a task and respond with their results and status.\nWhen finished, respond with FINISH.\nSelect strategically to minimize the number of steps taken.",
|
||||
"humanMessagePrompt": "Given the conversation above, who should act next? Or should we FINISH? Select one of: software_engineer, code_reviewer",
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}", "{{seqStart_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "",
|
||||
"llmStructuredOutput": "[{\"key\":\"next\",\"type\":\"Enum\",\"enumValues\":\"FINISH, agent1, agent2\",\"description\":\"\",\"actions\":\"\",\"id\":0},{\"key\":\"instructions\",\"type\":\"String\",\"enumValues\":\"The specific instructions of the sub-task the next role should accomplish.\",\"description\":\"\",\"actions\":\"\",\"id\":1},{\"key\":\"reasoning\",\"type\":\"String\",\"enumValues\":\"\",\"description\":\"\",\"actions\":\"\",\"id\":2}]",
|
||||
"llmStructuredOutput": "[{\"key\":\"next\",\"type\":\"Enum\",\"enumValues\":\"FINISH, software_engineer, code_reviewer\",\"description\":\"\",\"actions\":\"\",\"id\":0},{\"key\":\"instructions\",\"type\":\"String\",\"enumValues\":\"The specific instructions of the sub-task the next role should accomplish.\",\"description\":\"\",\"actions\":\"\",\"id\":1},{\"key\":\"reasoning\",\"type\":\"String\",\"enumValues\":\"\",\"description\":\"\",\"actions\":\"\",\"id\":2}]",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"selectedUpdateStateMemoryTab_seqLLMNode_0": "updateStateMemoryUI",
|
||||
"updateStateMemoryUI": "[{\"key\":\"next\",\"value\":\"$flow.output.next\",\"actions\":\"\",\"id\":1}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -295,7 +296,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 410.6133428124564,
|
||||
@@ -306,14 +307,14 @@
|
||||
{
|
||||
"id": "seqAgent_0",
|
||||
"position": {
|
||||
"x": 1572.857390926285,
|
||||
"y": 37.72211705823145
|
||||
"x": 1154.6468303487545,
|
||||
"y": -688.2924668487278
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqAgent_0",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -346,6 +347,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_0-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -356,6 +365,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_0-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -463,14 +503,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_0-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -482,15 +523,20 @@
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"agentName": "agent2",
|
||||
"agentName": "Code Reviewer",
|
||||
"systemMessagePrompt": "As a Quality Assurance Engineer at {company}, you are an integral part of our development team, ensuring that our software products are of the highest quality. Your meticulous attention to detail and expertise in testing methodologies are crucial in identifying defects and ensuring that our code meets the highest standards.\n\nYour goal is to ensure the delivery of high-quality software through thorough code review and testing.\n\nReview the codebase for the new feature designed and implemented by the Senior Software Engineer. Your expertise goes beyond mere code inspection; you are adept at ensuring that developments not only function as intended but also adhere to the team's coding standards, enhance maintainability, and seamlessly integrate with existing systems. \n\nWith a deep appreciation for collaborative development, you provide constructive feedback, guiding contributors towards best practices and fostering a culture of continuous improvement. Your meticulous approach to reviewing code, coupled with your ability to foresee potential issues and recommend proactive solutions, ensures the delivery of high-quality software that is robust, scalable, and aligned with the team's strategic goals.\n\nAlways pass back the review and feedback to Senior Software Engineer.",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": "",
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}", "{{seqCondition_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "{\"company\":\"FlowiseAI Inc\"}",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": ""
|
||||
"maxIterations": "",
|
||||
"selectedUpdateStateMemoryTab_seqAgent_0": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
@@ -505,25 +551,25 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 762,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1572.857390926285,
|
||||
"y": 37.72211705823145
|
||||
"x": 1154.6468303487545,
|
||||
"y": -688.2924668487278
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqAgent_1",
|
||||
"position": {
|
||||
"x": 1194.601416892626,
|
||||
"y": -733.5332098804579
|
||||
"x": 1158.54031452547,
|
||||
"y": 235.4947694226982
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqAgent_1",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -556,6 +602,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_1-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -566,6 +620,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_1-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -673,14 +758,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_1-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -692,15 +778,20 @@
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"agentName": "agent1",
|
||||
"agentName": "Software Engineer",
|
||||
"systemMessagePrompt": "As a Senior Software Engineer at {company}, you are a pivotal part of our innovative development team. Your expertise and leadership drive the creation of robust, scalable software solutions that meet the needs of our diverse clientele. By applying best practices in software development, you ensure that our products are reliable, efficient, and maintainable.\n\nYour goal is to lead the development of high-quality software solutions.\n\nUtilize your deep technical knowledge and experience to architect, design, and implement software systems that address complex problems. Collaborate closely with other engineers, reviewers to ensure that the solutions you develop align with business objectives and user needs.\n\nDesign and implement new feature for the given task, ensuring it integrates seamlessly with existing systems and meets performance requirements. Use your understanding of {technology} to build this feature. Make sure to adhere to our coding standards and follow best practices.\n\nThe output should be a fully functional, well-documented feature that enhances our product's capabilities. Include detailed comments in the code. Pass the code to Quality Assurance Engineer for review if neccessary. Once ther review is good enough, produce a finalized version of the code.",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": "",
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}", "{{seqCondition_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "{\"company\":\"FlowiseAI Inc\",\"technology\":\"React, Node\"}",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": ""
|
||||
"maxIterations": "",
|
||||
"selectedUpdateStateMemoryTab_seqAgent_1": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
@@ -715,11 +806,11 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 762,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1194.601416892626,
|
||||
"y": -733.5332098804579
|
||||
"x": 1158.54031452547,
|
||||
"y": 235.4947694226982
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -733,7 +824,7 @@
|
||||
"data": {
|
||||
"id": "seqCondition_0",
|
||||
"label": "Condition",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqCondition",
|
||||
"type": "Condition",
|
||||
"baseClasses": ["Condition"],
|
||||
@@ -857,8 +948,8 @@
|
||||
"conditionName": "",
|
||||
"sequentialNode": ["{{seqLLMNode_0.data.instance}}"],
|
||||
"condition": "",
|
||||
"conditionUI": "[{\"variable\":\"$flow.state.next\",\"operation\":\"Is\",\"value\":\"agent1\",\"output\":\"Agent 1\",\"actions\":\"\",\"id\":0},{\"variable\":\"$flow.state.next\",\"operation\":\"Is\",\"value\":\"agent2\",\"output\":\"Agent 2\",\"actions\":\"\",\"id\":1}]",
|
||||
"selectedConditionFunctionTab_seqCondition_0": "conditionUI"
|
||||
"selectedConditionFunctionTab_seqCondition_0": "conditionUI",
|
||||
"conditionUI": "[{\"variable\":\"$flow.state.next\",\"operation\":\"Is\",\"value\":\"software_engineer\",\"output\":\"Software Engineer\",\"actions\":\"\",\"id\":0},{\"variable\":\"$flow.state.next\",\"operation\":\"Is\",\"value\":\"code_reviewer\",\"output\":\"Code Reviewer\",\"actions\":\"\",\"id\":1}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
@@ -867,24 +958,24 @@
|
||||
"type": "options",
|
||||
"options": [
|
||||
{
|
||||
"id": "seqCondition_0-output-agent1-Agent|LLMNode|ToolNode",
|
||||
"name": "agent1",
|
||||
"label": "Agent 1",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"id": "seqCondition_0-output-codeReviewer-Condition",
|
||||
"name": "codeReviewer",
|
||||
"label": "Code Reviewer",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqCondition_0-output-agent2-Agent|LLMNode|ToolNode",
|
||||
"name": "agent2",
|
||||
"label": "Agent 2",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqCondition_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"id": "seqCondition_0-output-end-Condition",
|
||||
"name": "end",
|
||||
"label": "End",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqCondition_0-output-softwareEngineer-Condition",
|
||||
"name": "softwareEngineer",
|
||||
"label": "Software Engineer",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
}
|
||||
]
|
||||
@@ -1170,7 +1261,7 @@
|
||||
"data": {
|
||||
"id": "seqState_0",
|
||||
"label": "State",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqState",
|
||||
"type": "State",
|
||||
"baseClasses": ["State"],
|
||||
@@ -1178,7 +1269,7 @@
|
||||
"description": "A centralized state object, updated by nodes in the graph, passing from one node to another",
|
||||
"inputParams": [
|
||||
{
|
||||
"label": "State",
|
||||
"label": "Custom State",
|
||||
"name": "stateMemory",
|
||||
"type": "tabs",
|
||||
"tabIdentifier": "selectedStateTab",
|
||||
@@ -1186,7 +1277,7 @@
|
||||
"default": "stateMemoryUI",
|
||||
"tabs": [
|
||||
{
|
||||
"label": "State (Table)",
|
||||
"label": "Custom State (Table)",
|
||||
"name": "stateMemoryUI",
|
||||
"type": "datagrid",
|
||||
"description": "Structure for state. By default, state contains \"messages\" that got updated with each message sent and received.",
|
||||
@@ -1218,7 +1309,7 @@
|
||||
"additionalParams": true
|
||||
},
|
||||
{
|
||||
"label": "State (Code)",
|
||||
"label": "Custom State (Code)",
|
||||
"name": "stateMemoryCode",
|
||||
"type": "code",
|
||||
"description": "JSON object representing the state",
|
||||
@@ -1234,6 +1325,7 @@
|
||||
"inputAnchors": [],
|
||||
"inputs": {
|
||||
"stateMemory": "stateMemoryUI",
|
||||
"selectedStateTab_seqState_0": "stateMemoryUI",
|
||||
"stateMemoryUI": "[{\"key\":\"next\",\"type\":\"Replace\",\"defaultValue\":\"\",\"actions\":\"\",\"id\":1}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -1257,121 +1349,17 @@
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqLoop_0",
|
||||
"position": {
|
||||
"x": 1548.204371709928,
|
||||
"y": -256.0852771782037
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqLoop_0",
|
||||
"label": "Loop",
|
||||
"version": 1,
|
||||
"name": "seqLoop",
|
||||
"type": "Loop",
|
||||
"baseClasses": ["Loop"],
|
||||
"category": "Sequential Agents",
|
||||
"description": "Loop back to the specific sequential node",
|
||||
"inputParams": [
|
||||
{
|
||||
"label": "Loop To",
|
||||
"name": "loopToName",
|
||||
"description": "Name of the agent to loop back to",
|
||||
"type": "string",
|
||||
"placeholder": "agent1",
|
||||
"id": "seqLoop_0-input-loopToName-string"
|
||||
}
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"sequentialNode": ["{{seqAgent_1.data.instance}}"],
|
||||
"loopToName": "supervisor"
|
||||
},
|
||||
"outputAnchors": [],
|
||||
"outputs": {},
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 241,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1548.204371709928,
|
||||
"y": -256.0852771782037
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqLoop_1",
|
||||
"position": {
|
||||
"x": 1963.5723995283763,
|
||||
"y": 573.1052015594319
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqLoop_1",
|
||||
"label": "Loop",
|
||||
"version": 1,
|
||||
"name": "seqLoop",
|
||||
"type": "Loop",
|
||||
"baseClasses": ["Loop"],
|
||||
"category": "Sequential Agents",
|
||||
"description": "Loop back to the specific sequential node",
|
||||
"inputParams": [
|
||||
{
|
||||
"label": "Loop To",
|
||||
"name": "loopToName",
|
||||
"description": "Name of the agent to loop back to",
|
||||
"type": "string",
|
||||
"placeholder": "agent1",
|
||||
"id": "seqLoop_1-input-loopToName-string"
|
||||
}
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLoop_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"sequentialNode": ["{{seqAgent_0.data.instance}}"],
|
||||
"loopToName": "supervisor"
|
||||
},
|
||||
"outputAnchors": [],
|
||||
"outputs": {},
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 241,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1963.5723995283763,
|
||||
"y": 573.1052015594319
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqLLMNode_1",
|
||||
"position": {
|
||||
"x": 1190.379211292534,
|
||||
"y": 487.407396588448
|
||||
"x": 1575.754462365703,
|
||||
"y": 195.9021865478319
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqLLMNode_1",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -1536,11 +1524,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -1555,11 +1543,12 @@
|
||||
"llmNodeName": "summarize",
|
||||
"systemMessagePrompt": "",
|
||||
"humanMessagePrompt": "Given the above conversations, reasonings and instructions, generate a final summarized answers",
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}", "{{seqCondition_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "",
|
||||
"llmStructuredOutput": "",
|
||||
"updateStateMemory": "updateStateMemoryUI"
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"selectedUpdateStateMemoryTab_seqLLMNode_1": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
@@ -1574,25 +1563,129 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1190.379211292534,
|
||||
"y": 487.407396588448
|
||||
"x": 1575.754462365703,
|
||||
"y": 195.9021865478319
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqLoop_2",
|
||||
"position": {
|
||||
"x": 1535.7329695356757,
|
||||
"y": -143.07159321335735
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqLoop_2",
|
||||
"label": "Loop",
|
||||
"version": 2,
|
||||
"name": "seqLoop",
|
||||
"type": "Loop",
|
||||
"baseClasses": ["Loop"],
|
||||
"category": "Sequential Agents",
|
||||
"description": "Loop back to the specific sequential node",
|
||||
"inputParams": [
|
||||
{
|
||||
"label": "Loop To",
|
||||
"name": "loopToName",
|
||||
"description": "Name of the agent/llm to loop back to",
|
||||
"type": "string",
|
||||
"placeholder": "Agent",
|
||||
"id": "seqLoop_2-input-loopToName-string"
|
||||
}
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLoop_2-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"sequentialNode": ["{{seqAgent_0.data.instance}}"],
|
||||
"loopToName": "Supervisor"
|
||||
},
|
||||
"outputAnchors": [],
|
||||
"outputs": {},
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 241,
|
||||
"selected": false,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1535.7329695356757,
|
||||
"y": -143.07159321335735
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "seqLoop_3",
|
||||
"position": {
|
||||
"x": 1507.4447054331383,
|
||||
"y": 868.2338484523428
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqLoop_3",
|
||||
"label": "Loop",
|
||||
"version": 2,
|
||||
"name": "seqLoop",
|
||||
"type": "Loop",
|
||||
"baseClasses": ["Loop"],
|
||||
"category": "Sequential Agents",
|
||||
"description": "Loop back to the specific sequential node",
|
||||
"inputParams": [
|
||||
{
|
||||
"label": "Loop To",
|
||||
"name": "loopToName",
|
||||
"description": "Name of the agent/llm to loop back to",
|
||||
"type": "string",
|
||||
"placeholder": "Agent",
|
||||
"id": "seqLoop_3-input-loopToName-string"
|
||||
}
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLoop_3-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"sequentialNode": ["{{seqAgent_1.data.instance}}"],
|
||||
"loopToName": "Supervisor"
|
||||
},
|
||||
"outputAnchors": [],
|
||||
"outputs": {},
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 241,
|
||||
"positionAbsolute": {
|
||||
"x": 1507.4447054331383,
|
||||
"y": 868.2338484523428
|
||||
},
|
||||
"selected": false,
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqEnd_0",
|
||||
"position": {
|
||||
"x": 1531.4101572553902,
|
||||
"y": 820.7626362717671
|
||||
"x": 1928.660679747908,
|
||||
"y": 456.9218256101676
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqEnd_0",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -1601,10 +1694,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -1618,8 +1711,8 @@
|
||||
"height": 143,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1531.4101572553902,
|
||||
"y": 820.7626362717671
|
||||
"x": 1928.660679747908,
|
||||
"y": 456.9218256101676
|
||||
},
|
||||
"dragging": false
|
||||
}
|
||||
@@ -1641,14 +1734,6 @@
|
||||
"type": "buttonedge",
|
||||
"id": "chatOpenAI_0-chatOpenAI_0-output-chatOpenAI-ChatOpenAI|BaseChatModel|BaseLanguageModel|Runnable-seqStart_0-seqStart_0-input-model-BaseChatModel"
|
||||
},
|
||||
{
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqLLMNode_0",
|
||||
"targetHandle": "seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqLLMNode_0-seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_0",
|
||||
"sourceHandle": "seqLLMNode_0-output-seqLLMNode-LLMNode",
|
||||
@@ -1666,52 +1751,60 @@
|
||||
"id": "seqState_0-seqState_0-output-seqState-State-seqStart_0-seqStart_0-input-state-State"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-agent1-Agent|LLMNode|ToolNode",
|
||||
"target": "seqAgent_1",
|
||||
"targetHandle": "seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqLLMNode_0",
|
||||
"targetHandle": "seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-agent1-Agent|LLMNode|ToolNode-seqAgent_1-seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqLLMNode_0-seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-agent2-Agent|LLMNode|ToolNode",
|
||||
"sourceHandle": "seqCondition_0-output-codeReviewer-Condition",
|
||||
"target": "seqAgent_0",
|
||||
"targetHandle": "seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-agent2-Agent|LLMNode|ToolNode-seqAgent_0-seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqCondition_0-seqCondition_0-output-codeReviewer-Condition-seqAgent_0-seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-end-Condition",
|
||||
"target": "seqLLMNode_1",
|
||||
"targetHandle": "seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-end-Condition-seqLLMNode_1-seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-softwareEngineer-Condition",
|
||||
"target": "seqAgent_1",
|
||||
"targetHandle": "seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-softwareEngineer-Condition-seqAgent_1-seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_0",
|
||||
"sourceHandle": "seqAgent_0-output-seqAgent-Agent",
|
||||
"target": "seqLoop_1",
|
||||
"targetHandle": "seqLoop_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"target": "seqLoop_2",
|
||||
"targetHandle": "seqLoop_2-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqLoop_1-seqLoop_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_1",
|
||||
"sourceHandle": "seqAgent_1-output-seqAgent-Agent",
|
||||
"target": "seqLoop_0",
|
||||
"targetHandle": "seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_1-seqAgent_1-output-seqAgent-Agent-seqLoop_0-seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"target": "seqLLMNode_1",
|
||||
"targetHandle": "seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-end-Agent|LLMNode|ToolNode-seqLLMNode_1-seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqLoop_2-seqLoop_2-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_1",
|
||||
"sourceHandle": "seqLLMNode_1-output-seqLLMNode-LLMNode",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqLLMNode_1-seqLLMNode_1-output-seqLLMNode-LLMNode-seqEnd_0-seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_1-seqLLMNode_1-output-seqLLMNode-LLMNode-seqEnd_0-seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_1",
|
||||
"sourceHandle": "seqAgent_1-output-seqAgent-Agent",
|
||||
"target": "seqLoop_3",
|
||||
"targetHandle": "seqLoop_3-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_1-seqAgent_1-output-seqAgent-Agent-seqLoop_3-seqLoop_3-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
"id": "seqAgent_0",
|
||||
"position": {
|
||||
"x": 775.8784674767973,
|
||||
"y": -100.09604051672113
|
||||
"y": -222.95218911189113
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqAgent_0",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -46,6 +46,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_0-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -56,6 +64,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_0-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -163,14 +202,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_0-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -186,9 +226,13 @@
|
||||
"systemMessagePrompt": "You are the Assistant in our Patient Concierge system. The patient has verified their identity and is now allowed access to only their information. \n\nUse the function tool \"patient_information_database\" to look up patient procedures that match the Patient's name and ID with \"patient_name\" and \"user_id\" in that database. \n\nDo not make up information if it is not represented in the function tool database calls. Use this date format when to referring to dates in the databases: MM-DD-YYYY\n\nDO NOT ALLOW PATIENTS TO PROCEDE TO ACCESS OTHER PATIENT INFORMATION OR IT MAY RESULT IN A PHI VIOLATION.",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": ["{{customTool_1.data.instance}}"],
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}", "{{seqCondition_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": "",
|
||||
"selectedUpdateStateMemoryTab_seqAgent_0": "updateStateMemoryUI"
|
||||
@@ -206,11 +250,11 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 764,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 775.8784674767973,
|
||||
"y": -100.09604051672113
|
||||
"y": -222.95218911189113
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -224,7 +268,7 @@
|
||||
"data": {
|
||||
"id": "seqEnd_0",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -233,10 +277,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -265,7 +309,7 @@
|
||||
"data": {
|
||||
"id": "seqState_0",
|
||||
"label": "State",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqState",
|
||||
"type": "State",
|
||||
"baseClasses": ["State"],
|
||||
@@ -273,7 +317,7 @@
|
||||
"description": "A centralized state object, updated by nodes in the graph, passing from one node to another",
|
||||
"inputParams": [
|
||||
{
|
||||
"label": "State",
|
||||
"label": "Custom State",
|
||||
"name": "stateMemory",
|
||||
"type": "tabs",
|
||||
"tabIdentifier": "selectedStateTab",
|
||||
@@ -281,7 +325,7 @@
|
||||
"default": "stateMemoryUI",
|
||||
"tabs": [
|
||||
{
|
||||
"label": "State (Table)",
|
||||
"label": "Custom State (Table)",
|
||||
"name": "stateMemoryUI",
|
||||
"type": "datagrid",
|
||||
"description": "Structure for state. By default, state contains \"messages\" that got updated with each message sent and received.",
|
||||
@@ -313,7 +357,7 @@
|
||||
"additionalParams": true
|
||||
},
|
||||
{
|
||||
"label": "State (Code)",
|
||||
"label": "Custom State (Code)",
|
||||
"name": "stateMemoryCode",
|
||||
"type": "code",
|
||||
"description": "JSON object representing the state",
|
||||
@@ -329,6 +373,7 @@
|
||||
"inputAnchors": [],
|
||||
"inputs": {
|
||||
"stateMemory": "stateMemoryUI",
|
||||
"selectedStateTab_seqState_0": "stateMemoryUI",
|
||||
"stateMemoryUI": "[{\"key\":\"userInfo\",\"type\":\"Replace\",\"defaultValue\":\"\",\"actions\":\"\",\"id\":1}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -344,7 +389,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 253,
|
||||
"height": 251,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": -339.5104253267711,
|
||||
@@ -362,7 +407,7 @@
|
||||
"data": {
|
||||
"id": "seqStart_0",
|
||||
"label": "Start",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqStart",
|
||||
"type": "Start",
|
||||
"baseClasses": ["Start"],
|
||||
@@ -422,7 +467,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 383,
|
||||
"height": 382,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 60.339339995889304,
|
||||
@@ -440,7 +485,7 @@
|
||||
"data": {
|
||||
"id": "seqCondition_0",
|
||||
"label": "Condition",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqCondition",
|
||||
"type": "Condition",
|
||||
"baseClasses": ["Condition"],
|
||||
@@ -564,31 +609,32 @@
|
||||
"conditionName": "If user has been verified",
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}"],
|
||||
"condition": "",
|
||||
"conditionUI": "[{\"variable\":\"$flow.state.userInfo\",\"operation\":\"Is Not Empty\",\"value\":\"\",\"output\":\"Concierge\",\"actions\":\"\",\"id\":0}]",
|
||||
"selectedConditionFunctionTab_seqCondition_0": "conditionUI",
|
||||
"conditionFunction": ""
|
||||
"conditionUI": "[{\"variable\":\"$flow.state.userInfo\",\"operation\":\"Is Not Empty\",\"value\":\"\",\"output\":\"Concierge\",\"actions\":\"\",\"id\":0}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
"name": "output",
|
||||
"label": "Output",
|
||||
"type": "options",
|
||||
"description": "",
|
||||
"options": [
|
||||
{
|
||||
"id": "seqCondition_0-output-concierge-Agent|LLMNode|ToolNode",
|
||||
"id": "seqCondition_0-output-concierge-Condition",
|
||||
"name": "concierge",
|
||||
"label": "Concierge",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqCondition_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"id": "seqCondition_0-output-end-Condition",
|
||||
"name": "end",
|
||||
"label": "End",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"default": "next"
|
||||
}
|
||||
],
|
||||
"outputs": {
|
||||
@@ -597,7 +643,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 475,
|
||||
"height": 474,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 418.50150866955073,
|
||||
@@ -777,7 +823,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 670,
|
||||
"height": 669,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": -316.6467912940658,
|
||||
@@ -795,7 +841,7 @@
|
||||
"data": {
|
||||
"id": "seqAgent_1",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -828,6 +874,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_1-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -838,6 +892,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_1-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -945,14 +1030,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_1-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -968,12 +1054,15 @@
|
||||
"systemMessagePrompt": "You are an Identity Verfication Specialist in the Patient Concierge system. You job is to verify the identity of the patient before any questions about their upcoming procedure can be addressed.\n\nBegin by greeting the patient and informing them that they need to verify their identity before proceeding. If verification is successful, allow the patient to ask questions about their procedure. If verification fails, kindly inform the patient and offer assistance for re-verification. Make sure both the patient name and date of birth matches records in the patient identity database before proceeding (\"patient_name\", \"date_of_birth\")\n\nSteps:\n1. Greet the patient.\n2. Inform them about the need for identity verification.\n3. Request the patient's full name and date of birth.\n4. Verify the information against the records.\n5. If verification is successful, handle any questions about the upcoming procedure.\n6. If verification fails, provide appropriate instructions or assistance.\n\nExample Interaction:\n1. “To verify your identity, please provide your full name and date of birth.”\n2. If verification is successful:\n - “Thank you for verifying your identity. How can I assist you with your upcoming procedure?”\n3. If verification fails:\n - “I’m sorry, but your identity could not be verified. Please try again or contact support for assistance.”\n\nUse the function tool \"patient_identity_database\" to verify identity. User might give date of birth in different format, be smart and convert it into MM-DD-YYYY format. When verifying identity, if the information does not match, reply with \"Sorry your information is not in our database.\"",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": ["{{customTool_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}", "{{seqCondition_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": "",
|
||||
"updateStateMemoryUI": "[]",
|
||||
"selectedUpdateStateMemoryTab_seqAgent_1": "updateStateMemoryCode",
|
||||
"updateStateMemoryCode": "const result = $flow.output;\nconst usedTools = result.usedTools ?? [];\n\n// Check if correct tool is being used\nconst calledTool = usedTools.find((usedTool) => usedTool.tool === \"patient_identity_database\");\nif (!calledTool) return {};\n\n\ntry {\n const parsedToolOutput = JSON.parse(calledTool.toolOutput);\n return {\n userInfo: parsedToolOutput // parsing tool output since its always string\n };\n} catch (e) {\n return {};\n}\n"
|
||||
},
|
||||
@@ -990,7 +1079,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 764,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 773.440353076265,
|
||||
@@ -1066,7 +1155,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 328,
|
||||
"height": 327,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": -664.9588570520918,
|
||||
@@ -1116,7 +1205,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 286,
|
||||
"height": 285,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 416.23687182130743,
|
||||
@@ -1166,7 +1255,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 286,
|
||||
"height": 285,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 406.451652299109,
|
||||
@@ -1177,14 +1266,14 @@
|
||||
{
|
||||
"id": "seqEnd_1",
|
||||
"position": {
|
||||
"x": 1126.4753085175494,
|
||||
"y": 1297.921087662632
|
||||
"x": 1141.757749450836,
|
||||
"y": 1414.623363880458
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqEnd_1",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -1193,10 +1282,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -1209,8 +1298,8 @@
|
||||
"width": 300,
|
||||
"height": 143,
|
||||
"positionAbsolute": {
|
||||
"x": 1126.4753085175494,
|
||||
"y": 1297.921087662632
|
||||
"x": 1141.757749450836,
|
||||
"y": 1414.623363880458
|
||||
},
|
||||
"selected": false,
|
||||
"dragging": false
|
||||
@@ -1225,10 +1314,11 @@
|
||||
"data": {
|
||||
"id": "stickyNote_0",
|
||||
"label": "Sticky Note",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "stickyNote",
|
||||
"type": "StickyNote",
|
||||
"baseClasses": ["StickyNote"],
|
||||
"tags": ["Utilities"],
|
||||
"category": "Utilities",
|
||||
"description": "Add a sticky note",
|
||||
"inputParams": [
|
||||
@@ -1277,10 +1367,11 @@
|
||||
"data": {
|
||||
"id": "stickyNote_1",
|
||||
"label": "Sticky Note",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "stickyNote",
|
||||
"type": "StickyNote",
|
||||
"baseClasses": ["StickyNote"],
|
||||
"tags": ["Utilities"],
|
||||
"category": "Utilities",
|
||||
"description": "Add a sticky note",
|
||||
"inputParams": [
|
||||
@@ -1329,10 +1420,11 @@
|
||||
"data": {
|
||||
"id": "stickyNote_2",
|
||||
"label": "Sticky Note",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "stickyNote",
|
||||
"type": "StickyNote",
|
||||
"baseClasses": ["StickyNote"],
|
||||
"tags": ["Utilities"],
|
||||
"category": "Utilities",
|
||||
"description": "Add a sticky note",
|
||||
"inputParams": [
|
||||
@@ -1381,10 +1473,11 @@
|
||||
"data": {
|
||||
"id": "stickyNote_3",
|
||||
"label": "Sticky Note",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "stickyNote",
|
||||
"type": "StickyNote",
|
||||
"baseClasses": ["StickyNote"],
|
||||
"tags": ["Utilities"],
|
||||
"category": "Utilities",
|
||||
"description": "Add a sticky note",
|
||||
"inputParams": [
|
||||
@@ -1433,10 +1526,11 @@
|
||||
"data": {
|
||||
"id": "stickyNote_4",
|
||||
"label": "Sticky Note",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "stickyNote",
|
||||
"type": "StickyNote",
|
||||
"baseClasses": ["StickyNote"],
|
||||
"tags": ["Utilities"],
|
||||
"category": "Utilities",
|
||||
"description": "Add a sticky note",
|
||||
"inputParams": [
|
||||
@@ -1485,10 +1579,11 @@
|
||||
"data": {
|
||||
"id": "stickyNote_5",
|
||||
"label": "Sticky Note",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "stickyNote",
|
||||
"type": "StickyNote",
|
||||
"baseClasses": ["StickyNote"],
|
||||
"tags": ["Utilities"],
|
||||
"category": "Utilities",
|
||||
"description": "Add a sticky note",
|
||||
"inputParams": [
|
||||
@@ -1537,10 +1632,11 @@
|
||||
"data": {
|
||||
"id": "stickyNote_6",
|
||||
"label": "Sticky Note",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "stickyNote",
|
||||
"type": "StickyNote",
|
||||
"baseClasses": ["StickyNote"],
|
||||
"tags": ["Utilities"],
|
||||
"category": "Utilities",
|
||||
"description": "Add a sticky note",
|
||||
"inputParams": [
|
||||
@@ -1613,14 +1709,6 @@
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqCondition_0-seqCondition_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"target": "seqAgent_1",
|
||||
"targetHandle": "seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-end-Agent|LLMNode|ToolNode-seqAgent_1-seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "customTool_0",
|
||||
"sourceHandle": "customTool_0-output-customTool-CustomTool|Tool|StructuredTool|Runnable",
|
||||
@@ -1641,25 +1729,33 @@
|
||||
"source": "seqAgent_0",
|
||||
"sourceHandle": "seqAgent_0-output-seqAgent-Agent",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqEnd_0-seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqEnd_0-seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_1",
|
||||
"sourceHandle": "seqAgent_1-output-seqAgent-Agent",
|
||||
"target": "seqEnd_1",
|
||||
"targetHandle": "seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_1-seqAgent_1-output-seqAgent-Agent-seqEnd_1-seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_1-seqAgent_1-output-seqAgent-Agent-seqEnd_1-seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-concierge-Agent|LLMNode|ToolNode",
|
||||
"sourceHandle": "seqCondition_0-output-concierge-Condition",
|
||||
"target": "seqAgent_0",
|
||||
"targetHandle": "seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-concierge-Agent|LLMNode|ToolNode-seqAgent_0-seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqCondition_0-seqCondition_0-output-concierge-Condition-seqAgent_0-seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-end-Condition",
|
||||
"target": "seqAgent_1",
|
||||
"targetHandle": "seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-end-Condition-seqAgent_1-seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
{
|
||||
"id": "seqStart_0",
|
||||
"position": {
|
||||
"x": 270.8034759443938,
|
||||
"y": 197.40349682053647
|
||||
"x": 283.66331227381755,
|
||||
"y": 199.2406162961684
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqStart_0",
|
||||
"label": "Start",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqStart",
|
||||
"type": "Start",
|
||||
"baseClasses": ["Start"],
|
||||
@@ -76,8 +76,8 @@
|
||||
"height": 382,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 270.8034759443938,
|
||||
"y": 197.40349682053647
|
||||
"x": 283.66331227381755,
|
||||
"y": 199.2406162961684
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -91,7 +91,7 @@
|
||||
"data": {
|
||||
"id": "seqEnd_0",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -100,10 +100,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -312,7 +312,7 @@
|
||||
"data": {
|
||||
"id": "seqLLMNode_0",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -477,11 +477,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -496,11 +496,12 @@
|
||||
"llmNodeName": "planner",
|
||||
"systemMessagePrompt": "For the given objective, come up with a simple step by step plan.\n\nThis plan should involve individual tasks, that if executed correctly will yield the correct answer. Do not add any superfluous steps.\n\nThe result of the final step should be the final answer. Make sure that each step has all the information needed - do not skip steps.\n\n{objective}",
|
||||
"humanMessagePrompt": "",
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}", "{{seqStart_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "{\"objective\":\"{{question}}\"}",
|
||||
"llmStructuredOutput": "[{\"key\":\"steps\",\"type\":\"String Array\",\"enumValues\":\"\",\"description\":\"different steps to follow, should be in sorted order\",\"actions\":\"\",\"id\":0}]",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"selectedUpdateStateMemoryTab_seqLLMNode_0": "updateStateMemoryUI",
|
||||
"updateStateMemoryUI": "[{\"key\":\"plan\",\"value\":\"$flow.output.steps\",\"actions\":\"\",\"id\":0}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -516,7 +517,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 648.4687909190533,
|
||||
@@ -527,14 +528,14 @@
|
||||
{
|
||||
"id": "seqState_0",
|
||||
"position": {
|
||||
"x": -525.7145883375572,
|
||||
"y": 411.1106840856376
|
||||
"x": -516.05863088425,
|
||||
"y": 408.69669472231084
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqState_0",
|
||||
"label": "State",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqState",
|
||||
"type": "State",
|
||||
"baseClasses": ["State"],
|
||||
@@ -542,7 +543,7 @@
|
||||
"description": "A centralized state object, updated by nodes in the graph, passing from one node to another",
|
||||
"inputParams": [
|
||||
{
|
||||
"label": "State",
|
||||
"label": "Custom State",
|
||||
"name": "stateMemory",
|
||||
"type": "tabs",
|
||||
"tabIdentifier": "selectedStateTab",
|
||||
@@ -550,7 +551,7 @@
|
||||
"default": "stateMemoryUI",
|
||||
"tabs": [
|
||||
{
|
||||
"label": "State (Table)",
|
||||
"label": "Custom State (Table)",
|
||||
"name": "stateMemoryUI",
|
||||
"type": "datagrid",
|
||||
"description": "Structure for state. By default, state contains \"messages\" that got updated with each message sent and received.",
|
||||
@@ -582,7 +583,7 @@
|
||||
"additionalParams": true
|
||||
},
|
||||
{
|
||||
"label": "State (Code)",
|
||||
"label": "Custom State (Code)",
|
||||
"name": "stateMemoryCode",
|
||||
"type": "code",
|
||||
"description": "JSON object representing the state",
|
||||
@@ -598,6 +599,7 @@
|
||||
"inputAnchors": [],
|
||||
"inputs": {
|
||||
"stateMemory": "stateMemoryUI",
|
||||
"selectedStateTab_seqState_0": "stateMemoryUI",
|
||||
"stateMemoryUI": "[{\"key\":\"plan\",\"type\":\"Replace\",\"defaultValue\":\"\",\"actions\":\"\",\"id\":0},{\"key\":\"pastSteps\",\"type\":\"Append\",\"defaultValue\":\"\",\"actions\":\"\",\"id\":1},{\"key\":\"response\",\"type\":\"Replace\",\"defaultValue\":\"\",\"actions\":\"\",\"id\":2},{\"key\":\"action\",\"type\":\"Replace\",\"defaultValue\":\"\",\"actions\":\"\",\"id\":3}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -616,8 +618,8 @@
|
||||
"height": 251,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": -525.7145883375572,
|
||||
"y": 411.1106840856376
|
||||
"x": -516.05863088425,
|
||||
"y": 408.69669472231084
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -625,13 +627,13 @@
|
||||
"id": "seqAgent_0",
|
||||
"position": {
|
||||
"x": 1008.3773499083541,
|
||||
"y": 31.13942347960358
|
||||
"y": 40.695257663897564
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqAgent_0",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -664,6 +666,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_0-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -674,6 +684,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_0-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -781,14 +822,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_0-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -804,12 +846,15 @@
|
||||
"systemMessagePrompt": "You are a helpful assistant that solve an objective by searching the internet using the given tool",
|
||||
"humanMessagePrompt": "{question}",
|
||||
"tools": ["{{googleCustomSearch_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqLLMNode_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqLLMNode_0.data.instance}}", "{{seqLLMNode_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "{\"question\":\"$flow.state.plan[0]\"}",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": "",
|
||||
"updateStateMemoryUI": "[]",
|
||||
"selectedUpdateStateMemoryTab_seqAgent_0": "updateStateMemoryCode",
|
||||
"updateStateMemoryCode": "// Get the first task\nconst task = $flow.state.plan[0];\nconst outputContent = $flow.output.content;\n\n// Now, we have processed the first task, remove it from array\nconst remainingPlans = $flow.state.plan.slice(1);\n\nreturn {\n pastSteps: [[task, outputContent]],\n plan: remainingPlans,\n};"
|
||||
},
|
||||
@@ -826,11 +871,11 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 762,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1008.3773499083541,
|
||||
"y": 31.13942347960358
|
||||
"y": 40.695257663897564
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -844,7 +889,7 @@
|
||||
"data": {
|
||||
"id": "seqLLMNode_1",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -1009,11 +1054,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -1028,11 +1073,12 @@
|
||||
"llmNodeName": "replan",
|
||||
"systemMessagePrompt": "For the given objective, come up with a simple step by step plan. \nThis plan should involve individual tasks, that if executed correctly will yield the correct answer. Do not add any superfluous steps.\nThe result of the final step should be the final answer. Make sure that each step has all the information needed - do not skip steps.\n\nYour objective was this:\n{input}\n\nYour original plan was this:\n{plan}\n\nYou have currently done the follow steps:\n{pastSteps}\n\nUpdate your plan accordingly. Only add steps to the plan that still NEED to be done. Do not return previously done steps as part of the plan.\n\nIf no more steps are needed, return JSON output like %7B\"action\": \"FINISH\", \"response\": <your-final-response>, \"steps: []\"%7D\n\nOtherwise, fill out the plan and return the output in the following format: %7B\"action\": \"CONTINUE\", \"response\": \"\", \"steps\": [<your-steps>]%7D\n\nRemember, action can only be FINISH or CONTINUE",
|
||||
"humanMessagePrompt": "",
|
||||
"sequentialNode": ["{{seqAgent_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqAgent_0.data.instance}}", "{{seqAgent_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "{\"input\":\"{{question}}\",\"plan\":\"$flow.state.plan\",\"pastSteps\":\"$flow.state.pastSteps\"}",
|
||||
"llmStructuredOutput": "[{\"key\":\"action\",\"type\":\"Enum\",\"enumValues\":\"FINISH, CONTINUE\",\"description\":\"next action to take\",\"actions\":\"\",\"id\":0},{\"key\":\"steps\",\"type\":\"String Array\",\"enumValues\":\"\",\"description\":\"different steps to follow, should be in sorted order\",\"actions\":\"\",\"id\":1},{\"key\":\"response\",\"type\":\"String\",\"enumValues\":\"\",\"description\":\"final response\",\"actions\":\"\",\"id\":2}]",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"selectedUpdateStateMemoryTab_seqLLMNode_1": "updateStateMemoryUI",
|
||||
"updateStateMemoryUI": "[{\"key\":\"response\",\"value\":\"$flow.output.response\",\"actions\":\"\",\"id\":0},{\"key\":\"plan\",\"value\":\"$flow.output.steps\",\"actions\":\"\",\"id\":1},{\"key\":\"action\",\"value\":\"$flow.output.action\",\"actions\":\"\",\"id\":2}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -1048,7 +1094,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1399.9937770241447,
|
||||
@@ -1066,7 +1112,7 @@
|
||||
"data": {
|
||||
"id": "seqCondition_0",
|
||||
"label": "Condition",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqCondition",
|
||||
"type": "Condition",
|
||||
"baseClasses": ["Condition"],
|
||||
@@ -1190,37 +1236,39 @@
|
||||
"conditionName": "Check action",
|
||||
"sequentialNode": ["{{seqLLMNode_1.data.instance}}"],
|
||||
"condition": "",
|
||||
"conditionUI": "[{\"variable\":\"$flow.state.action\",\"operation\":\"Contains\",\"value\":\"CONTINUE\",\"output\":\"Continue\",\"actions\":\"\",\"id\":0},{\"variable\":\"$flow.state.action\",\"operation\":\"Contains\",\"value\":\"FINISH\",\"output\":\"Generate\",\"actions\":\"\",\"id\":1}]",
|
||||
"selectedConditionFunctionTab_seqCondition_0": "conditionUI"
|
||||
"selectedConditionFunctionTab_seqCondition_0": "conditionUI",
|
||||
"conditionUI": "[{\"variable\":\"$flow.state.action\",\"operation\":\"Contains\",\"value\":\"CONTINUE\",\"output\":\"Continue\",\"actions\":\"\",\"id\":0},{\"variable\":\"$flow.state.action\",\"operation\":\"Contains\",\"value\":\"FINISH\",\"output\":\"Generate\",\"actions\":\"\",\"id\":1}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
"name": "output",
|
||||
"label": "Output",
|
||||
"type": "options",
|
||||
"description": "",
|
||||
"options": [
|
||||
{
|
||||
"id": "seqCondition_0-output-continue-Agent|LLMNode|ToolNode",
|
||||
"id": "seqCondition_0-output-continue-Condition",
|
||||
"name": "continue",
|
||||
"label": "Continue",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqCondition_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"id": "seqCondition_0-output-end-Condition",
|
||||
"name": "end",
|
||||
"label": "End",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqCondition_0-output-generate-Agent|LLMNode|ToolNode",
|
||||
"id": "seqCondition_0-output-generate-Condition",
|
||||
"name": "generate",
|
||||
"label": "Generate",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"default": "next"
|
||||
}
|
||||
],
|
||||
"outputs": {
|
||||
@@ -1240,14 +1288,14 @@
|
||||
{
|
||||
"id": "seqLoop_0",
|
||||
"position": {
|
||||
"x": 2165.5413404902483,
|
||||
"y": 137.6950659389894
|
||||
"x": 2177.6112873068823,
|
||||
"y": 144.93703402896983
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqLoop_0",
|
||||
"label": "Loop",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLoop",
|
||||
"type": "Loop",
|
||||
"baseClasses": ["Loop"],
|
||||
@@ -1257,23 +1305,23 @@
|
||||
{
|
||||
"label": "Loop To",
|
||||
"name": "loopToName",
|
||||
"description": "Name of the agent to loop back to",
|
||||
"description": "Name of the agent/llm to loop back to",
|
||||
"type": "string",
|
||||
"placeholder": "agent1",
|
||||
"placeholder": "Agent",
|
||||
"id": "seqLoop_0-input-loopToName-string"
|
||||
}
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLoop_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}", "{{seqCondition_0.data.instance}}"],
|
||||
"loopToName": "agent"
|
||||
},
|
||||
"outputAnchors": [],
|
||||
@@ -1284,8 +1332,8 @@
|
||||
"height": 241,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 2165.5413404902483,
|
||||
"y": 137.6950659389894
|
||||
"x": 2177.6112873068823,
|
||||
"y": 144.93703402896983
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -1340,14 +1388,14 @@
|
||||
{
|
||||
"id": "seqEnd_1",
|
||||
"position": {
|
||||
"x": 2545.0923771805938,
|
||||
"y": 856.3939761670131
|
||||
"x": 2550.580762684655,
|
||||
"y": 942.3786823973096
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqEnd_1",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -1356,10 +1404,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -1373,22 +1421,22 @@
|
||||
"height": 143,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 2545.0923771805938,
|
||||
"y": 856.3939761670131
|
||||
"x": 2550.580762684655,
|
||||
"y": 942.3786823973096
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqLLMNode_3",
|
||||
"position": {
|
||||
"x": 2196.534673643061,
|
||||
"y": 679.076382001725
|
||||
"x": 2191.7066949164073,
|
||||
"y": 688.7323394550323
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqLLMNode_3",
|
||||
"label": "LLM Node",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqLLMNode",
|
||||
"type": "LLMNode",
|
||||
"baseClasses": ["LLMNode"],
|
||||
@@ -1553,11 +1601,11 @@
|
||||
],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqLLMNode_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -1572,11 +1620,12 @@
|
||||
"llmNodeName": "generate",
|
||||
"systemMessagePrompt": "For the given objective, come up with a simple step by step plan. \nThis plan should involve individual tasks, that if executed correctly will yield the correct answer. Do not add any superfluous steps.\nThe result of the final step should be the final answer. Make sure that each step has all the information needed - do not skip steps.\n\nYour objective was this:\n{objective}\n\nYour original plan was this:\n{plan}\n\nYou have currently done the follow steps:\n{pastSteps}\n\nYou have the final response:\n{response}\n\nReturn a full answer combining all the perspective above",
|
||||
"humanMessagePrompt": "",
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqCondition_0.data.instance}}", "{{seqCondition_0.data.instance}}"],
|
||||
"model": "",
|
||||
"promptValues": "{\"objective\":\"{{question}}\",\"response\":\"$flow.state.response\",\"plan\":\"$flow.state.plan\",\"pastSteps\":\"$flow.state.pastSteps\"}",
|
||||
"llmStructuredOutput": "",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"selectedUpdateStateMemoryTab_seqLLMNode_3": "updateStateMemoryUI",
|
||||
"updateStateMemoryUI": "[]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -1592,19 +1641,19 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 431,
|
||||
"height": 450,
|
||||
"selected": false,
|
||||
"dragging": false,
|
||||
"positionAbsolute": {
|
||||
"x": 2196.534673643061,
|
||||
"y": 679.076382001725
|
||||
"x": 2191.7066949164073,
|
||||
"y": 688.7323394550323
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "stickyNote_0",
|
||||
"position": {
|
||||
"x": -539.8238902900496,
|
||||
"y": -3.882603532988014
|
||||
"x": -513.158859797605,
|
||||
"y": -28.123540344301205
|
||||
},
|
||||
"type": "stickyNote",
|
||||
"data": {
|
||||
@@ -1645,11 +1694,11 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 364,
|
||||
"height": 404,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": -539.8238902900496,
|
||||
"y": -3.882603532988014
|
||||
"x": -513.158859797605,
|
||||
"y": -28.123540344301205
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -1657,7 +1706,7 @@
|
||||
"id": "stickyNote_1",
|
||||
"position": {
|
||||
"x": 651.5991573765737,
|
||||
"y": 619.5366041903698
|
||||
"y": 651.3893848046831
|
||||
},
|
||||
"type": "stickyNote",
|
||||
"data": {
|
||||
@@ -1702,7 +1751,7 @@
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 651.5991573765737,
|
||||
"y": 619.5366041903698
|
||||
"y": 651.3893848046831
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -1868,8 +1917,8 @@
|
||||
{
|
||||
"id": "stickyNote_5",
|
||||
"position": {
|
||||
"x": 2189.3034258063108,
|
||||
"y": 607.3552983883712
|
||||
"x": 2194.081342898458,
|
||||
"y": 600.9847422655085
|
||||
},
|
||||
"type": "stickyNote",
|
||||
"data": {
|
||||
@@ -1913,8 +1962,8 @@
|
||||
"height": 62,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 2189.3034258063108,
|
||||
"y": 607.3552983883712
|
||||
"x": 2194.081342898458,
|
||||
"y": 600.9847422655085
|
||||
},
|
||||
"dragging": false
|
||||
}
|
||||
@@ -1936,38 +1985,6 @@
|
||||
"type": "buttonedge",
|
||||
"id": "seqState_0-seqState_0-output-seqState-State-seqStart_0-seqStart_0-input-state-State"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-end-Agent|LLMNode|ToolNode-seqEnd_0-seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqLLMNode_0",
|
||||
"targetHandle": "seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqLLMNode_0-seqLLMNode_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_0",
|
||||
"sourceHandle": "seqLLMNode_0-output-seqLLMNode-LLMNode",
|
||||
"target": "seqAgent_0",
|
||||
"targetHandle": "seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqLLMNode_0-seqLLMNode_0-output-seqLLMNode-LLMNode-seqAgent_0-seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_0",
|
||||
"sourceHandle": "seqAgent_0-output-seqAgent-Agent",
|
||||
"target": "seqLLMNode_1",
|
||||
"targetHandle": "seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqLLMNode_1-seqLLMNode_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_1",
|
||||
"sourceHandle": "seqLLMNode_1-output-seqLLMNode-LLMNode",
|
||||
@@ -1985,28 +2002,60 @@
|
||||
"id": "googleCustomSearch_0-googleCustomSearch_0-output-googleCustomSearch-GoogleCustomSearchAPI|Tool|StructuredTool|Runnable-seqAgent_0-seqAgent_0-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-continue-Agent|LLMNode|ToolNode",
|
||||
"target": "seqLoop_0",
|
||||
"targetHandle": "seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqLLMNode_0",
|
||||
"targetHandle": "seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-continue-Agent|LLMNode|ToolNode-seqLoop_0-seqLoop_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqLLMNode_0-seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_0",
|
||||
"sourceHandle": "seqLLMNode_0-output-seqLLMNode-LLMNode",
|
||||
"target": "seqAgent_0",
|
||||
"targetHandle": "seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqLLMNode_0-seqLLMNode_0-output-seqLLMNode-LLMNode-seqAgent_0-seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_0",
|
||||
"sourceHandle": "seqAgent_0-output-seqAgent-Agent",
|
||||
"target": "seqLLMNode_1",
|
||||
"targetHandle": "seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqLLMNode_1-seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-generate-Agent|LLMNode|ToolNode",
|
||||
"target": "seqLLMNode_3",
|
||||
"targetHandle": "seqLLMNode_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"sourceHandle": "seqCondition_0-output-continue-Condition",
|
||||
"target": "seqLoop_0",
|
||||
"targetHandle": "seqLoop_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-generate-Agent|LLMNode|ToolNode-seqLLMNode_3-seqLLMNode_3-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqCondition_0-seqCondition_0-output-continue-Condition-seqLoop_0-seqLoop_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-end-Condition",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-end-Condition-seqEnd_0-seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqCondition_0",
|
||||
"sourceHandle": "seqCondition_0-output-generate-Condition",
|
||||
"target": "seqLLMNode_3",
|
||||
"targetHandle": "seqLLMNode_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqCondition_0-seqCondition_0-output-generate-Condition-seqLLMNode_3-seqLLMNode_3-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqLLMNode_3",
|
||||
"sourceHandle": "seqLLMNode_3-output-seqLLMNode-LLMNode",
|
||||
"target": "seqEnd_1",
|
||||
"targetHandle": "seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"targetHandle": "seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqLLMNode_3-seqLLMNode_3-output-seqLLMNode-LLMNode-seqEnd_1-seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqLLMNode_3-seqLLMNode_3-output-seqLLMNode-LLMNode-seqEnd_1-seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
{
|
||||
"id": "seqStart_0",
|
||||
"position": {
|
||||
"x": 517,
|
||||
"y": 185
|
||||
"x": 535.1559788923448,
|
||||
"y": 183.18440211076552
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqStart_0",
|
||||
"label": "Start",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqStart",
|
||||
"type": "Start",
|
||||
"baseClasses": ["Start"],
|
||||
@@ -56,7 +56,7 @@
|
||||
],
|
||||
"inputs": {
|
||||
"model": "{{chatOpenAI_0.data.instance}}",
|
||||
"agentMemory": "",
|
||||
"agentMemory": "{{agentMemory_0.data.instance}}",
|
||||
"state": "",
|
||||
"inputModeration": ""
|
||||
},
|
||||
@@ -75,22 +75,23 @@
|
||||
"width": 300,
|
||||
"height": 382,
|
||||
"positionAbsolute": {
|
||||
"x": 517,
|
||||
"y": 185
|
||||
"x": 535.1559788923448,
|
||||
"y": 183.18440211076552
|
||||
},
|
||||
"selected": false
|
||||
"selected": false,
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqEnd_0",
|
||||
"position": {
|
||||
"x": 1687.0918892866584,
|
||||
"y": 390.6423315048602
|
||||
"x": 2047.2912756930234,
|
||||
"y": 439.82618346396225
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqEnd_0",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -99,10 +100,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -116,22 +117,22 @@
|
||||
"height": 143,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1687.0918892866584,
|
||||
"y": 390.6423315048602
|
||||
"x": 2047.2912756930234,
|
||||
"y": 439.82618346396225
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqAgent_0",
|
||||
"position": {
|
||||
"x": 904.4818180531253,
|
||||
"y": -31.306986726059677
|
||||
"x": 918.9476568646259,
|
||||
"y": -68.91816763596125
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqAgent_0",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -164,6 +165,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_0-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -174,6 +183,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_0-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_0-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -281,14 +321,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_0-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -304,11 +345,16 @@
|
||||
"systemMessagePrompt": "You are frontline support staff for Flowise, an e-commerce store that sells computer hardwares.\n\nBe concise in your responses.\n\nYou can chat with customers and help them with basic questions, but if the customer is having a billing or technical problem, do not try to answer the question directly or gather information.\n\nInstead, immediately transfer them to the billing or technical team by asking the user to hold for a moment.\n\nOtherwise, just respond conversationally.",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": "",
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqStart_0.data.instance}}", "{{seqStart_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": ""
|
||||
"maxIterations": "",
|
||||
"selectedUpdateStateMemoryTab_seqAgent_0": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
@@ -323,25 +369,25 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 762,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 904.4818180531253,
|
||||
"y": -31.306986726059677
|
||||
"x": 918.9476568646259,
|
||||
"y": -68.91816763596125
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "seqConditionAgent_0",
|
||||
"position": {
|
||||
"x": 1290.2151992695583,
|
||||
"y": -1.8313250034265138
|
||||
"x": 1292.4078104230643,
|
||||
"y": 6.939119610597714
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "seqConditionAgent_0",
|
||||
"label": "Condition Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqConditionAgent",
|
||||
"type": "ConditionAgent",
|
||||
"baseClasses": ["ConditionAgent"],
|
||||
@@ -551,37 +597,39 @@
|
||||
"promptValues": "",
|
||||
"conditionAgentStructuredOutput": "[{\"key\":\"route\",\"type\":\"Enum\",\"enumValues\":\"BILLING, TECHNICAL, CONVERSATION\",\"description\":\"the route to take next\",\"actions\":\"\",\"id\":1}]",
|
||||
"condition": "",
|
||||
"conditionUI": "[{\"variable\":\"$flow.output.route\",\"operation\":\"Is\",\"value\":\"BILLING\",\"output\":\"Billing\",\"actions\":\"\",\"id\":1},{\"variable\":\"$flow.output.route\",\"operation\":\"Is\",\"value\":\"TECHNICAL\",\"output\":\"Technical\",\"actions\":\"\",\"id\":2}]",
|
||||
"selectedConditionFunctionTab_seqConditionAgent_0": "conditionUI"
|
||||
"selectedConditionFunctionTab_seqConditionAgent_0": "conditionUI",
|
||||
"conditionUI": "[{\"variable\":\"$flow.output.route\",\"operation\":\"Is\",\"value\":\"BILLING\",\"output\":\"Billing\",\"actions\":\"\",\"id\":1},{\"variable\":\"$flow.output.route\",\"operation\":\"Is\",\"value\":\"TECHNICAL\",\"output\":\"Technical\",\"actions\":\"\",\"id\":2}]"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
"name": "output",
|
||||
"label": "Output",
|
||||
"type": "options",
|
||||
"description": "",
|
||||
"options": [
|
||||
{
|
||||
"id": "seqConditionAgent_0-output-billing-Agent|LLMNode|ToolNode",
|
||||
"id": "seqConditionAgent_0-output-billing-Condition",
|
||||
"name": "billing",
|
||||
"label": "Billing",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqConditionAgent_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"id": "seqConditionAgent_0-output-end-Condition",
|
||||
"name": "end",
|
||||
"label": "End",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
},
|
||||
{
|
||||
"id": "seqConditionAgent_0-output-technical-Agent|LLMNode|ToolNode",
|
||||
"id": "seqConditionAgent_0-output-technical-Condition",
|
||||
"name": "technical",
|
||||
"label": "Technical",
|
||||
"type": "Agent | LLMNode | ToolNode",
|
||||
"type": "Condition",
|
||||
"isAnchor": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"default": "next"
|
||||
}
|
||||
],
|
||||
"outputs": {
|
||||
@@ -593,8 +641,8 @@
|
||||
"height": 627,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1290.2151992695583,
|
||||
"y": -1.8313250034265138
|
||||
"x": 1292.4078104230643,
|
||||
"y": 6.939119610597714
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
@@ -608,7 +656,7 @@
|
||||
"data": {
|
||||
"id": "seqAgent_1",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -641,6 +689,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_1-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -651,6 +707,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_1-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_1-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -758,14 +845,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_1-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -781,11 +869,16 @@
|
||||
"systemMessagePrompt": "You are an expert billing support specialist for Flowise, a company that sells computers.\nHelp the user to the best of your ability, but be concise in your responses.\nYou have the ability to authorize refunds, which you can do collecting the required information.",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": ["{{customTool_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqConditionAgent_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqConditionAgent_0.data.instance}}", "{{seqConditionAgent_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": true,
|
||||
"promptValues": "",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": ""
|
||||
"maxIterations": "",
|
||||
"selectedUpdateStateMemoryTab_seqAgent_1": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
@@ -800,7 +893,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 762,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1678.9042290896336,
|
||||
@@ -818,7 +911,7 @@
|
||||
"data": {
|
||||
"id": "seqAgent_2",
|
||||
"label": "Agent",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqAgent",
|
||||
"type": "Agent",
|
||||
"baseClasses": ["Agent"],
|
||||
@@ -851,6 +944,14 @@
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_2-input-humanMessagePrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Require Approval",
|
||||
"name": "interrupt",
|
||||
"description": "Require approval before executing tools. Will proceed when tools are not called",
|
||||
"type": "boolean",
|
||||
"optional": true,
|
||||
"id": "seqAgent_2-input-interrupt-boolean"
|
||||
},
|
||||
{
|
||||
"label": "Format Prompt Values",
|
||||
"name": "promptValues",
|
||||
@@ -861,6 +962,37 @@
|
||||
"list": true,
|
||||
"id": "seqAgent_2-input-promptValues-json"
|
||||
},
|
||||
{
|
||||
"label": "Approval Prompt",
|
||||
"name": "approvalPrompt",
|
||||
"description": "Prompt for approval. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"rows": 4,
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_2-input-approvalPrompt-string"
|
||||
},
|
||||
{
|
||||
"label": "Approve Button Text",
|
||||
"name": "approveButtonText",
|
||||
"description": "Text for approve button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "Yes",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_2-input-approveButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Reject Button Text",
|
||||
"name": "rejectButtonText",
|
||||
"description": "Text for reject button. Only applicable if \"Require Approval\" is enabled",
|
||||
"type": "string",
|
||||
"default": "No",
|
||||
"optional": true,
|
||||
"additionalParams": true,
|
||||
"id": "seqAgent_2-input-rejectButtonText-string"
|
||||
},
|
||||
{
|
||||
"label": "Update State",
|
||||
"name": "updateStateMemory",
|
||||
@@ -968,14 +1100,15 @@
|
||||
"name": "tools",
|
||||
"type": "Tool",
|
||||
"list": true,
|
||||
"optional": true,
|
||||
"id": "seqAgent_2-input-tools-Tool"
|
||||
},
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Start | Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"type": "Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"list": true,
|
||||
"id": "seqAgent_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"id": "seqAgent_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"label": "Chat Model",
|
||||
@@ -991,11 +1124,16 @@
|
||||
"systemMessagePrompt": "You are an expert at diagnosing technical computer issues. You work for a company called Flowise that sells computers.\n\nUse the \"search_manual\" tool to look for relavant information to answer user question to the best of your ability, be concise in your responses.",
|
||||
"humanMessagePrompt": "",
|
||||
"tools": ["{{retrieverTool_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqConditionAgent_0.data.instance}}"],
|
||||
"sequentialNode": ["{{seqConditionAgent_0.data.instance}}", "{{seqConditionAgent_0.data.instance}}"],
|
||||
"model": "",
|
||||
"interrupt": "",
|
||||
"promptValues": "",
|
||||
"approvalPrompt": "You are about to execute tool: {tools}. Ask if user want to proceed",
|
||||
"approveButtonText": "Yes",
|
||||
"rejectButtonText": "No",
|
||||
"updateStateMemory": "updateStateMemoryUI",
|
||||
"maxIterations": ""
|
||||
"maxIterations": "",
|
||||
"selectedUpdateStateMemoryTab_seqAgent_2": "updateStateMemoryUI"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
@@ -1010,7 +1148,7 @@
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 762,
|
||||
"height": 877,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": 1685.181693772893,
|
||||
@@ -1028,7 +1166,7 @@
|
||||
"data": {
|
||||
"id": "seqEnd_1",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -1037,10 +1175,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -1069,7 +1207,7 @@
|
||||
"data": {
|
||||
"id": "seqEnd_2",
|
||||
"label": "End",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"name": "seqEnd",
|
||||
"type": "End",
|
||||
"baseClasses": ["End"],
|
||||
@@ -1078,10 +1216,10 @@
|
||||
"inputParams": [],
|
||||
"inputAnchors": [
|
||||
{
|
||||
"label": "Start | Agent | LLM | Tool Node",
|
||||
"label": "Agent | Condition | LLM | Tool Node",
|
||||
"name": "sequentialNode",
|
||||
"type": "Start | Agent | LLMNode | ToolNode",
|
||||
"id": "seqEnd_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
"type": "Agent | Condition | LLMNode | ToolNode",
|
||||
"id": "seqEnd_2-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
}
|
||||
],
|
||||
"inputs": {
|
||||
@@ -1360,7 +1498,7 @@
|
||||
],
|
||||
"inputAnchors": [],
|
||||
"inputs": {
|
||||
"selectedTool": ""
|
||||
"selectedTool": "b227ea41-8218-4236-bcfb-e83db284f589"
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
@@ -1670,7 +1808,7 @@
|
||||
"inputs": {
|
||||
"document": "",
|
||||
"embeddings": "{{openAIEmbeddings_0.data.instance}}",
|
||||
"basePath": "",
|
||||
"basePath": "C:\\Users\\Henry\\Desktop\\testdata\\faiss",
|
||||
"topK": ""
|
||||
},
|
||||
"outputAnchors": [
|
||||
@@ -1764,17 +1902,85 @@
|
||||
"y": 835.680987230599
|
||||
},
|
||||
"dragging": false
|
||||
},
|
||||
{
|
||||
"id": "agentMemory_0",
|
||||
"position": {
|
||||
"x": -189.79273044762397,
|
||||
"y": 230.31145812371778
|
||||
},
|
||||
"type": "customNode",
|
||||
"data": {
|
||||
"id": "agentMemory_0",
|
||||
"label": "Agent Memory",
|
||||
"version": 1,
|
||||
"name": "agentMemory",
|
||||
"type": "AgentMemory",
|
||||
"baseClasses": ["AgentMemory", "BaseCheckpointSaver"],
|
||||
"category": "Memory",
|
||||
"description": "Memory for agentflow to remember the state of the conversation",
|
||||
"inputParams": [
|
||||
{
|
||||
"label": "Database",
|
||||
"name": "databaseType",
|
||||
"type": "options",
|
||||
"options": [
|
||||
{
|
||||
"label": "SQLite",
|
||||
"name": "sqlite"
|
||||
}
|
||||
],
|
||||
"default": "sqlite",
|
||||
"id": "agentMemory_0-input-databaseType-options"
|
||||
},
|
||||
{
|
||||
"label": "Database File Path",
|
||||
"name": "databaseFilePath",
|
||||
"type": "string",
|
||||
"placeholder": "C:\\Users\\User\\.flowise\\database.sqlite",
|
||||
"description": "If SQLite is selected, provide the path to the SQLite database file. Leave empty to use default application database",
|
||||
"additionalParams": true,
|
||||
"optional": true,
|
||||
"id": "agentMemory_0-input-databaseFilePath-string"
|
||||
},
|
||||
{
|
||||
"label": "Additional Connection Configuration",
|
||||
"name": "additionalConfig",
|
||||
"type": "json",
|
||||
"additionalParams": true,
|
||||
"optional": true,
|
||||
"id": "agentMemory_0-input-additionalConfig-json"
|
||||
}
|
||||
],
|
||||
"inputAnchors": [],
|
||||
"inputs": {
|
||||
"databaseType": "sqlite",
|
||||
"databaseFilePath": "",
|
||||
"additionalConfig": ""
|
||||
},
|
||||
"outputAnchors": [
|
||||
{
|
||||
"id": "agentMemory_0-output-agentMemory-AgentMemory|BaseCheckpointSaver",
|
||||
"name": "agentMemory",
|
||||
"label": "AgentMemory",
|
||||
"description": "Memory for agentflow to remember the state of the conversation",
|
||||
"type": "AgentMemory | BaseCheckpointSaver"
|
||||
}
|
||||
],
|
||||
"outputs": {},
|
||||
"selected": false
|
||||
},
|
||||
"width": 300,
|
||||
"height": 327,
|
||||
"selected": false,
|
||||
"positionAbsolute": {
|
||||
"x": -189.79273044762397,
|
||||
"y": 230.31145812371778
|
||||
},
|
||||
"dragging": false
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqAgent_0",
|
||||
"targetHandle": "seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqAgent_0-seqAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_0",
|
||||
"sourceHandle": "seqAgent_0-output-seqAgent-Agent",
|
||||
@@ -1783,46 +1989,6 @@
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_0-seqAgent_0-output-seqAgent-Agent-seqConditionAgent_0-seqConditionAgent_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-end-Agent|LLMNode|ToolNode",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-end-Agent|LLMNode|ToolNode-seqEnd_0-seqEnd_0-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-billing-Agent|LLMNode|ToolNode",
|
||||
"target": "seqAgent_1",
|
||||
"targetHandle": "seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-billing-Agent|LLMNode|ToolNode-seqAgent_1-seqAgent_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-technical-Agent|LLMNode|ToolNode",
|
||||
"target": "seqAgent_2",
|
||||
"targetHandle": "seqAgent_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-technical-Agent|LLMNode|ToolNode-seqAgent_2-seqAgent_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_1",
|
||||
"sourceHandle": "seqAgent_1-output-seqAgent-Agent",
|
||||
"target": "seqEnd_1",
|
||||
"targetHandle": "seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_1-seqAgent_1-output-seqAgent-Agent-seqEnd_1-seqEnd_1-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_2",
|
||||
"sourceHandle": "seqAgent_2-output-seqAgent-Agent",
|
||||
"target": "seqEnd_2",
|
||||
"targetHandle": "seqEnd_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_2-seqAgent_2-output-seqAgent-Agent-seqEnd_2-seqEnd_2-input-sequentialNode-Start | Agent | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "chatOpenAI_0",
|
||||
"sourceHandle": "chatOpenAI_0-output-chatOpenAI-ChatOpenAI|BaseChatModel|BaseLanguageModel|Runnable",
|
||||
@@ -1862,6 +2028,62 @@
|
||||
"targetHandle": "faiss_0-input-embeddings-Embeddings",
|
||||
"type": "buttonedge",
|
||||
"id": "openAIEmbeddings_0-openAIEmbeddings_0-output-openAIEmbeddings-OpenAIEmbeddings|Embeddings-faiss_0-faiss_0-input-embeddings-Embeddings"
|
||||
},
|
||||
{
|
||||
"source": "seqStart_0",
|
||||
"sourceHandle": "seqStart_0-output-seqStart-Start",
|
||||
"target": "seqAgent_0",
|
||||
"targetHandle": "seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqAgent_0-seqAgent_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-billing-Condition",
|
||||
"target": "seqAgent_1",
|
||||
"targetHandle": "seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-billing-Condition-seqAgent_1-seqAgent_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-end-Condition",
|
||||
"target": "seqEnd_0",
|
||||
"targetHandle": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-end-Condition-seqEnd_0-seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqConditionAgent_0",
|
||||
"sourceHandle": "seqConditionAgent_0-output-technical-Condition",
|
||||
"target": "seqAgent_2",
|
||||
"targetHandle": "seqAgent_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqConditionAgent_0-seqConditionAgent_0-output-technical-Condition-seqAgent_2-seqAgent_2-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_2",
|
||||
"sourceHandle": "seqAgent_2-output-seqAgent-Agent",
|
||||
"target": "seqEnd_2",
|
||||
"targetHandle": "seqEnd_2-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_2-seqAgent_2-output-seqAgent-Agent-seqEnd_2-seqEnd_2-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "seqAgent_1",
|
||||
"sourceHandle": "seqAgent_1-output-seqAgent-Agent",
|
||||
"target": "seqEnd_1",
|
||||
"targetHandle": "seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
|
||||
"type": "buttonedge",
|
||||
"id": "seqAgent_1-seqAgent_1-output-seqAgent-Agent-seqEnd_1-seqEnd_1-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
|
||||
},
|
||||
{
|
||||
"source": "agentMemory_0",
|
||||
"sourceHandle": "agentMemory_0-output-agentMemory-AgentMemory|BaseCheckpointSaver",
|
||||
"target": "seqStart_0",
|
||||
"targetHandle": "seqStart_0-input-agentMemory-BaseCheckpointSaver",
|
||||
"type": "buttonedge",
|
||||
"id": "agentMemory_0-agentMemory_0-output-agentMemory-AgentMemory|BaseCheckpointSaver-seqStart_0-seqStart_0-input-agentMemory-BaseCheckpointSaver"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -4,8 +4,9 @@ import { useEffect } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
|
||||
// Material
|
||||
import { Dialog, DialogContent, DialogTitle } from '@mui/material'
|
||||
import { Button, Dialog, DialogContent, DialogTitle } from '@mui/material'
|
||||
import { TableViewOnly } from '@/ui-component/table/Table'
|
||||
import { IconBook2 } from '@tabler/icons-react'
|
||||
|
||||
// Store
|
||||
import { HIDE_CANVAS_DIALOG, SHOW_CANVAS_DIALOG } from '@/store/actions'
|
||||
@@ -163,6 +164,20 @@ const NodeInfoDialog = ({ show, dialogProps, onCancel }) => {
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ flex: 1 }}></div>
|
||||
{dialogProps.data.documentation && (
|
||||
<Button
|
||||
variant='outlined'
|
||||
color='primary'
|
||||
title='Open Documentation'
|
||||
onClick={() => {
|
||||
window.open(dialogProps.data.documentation, '_blank', 'noopener,noreferrer')
|
||||
}}
|
||||
startIcon={<IconBook2 />}
|
||||
>
|
||||
Documentation
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</DialogTitle>
|
||||
|
||||
@@ -207,6 +207,15 @@ export const updateOutdatedNodeData = (newComponentNodeData, existingComponentNo
|
||||
}
|
||||
}
|
||||
}
|
||||
// Check for tabs
|
||||
const inputParamsWithTabIdentifiers = initNewComponentNodeData.inputParams.filter((param) => param.tabIdentifier) || []
|
||||
|
||||
for (const inputParam of inputParamsWithTabIdentifiers) {
|
||||
const tabIdentifier = `${inputParam.tabIdentifier}_${existingComponentNodeData.id}`
|
||||
let selectedTabValue = existingComponentNodeData.inputs[tabIdentifier] || inputParam.default
|
||||
initNewComponentNodeData.inputs[tabIdentifier] = selectedTabValue
|
||||
initNewComponentNodeData.inputs[selectedTabValue] = existingComponentNodeData.inputs[selectedTabValue]
|
||||
}
|
||||
|
||||
// Update outputs with existing outputs
|
||||
if (existingComponentNodeData.outputs) {
|
||||
@@ -217,6 +226,24 @@ export const updateOutdatedNodeData = (newComponentNodeData, existingComponentNo
|
||||
}
|
||||
}
|
||||
|
||||
// Special case for Condition node to update outputAnchors
|
||||
if (initNewComponentNodeData.name.includes('seqCondition')) {
|
||||
const options = existingComponentNodeData.outputAnchors[0].options || []
|
||||
|
||||
const newOptions = []
|
||||
for (let i = 0; i < options.length; i += 1) {
|
||||
if (options[i].isAnchor) {
|
||||
newOptions.push({
|
||||
...options[i],
|
||||
id: `${initNewComponentNodeData.id}-output-${options[i].name}-Condition`,
|
||||
type: 'Condition'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
initNewComponentNodeData.outputAnchors[0].options = newOptions
|
||||
}
|
||||
|
||||
return initNewComponentNodeData
|
||||
}
|
||||
|
||||
@@ -831,7 +858,7 @@ const createJsonArray = (labels) => {
|
||||
return {
|
||||
label: label,
|
||||
name: toCamelCase(label),
|
||||
baseClasses: ['Agent', 'LLMNode', 'ToolNode'],
|
||||
baseClasses: ['Condition'],
|
||||
isAnchor: true
|
||||
}
|
||||
})
|
||||
|
||||
@@ -178,6 +178,7 @@ const AddNodes = ({ nodesData, node, isAgentCanvas }) => {
|
||||
setNodes(filteredResult)
|
||||
accordianCategories['Multi Agents'] = true
|
||||
accordianCategories['Sequential Agents'] = true
|
||||
accordianCategories['Memory'] = true
|
||||
setCategoryExpanded(accordianCategories)
|
||||
} else {
|
||||
const taggedNodes = groupByTags(nodes, newTabValue)
|
||||
|
||||
Reference in New Issue
Block a user