1475 lines
66 KiB
JSON
1475 lines
66 KiB
JSON
{
|
|
"description": "A customer support agent that can handoff tasks to different agents based on scenarios",
|
|
"usecases": ["Customer Support"],
|
|
"nodes": [
|
|
{
|
|
"id": "startAgentflow_0",
|
|
"type": "agentFlow",
|
|
"position": {
|
|
"x": -162.58207424380598,
|
|
"y": 117.81335679543406
|
|
},
|
|
"data": {
|
|
"id": "startAgentflow_0",
|
|
"label": "Start",
|
|
"version": 1,
|
|
"name": "startAgentflow",
|
|
"type": "Start",
|
|
"color": "#7EE787",
|
|
"hideInput": true,
|
|
"baseClasses": ["Start"],
|
|
"category": "Agent Flows",
|
|
"description": "Starting point of the agentflow",
|
|
"inputParams": [
|
|
{
|
|
"label": "Input Type",
|
|
"name": "startInputType",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "Chat Input",
|
|
"name": "chatInput",
|
|
"description": "Start the conversation with chat input"
|
|
},
|
|
{
|
|
"label": "Form Input",
|
|
"name": "formInput",
|
|
"description": "Start the workflow with form inputs"
|
|
}
|
|
],
|
|
"default": "chatInput",
|
|
"id": "startAgentflow_0-input-startInputType-options",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Form Title",
|
|
"name": "formTitle",
|
|
"type": "string",
|
|
"placeholder": "Please Fill Out The Form",
|
|
"show": {
|
|
"startInputType": "formInput"
|
|
},
|
|
"id": "startAgentflow_0-input-formTitle-string",
|
|
"display": false
|
|
},
|
|
{
|
|
"label": "Form Description",
|
|
"name": "formDescription",
|
|
"type": "string",
|
|
"placeholder": "Complete all fields below to continue",
|
|
"show": {
|
|
"startInputType": "formInput"
|
|
},
|
|
"id": "startAgentflow_0-input-formDescription-string",
|
|
"display": false
|
|
},
|
|
{
|
|
"label": "Form Input Types",
|
|
"name": "formInputTypes",
|
|
"description": "Specify the type of form input",
|
|
"type": "array",
|
|
"show": {
|
|
"startInputType": "formInput"
|
|
},
|
|
"array": [
|
|
{
|
|
"label": "Type",
|
|
"name": "type",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "String",
|
|
"name": "string"
|
|
},
|
|
{
|
|
"label": "Number",
|
|
"name": "number"
|
|
},
|
|
{
|
|
"label": "Boolean",
|
|
"name": "boolean"
|
|
},
|
|
{
|
|
"label": "Options",
|
|
"name": "options"
|
|
}
|
|
],
|
|
"default": "string"
|
|
},
|
|
{
|
|
"label": "Label",
|
|
"name": "label",
|
|
"type": "string",
|
|
"placeholder": "Label for the input"
|
|
},
|
|
{
|
|
"label": "Variable Name",
|
|
"name": "name",
|
|
"type": "string",
|
|
"placeholder": "Variable name for the input (must be camel case)",
|
|
"description": "Variable name must be camel case. For example: firstName, lastName, etc."
|
|
},
|
|
{
|
|
"label": "Add Options",
|
|
"name": "addOptions",
|
|
"type": "array",
|
|
"show": {
|
|
"formInputTypes[$index].type": "options"
|
|
},
|
|
"array": [
|
|
{
|
|
"label": "Option",
|
|
"name": "option",
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"id": "startAgentflow_0-input-formInputTypes-array",
|
|
"display": false
|
|
},
|
|
{
|
|
"label": "Ephemeral Memory",
|
|
"name": "startEphemeralMemory",
|
|
"type": "boolean",
|
|
"description": "Start fresh for every execution without past chat history",
|
|
"optional": true
|
|
},
|
|
{
|
|
"label": "Flow State",
|
|
"name": "startState",
|
|
"description": "Runtime state during the execution of the workflow",
|
|
"type": "array",
|
|
"optional": true,
|
|
"array": [
|
|
{
|
|
"label": "Key",
|
|
"name": "key",
|
|
"type": "string",
|
|
"placeholder": "Foo"
|
|
},
|
|
{
|
|
"label": "Value",
|
|
"name": "value",
|
|
"type": "string",
|
|
"placeholder": "Bar"
|
|
}
|
|
],
|
|
"id": "startAgentflow_0-input-startState-array",
|
|
"display": true
|
|
}
|
|
],
|
|
"inputAnchors": [],
|
|
"inputs": {
|
|
"startInputType": "chatInput",
|
|
"formTitle": "",
|
|
"formDescription": "",
|
|
"formInputTypes": "",
|
|
"startState": ""
|
|
},
|
|
"outputAnchors": [
|
|
{
|
|
"id": "startAgentflow_0-output-startAgentflow",
|
|
"label": "Start",
|
|
"name": "startAgentflow"
|
|
}
|
|
],
|
|
"outputs": {},
|
|
"selected": false
|
|
},
|
|
"width": 101,
|
|
"height": 65,
|
|
"selected": false,
|
|
"positionAbsolute": {
|
|
"x": -162.58207424380598,
|
|
"y": 117.81335679543406
|
|
},
|
|
"dragging": false
|
|
},
|
|
{
|
|
"id": "conditionAgentAgentflow_0",
|
|
"position": {
|
|
"x": -11.580228601760105,
|
|
"y": 99.42548336780041
|
|
},
|
|
"data": {
|
|
"id": "conditionAgentAgentflow_0",
|
|
"label": "Detect User Intention",
|
|
"version": 1,
|
|
"name": "conditionAgentAgentflow",
|
|
"type": "ConditionAgent",
|
|
"color": "#ff8fab",
|
|
"baseClasses": ["ConditionAgent"],
|
|
"category": "Agent Flows",
|
|
"description": "Utilize an agent to split flows based on dynamic conditions",
|
|
"inputParams": [
|
|
{
|
|
"label": "Model",
|
|
"name": "conditionAgentModel",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listModels",
|
|
"loadConfig": true,
|
|
"id": "conditionAgentAgentflow_0-input-conditionAgentModel-asyncOptions",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Instructions",
|
|
"name": "conditionAgentInstructions",
|
|
"type": "string",
|
|
"description": "A general instructions of what the condition agent should do",
|
|
"rows": 4,
|
|
"acceptVariable": true,
|
|
"placeholder": "Determine if the user is interested in learning about AI",
|
|
"id": "conditionAgentAgentflow_0-input-conditionAgentInstructions-string",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Input",
|
|
"name": "conditionAgentInput",
|
|
"type": "string",
|
|
"description": "Input to be used for the condition agent",
|
|
"rows": 4,
|
|
"acceptVariable": true,
|
|
"default": "<p><span class=\"variable\" data-type=\"mention\" data-id=\"question\" data-label=\"question\">{{ question }}</span> </p>",
|
|
"id": "conditionAgentAgentflow_0-input-conditionAgentInput-string",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Scenarios",
|
|
"name": "conditionAgentScenarios",
|
|
"description": "Define the scenarios that will be used as the conditions to split the flow",
|
|
"type": "array",
|
|
"array": [
|
|
{
|
|
"label": "Scenario",
|
|
"name": "scenario",
|
|
"type": "string",
|
|
"placeholder": "User is asking for a pizza"
|
|
}
|
|
],
|
|
"default": [
|
|
{
|
|
"scenario": "User is asking for refund"
|
|
},
|
|
{
|
|
"scenario": "User is looking for item"
|
|
}
|
|
],
|
|
"id": "conditionAgentAgentflow_0-input-conditionAgentScenarios-array",
|
|
"display": true
|
|
}
|
|
],
|
|
"inputAnchors": [],
|
|
"inputs": {
|
|
"conditionAgentModel": "chatOpenAI",
|
|
"conditionAgentInstructions": "<p>You are a customer support agent for ACME Inc.</p><p>Follow the following routine with the user:</p><p>1. First, greet the user and see how you can help the user</p><p>2. If user is looking for items, handoff to the Sales Agent</p><p>3. If user is looking for refund, handoff to Refund Agent</p><p>4. If user is asking general query, be helpful and answer the query</p><p>Note: Transfers between agents are handled seamlessly in the background; do not mention or draw attention to these transfers in your conversation with the user</p>",
|
|
"conditionAgentInput": "<p><span class=\"variable\" data-type=\"mention\" data-id=\"question\" data-label=\"question\">{{ question }}</span> </p>",
|
|
"conditionAgentScenarios": [
|
|
{
|
|
"scenario": "User is asking for refund"
|
|
},
|
|
{
|
|
"scenario": "User is looking for item"
|
|
},
|
|
{
|
|
"scenario": "User is chatting casually or asking general question"
|
|
}
|
|
],
|
|
"conditionAgentModelConfig": {
|
|
"cache": "",
|
|
"modelName": "gpt-4o-mini",
|
|
"temperature": 0.9,
|
|
"streaming": true,
|
|
"maxTokens": "",
|
|
"topP": "",
|
|
"frequencyPenalty": "",
|
|
"presencePenalty": "",
|
|
"timeout": "",
|
|
"strictToolCalling": "",
|
|
"stopSequence": "",
|
|
"basepath": "",
|
|
"proxyUrl": "",
|
|
"baseOptions": "",
|
|
"allowImageUploads": true,
|
|
"reasoningEffort": "medium",
|
|
"conditionAgentModel": "chatOpenAI"
|
|
}
|
|
},
|
|
"outputAnchors": [
|
|
{
|
|
"id": "conditionAgentAgentflow_0-output-0",
|
|
"label": 0,
|
|
"name": 0,
|
|
"description": "Condition 0"
|
|
},
|
|
{
|
|
"id": "conditionAgentAgentflow_0-output-1",
|
|
"label": 1,
|
|
"name": 1,
|
|
"description": "Condition 1"
|
|
},
|
|
{
|
|
"id": "conditionAgentAgentflow_0-output-2",
|
|
"label": 2,
|
|
"name": 2,
|
|
"description": "Condition 2"
|
|
}
|
|
],
|
|
"outputs": {
|
|
"conditionAgentAgentflow": ""
|
|
},
|
|
"selected": false
|
|
},
|
|
"type": "agentFlow",
|
|
"width": 200,
|
|
"height": 100,
|
|
"selected": false,
|
|
"positionAbsolute": {
|
|
"x": -11.580228601760105,
|
|
"y": 99.42548336780041
|
|
},
|
|
"dragging": false
|
|
},
|
|
{
|
|
"id": "agentAgentflow_0",
|
|
"position": {
|
|
"x": 253.4811075082052,
|
|
"y": 17.0330403645183
|
|
},
|
|
"data": {
|
|
"id": "agentAgentflow_0",
|
|
"label": "Refund Agent",
|
|
"version": 1,
|
|
"name": "agentAgentflow",
|
|
"type": "Agent",
|
|
"color": "#4DD0E1",
|
|
"baseClasses": ["Agent"],
|
|
"category": "Agent Flows",
|
|
"description": "Dynamically choose and utilize tools during runtime, enabling multi-step reasoning",
|
|
"inputParams": [
|
|
{
|
|
"label": "Model",
|
|
"name": "agentModel",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listModels",
|
|
"loadConfig": true,
|
|
"id": "agentAgentflow_0-input-agentModel-asyncOptions",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Messages",
|
|
"name": "agentMessages",
|
|
"type": "array",
|
|
"optional": true,
|
|
"acceptVariable": true,
|
|
"array": [
|
|
{
|
|
"label": "Role",
|
|
"name": "role",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "System",
|
|
"name": "system"
|
|
},
|
|
{
|
|
"label": "Assistant",
|
|
"name": "assistant"
|
|
},
|
|
{
|
|
"label": "Developer",
|
|
"name": "developer"
|
|
},
|
|
{
|
|
"label": "User",
|
|
"name": "user"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Content",
|
|
"name": "content",
|
|
"type": "string",
|
|
"acceptVariable": true,
|
|
"generateInstruction": true,
|
|
"rows": 4
|
|
}
|
|
],
|
|
"id": "agentAgentflow_0-input-agentMessages-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Tools",
|
|
"name": "agentTools",
|
|
"type": "array",
|
|
"optional": true,
|
|
"array": [
|
|
{
|
|
"label": "Tool",
|
|
"name": "agentSelectedTool",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listTools",
|
|
"loadConfig": true
|
|
},
|
|
{
|
|
"label": "Require Human Input",
|
|
"name": "agentSelectedToolRequiresHumanInput",
|
|
"type": "boolean",
|
|
"optional": true
|
|
}
|
|
],
|
|
"id": "agentAgentflow_0-input-agentTools-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Knowledge (Document Stores)",
|
|
"name": "agentKnowledgeDocumentStores",
|
|
"type": "array",
|
|
"description": "Give your agent context about different document sources. Document stores must be upserted in advance.",
|
|
"array": [
|
|
{
|
|
"label": "Document Store",
|
|
"name": "documentStore",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listStores"
|
|
},
|
|
{
|
|
"label": "Describe Knowledge",
|
|
"name": "docStoreDescription",
|
|
"type": "string",
|
|
"generateDocStoreDescription": true,
|
|
"placeholder": "Describe what the knowledge base is about, this is useful for the AI to know when and how to search for correct information",
|
|
"rows": 4
|
|
},
|
|
{
|
|
"label": "Return Source Documents",
|
|
"name": "returnSourceDocuments",
|
|
"type": "boolean",
|
|
"optional": true
|
|
}
|
|
],
|
|
"optional": true,
|
|
"id": "agentAgentflow_0-input-agentKnowledgeDocumentStores-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Knowledge (Vector Embeddings)",
|
|
"name": "agentKnowledgeVSEmbeddings",
|
|
"type": "array",
|
|
"description": "Give your agent context about different document sources from existing vector stores and embeddings",
|
|
"array": [
|
|
{
|
|
"label": "Vector Store",
|
|
"name": "vectorStore",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listVectorStores",
|
|
"loadConfig": true
|
|
},
|
|
{
|
|
"label": "Embedding Model",
|
|
"name": "embeddingModel",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listEmbeddings",
|
|
"loadConfig": true
|
|
},
|
|
{
|
|
"label": "Knowledge Name",
|
|
"name": "knowledgeName",
|
|
"type": "string",
|
|
"placeholder": "A short name for the knowledge base, this is useful for the AI to know when and how to search for correct information"
|
|
},
|
|
{
|
|
"label": "Describe Knowledge",
|
|
"name": "knowledgeDescription",
|
|
"type": "string",
|
|
"placeholder": "Describe what the knowledge base is about, this is useful for the AI to know when and how to search for correct information",
|
|
"rows": 4
|
|
},
|
|
{
|
|
"label": "Return Source Documents",
|
|
"name": "returnSourceDocuments",
|
|
"type": "boolean",
|
|
"optional": true
|
|
}
|
|
],
|
|
"optional": true,
|
|
"id": "agentAgentflow_0-input-agentKnowledgeVSEmbeddings-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Enable Memory",
|
|
"name": "agentEnableMemory",
|
|
"type": "boolean",
|
|
"description": "Enable memory for the conversation thread",
|
|
"default": true,
|
|
"optional": true,
|
|
"id": "agentAgentflow_0-input-agentEnableMemory-boolean",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Memory Type",
|
|
"name": "agentMemoryType",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "All Messages",
|
|
"name": "allMessages",
|
|
"description": "Retrieve all messages from the conversation"
|
|
},
|
|
{
|
|
"label": "Window Size",
|
|
"name": "windowSize",
|
|
"description": "Uses a fixed window size to surface the last N messages"
|
|
},
|
|
{
|
|
"label": "Conversation Summary",
|
|
"name": "conversationSummary",
|
|
"description": "Summarizes the whole conversation"
|
|
},
|
|
{
|
|
"label": "Conversation Summary Buffer",
|
|
"name": "conversationSummaryBuffer",
|
|
"description": "Summarize conversations once token limit is reached. Default to 2000"
|
|
}
|
|
],
|
|
"optional": true,
|
|
"default": "allMessages",
|
|
"show": {
|
|
"agentEnableMemory": true
|
|
},
|
|
"id": "agentAgentflow_0-input-agentMemoryType-options",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Window Size",
|
|
"name": "agentMemoryWindowSize",
|
|
"type": "number",
|
|
"default": "20",
|
|
"description": "Uses a fixed window size to surface the last N messages",
|
|
"show": {
|
|
"agentMemoryType": "windowSize"
|
|
},
|
|
"id": "agentAgentflow_0-input-agentMemoryWindowSize-number",
|
|
"display": false
|
|
},
|
|
{
|
|
"label": "Max Token Limit",
|
|
"name": "agentMemoryMaxTokenLimit",
|
|
"type": "number",
|
|
"default": "2000",
|
|
"description": "Summarize conversations once token limit is reached. Default to 2000",
|
|
"show": {
|
|
"agentMemoryType": "conversationSummaryBuffer"
|
|
},
|
|
"id": "agentAgentflow_0-input-agentMemoryMaxTokenLimit-number",
|
|
"display": false
|
|
},
|
|
{
|
|
"label": "Input Message",
|
|
"name": "agentUserMessage",
|
|
"type": "string",
|
|
"description": "Add an input message as user message at the end of the conversation",
|
|
"rows": 4,
|
|
"optional": true,
|
|
"acceptVariable": true,
|
|
"show": {
|
|
"agentEnableMemory": true
|
|
},
|
|
"id": "agentAgentflow_0-input-agentUserMessage-string",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Return Response As",
|
|
"name": "agentReturnResponseAs",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "User Message",
|
|
"name": "userMessage"
|
|
},
|
|
{
|
|
"label": "Assistant Message",
|
|
"name": "assistantMessage"
|
|
}
|
|
],
|
|
"default": "userMessage",
|
|
"id": "agentAgentflow_0-input-agentReturnResponseAs-options",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Update Flow State",
|
|
"name": "agentUpdateState",
|
|
"description": "Update runtime state during the execution of the workflow",
|
|
"type": "array",
|
|
"optional": true,
|
|
"acceptVariable": true,
|
|
"array": [
|
|
{
|
|
"label": "Key",
|
|
"name": "key",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listRuntimeStateKeys",
|
|
"freeSolo": true
|
|
},
|
|
{
|
|
"label": "Value",
|
|
"name": "value",
|
|
"type": "string",
|
|
"acceptVariable": true,
|
|
"acceptNodeOutputAsVariable": true
|
|
}
|
|
],
|
|
"id": "agentAgentflow_0-input-agentUpdateState-array",
|
|
"display": true
|
|
}
|
|
],
|
|
"inputAnchors": [],
|
|
"inputs": {
|
|
"agentModel": "chatGoogleGenerativeAI",
|
|
"agentMessages": [
|
|
{
|
|
"role": "system",
|
|
"content": "<p>You are a refund agent. Help the user with refunds.</p>"
|
|
}
|
|
],
|
|
"agentTools": "",
|
|
"agentKnowledgeDocumentStores": "",
|
|
"agentEnableMemory": true,
|
|
"agentMemoryType": "allMessages",
|
|
"agentUserMessage": "",
|
|
"agentReturnResponseAs": "userMessage",
|
|
"agentUpdateState": "",
|
|
"agentModelConfig": {
|
|
"credential": "",
|
|
"modelName": "gemini-2.0-flash",
|
|
"customModelName": "",
|
|
"temperature": 0.9,
|
|
"streaming": true,
|
|
"maxOutputTokens": "",
|
|
"topP": "",
|
|
"topK": "",
|
|
"harmCategory": "",
|
|
"harmBlockThreshold": "",
|
|
"allowImageUploads": "",
|
|
"agentModel": "chatGoogleGenerativeAI"
|
|
}
|
|
},
|
|
"outputAnchors": [
|
|
{
|
|
"id": "agentAgentflow_0-output-agentAgentflow",
|
|
"label": "Agent",
|
|
"name": "agentAgentflow"
|
|
}
|
|
],
|
|
"outputs": {},
|
|
"selected": false
|
|
},
|
|
"type": "agentFlow",
|
|
"width": 191,
|
|
"height": 71,
|
|
"selected": false,
|
|
"positionAbsolute": {
|
|
"x": 253.4811075082052,
|
|
"y": 17.0330403645183
|
|
},
|
|
"dragging": false
|
|
},
|
|
{
|
|
"id": "agentAgentflow_1",
|
|
"position": {
|
|
"x": 253.74384888466125,
|
|
"y": 113.94007038630222
|
|
},
|
|
"data": {
|
|
"id": "agentAgentflow_1",
|
|
"label": "Sales Agent",
|
|
"version": 1,
|
|
"name": "agentAgentflow",
|
|
"type": "Agent",
|
|
"color": "#4DD0E1",
|
|
"baseClasses": ["Agent"],
|
|
"category": "Agent Flows",
|
|
"description": "Dynamically choose and utilize tools during runtime, enabling multi-step reasoning",
|
|
"inputParams": [
|
|
{
|
|
"label": "Model",
|
|
"name": "agentModel",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listModels",
|
|
"loadConfig": true,
|
|
"id": "agentAgentflow_1-input-agentModel-asyncOptions",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Messages",
|
|
"name": "agentMessages",
|
|
"type": "array",
|
|
"optional": true,
|
|
"acceptVariable": true,
|
|
"array": [
|
|
{
|
|
"label": "Role",
|
|
"name": "role",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "System",
|
|
"name": "system"
|
|
},
|
|
{
|
|
"label": "Assistant",
|
|
"name": "assistant"
|
|
},
|
|
{
|
|
"label": "Developer",
|
|
"name": "developer"
|
|
},
|
|
{
|
|
"label": "User",
|
|
"name": "user"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Content",
|
|
"name": "content",
|
|
"type": "string",
|
|
"acceptVariable": true,
|
|
"generateInstruction": true,
|
|
"rows": 4
|
|
}
|
|
],
|
|
"id": "agentAgentflow_1-input-agentMessages-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Tools",
|
|
"name": "agentTools",
|
|
"type": "array",
|
|
"optional": true,
|
|
"array": [
|
|
{
|
|
"label": "Tool",
|
|
"name": "agentSelectedTool",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listTools",
|
|
"loadConfig": true
|
|
},
|
|
{
|
|
"label": "Require Human Input",
|
|
"name": "agentSelectedToolRequiresHumanInput",
|
|
"type": "boolean",
|
|
"optional": true
|
|
}
|
|
],
|
|
"id": "agentAgentflow_1-input-agentTools-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Knowledge (Document Stores)",
|
|
"name": "agentKnowledgeDocumentStores",
|
|
"type": "array",
|
|
"description": "Give your agent context about different document sources. Document stores must be upserted in advance.",
|
|
"array": [
|
|
{
|
|
"label": "Document Store",
|
|
"name": "documentStore",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listStores"
|
|
},
|
|
{
|
|
"label": "Describe Knowledge",
|
|
"name": "docStoreDescription",
|
|
"type": "string",
|
|
"generateDocStoreDescription": true,
|
|
"placeholder": "Describe what the knowledge base is about, this is useful for the AI to know when and how to search for correct information",
|
|
"rows": 4
|
|
},
|
|
{
|
|
"label": "Return Source Documents",
|
|
"name": "returnSourceDocuments",
|
|
"type": "boolean",
|
|
"optional": true
|
|
}
|
|
],
|
|
"optional": true,
|
|
"id": "agentAgentflow_1-input-agentKnowledgeDocumentStores-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Knowledge (Vector Embeddings)",
|
|
"name": "agentKnowledgeVSEmbeddings",
|
|
"type": "array",
|
|
"description": "Give your agent context about different document sources from existing vector stores and embeddings",
|
|
"array": [
|
|
{
|
|
"label": "Vector Store",
|
|
"name": "vectorStore",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listVectorStores",
|
|
"loadConfig": true
|
|
},
|
|
{
|
|
"label": "Embedding Model",
|
|
"name": "embeddingModel",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listEmbeddings",
|
|
"loadConfig": true
|
|
},
|
|
{
|
|
"label": "Knowledge Name",
|
|
"name": "knowledgeName",
|
|
"type": "string",
|
|
"placeholder": "A short name for the knowledge base, this is useful for the AI to know when and how to search for correct information"
|
|
},
|
|
{
|
|
"label": "Describe Knowledge",
|
|
"name": "knowledgeDescription",
|
|
"type": "string",
|
|
"placeholder": "Describe what the knowledge base is about, this is useful for the AI to know when and how to search for correct information",
|
|
"rows": 4
|
|
},
|
|
{
|
|
"label": "Return Source Documents",
|
|
"name": "returnSourceDocuments",
|
|
"type": "boolean",
|
|
"optional": true
|
|
}
|
|
],
|
|
"optional": true,
|
|
"id": "agentAgentflow_1-input-agentKnowledgeVSEmbeddings-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Enable Memory",
|
|
"name": "agentEnableMemory",
|
|
"type": "boolean",
|
|
"description": "Enable memory for the conversation thread",
|
|
"default": true,
|
|
"optional": true,
|
|
"id": "agentAgentflow_1-input-agentEnableMemory-boolean",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Memory Type",
|
|
"name": "agentMemoryType",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "All Messages",
|
|
"name": "allMessages",
|
|
"description": "Retrieve all messages from the conversation"
|
|
},
|
|
{
|
|
"label": "Window Size",
|
|
"name": "windowSize",
|
|
"description": "Uses a fixed window size to surface the last N messages"
|
|
},
|
|
{
|
|
"label": "Conversation Summary",
|
|
"name": "conversationSummary",
|
|
"description": "Summarizes the whole conversation"
|
|
},
|
|
{
|
|
"label": "Conversation Summary Buffer",
|
|
"name": "conversationSummaryBuffer",
|
|
"description": "Summarize conversations once token limit is reached. Default to 2000"
|
|
}
|
|
],
|
|
"optional": true,
|
|
"default": "allMessages",
|
|
"show": {
|
|
"agentEnableMemory": true
|
|
},
|
|
"id": "agentAgentflow_1-input-agentMemoryType-options",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Window Size",
|
|
"name": "agentMemoryWindowSize",
|
|
"type": "number",
|
|
"default": "20",
|
|
"description": "Uses a fixed window size to surface the last N messages",
|
|
"show": {
|
|
"agentMemoryType": "windowSize"
|
|
},
|
|
"id": "agentAgentflow_1-input-agentMemoryWindowSize-number",
|
|
"display": false
|
|
},
|
|
{
|
|
"label": "Max Token Limit",
|
|
"name": "agentMemoryMaxTokenLimit",
|
|
"type": "number",
|
|
"default": "2000",
|
|
"description": "Summarize conversations once token limit is reached. Default to 2000",
|
|
"show": {
|
|
"agentMemoryType": "conversationSummaryBuffer"
|
|
},
|
|
"id": "agentAgentflow_1-input-agentMemoryMaxTokenLimit-number",
|
|
"display": false
|
|
},
|
|
{
|
|
"label": "Input Message",
|
|
"name": "agentUserMessage",
|
|
"type": "string",
|
|
"description": "Add an input message as user message at the end of the conversation",
|
|
"rows": 4,
|
|
"optional": true,
|
|
"acceptVariable": true,
|
|
"show": {
|
|
"agentEnableMemory": true
|
|
},
|
|
"id": "agentAgentflow_1-input-agentUserMessage-string",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Return Response As",
|
|
"name": "agentReturnResponseAs",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "User Message",
|
|
"name": "userMessage"
|
|
},
|
|
{
|
|
"label": "Assistant Message",
|
|
"name": "assistantMessage"
|
|
}
|
|
],
|
|
"default": "userMessage",
|
|
"id": "agentAgentflow_1-input-agentReturnResponseAs-options",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Update Flow State",
|
|
"name": "agentUpdateState",
|
|
"description": "Update runtime state during the execution of the workflow",
|
|
"type": "array",
|
|
"optional": true,
|
|
"acceptVariable": true,
|
|
"array": [
|
|
{
|
|
"label": "Key",
|
|
"name": "key",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listRuntimeStateKeys",
|
|
"freeSolo": true
|
|
},
|
|
{
|
|
"label": "Value",
|
|
"name": "value",
|
|
"type": "string",
|
|
"acceptVariable": true,
|
|
"acceptNodeOutputAsVariable": true
|
|
}
|
|
],
|
|
"id": "agentAgentflow_1-input-agentUpdateState-array",
|
|
"display": true
|
|
}
|
|
],
|
|
"inputAnchors": [],
|
|
"inputs": {
|
|
"agentModel": "chatAnthropic",
|
|
"agentMessages": [
|
|
{
|
|
"role": "system",
|
|
"content": "<p>You are a sales assistant. Help user search for the product.</p>"
|
|
}
|
|
],
|
|
"agentTools": [
|
|
{
|
|
"agentSelectedTool": "googleCustomSearch",
|
|
"agentSelectedToolConfig": {
|
|
"agentSelectedTool": "googleCustomSearch"
|
|
}
|
|
}
|
|
],
|
|
"agentKnowledgeDocumentStores": "",
|
|
"agentEnableMemory": true,
|
|
"agentMemoryType": "allMessages",
|
|
"agentUserMessage": "",
|
|
"agentReturnResponseAs": "userMessage",
|
|
"agentUpdateState": "",
|
|
"agentModelConfig": {
|
|
"credential": "",
|
|
"modelName": "claude-3-7-sonnet-latest",
|
|
"temperature": 0.9,
|
|
"streaming": true,
|
|
"maxTokensToSample": "",
|
|
"topP": "",
|
|
"topK": "",
|
|
"extendedThinking": "",
|
|
"budgetTokens": 1024,
|
|
"allowImageUploads": "",
|
|
"agentModel": "chatAnthropic"
|
|
}
|
|
},
|
|
"outputAnchors": [
|
|
{
|
|
"id": "agentAgentflow_1-output-agentAgentflow",
|
|
"label": "Agent",
|
|
"name": "agentAgentflow"
|
|
}
|
|
],
|
|
"outputs": {},
|
|
"selected": false
|
|
},
|
|
"type": "agentFlow",
|
|
"width": 231,
|
|
"height": 103,
|
|
"selected": false,
|
|
"positionAbsolute": {
|
|
"x": 253.74384888466125,
|
|
"y": 113.94007038630222
|
|
},
|
|
"dragging": false
|
|
},
|
|
{
|
|
"id": "agentAgentflow_2",
|
|
"position": {
|
|
"x": 250.2139715995238,
|
|
"y": 234.20808458654034
|
|
},
|
|
"data": {
|
|
"id": "agentAgentflow_2",
|
|
"label": "General Agent",
|
|
"version": 1,
|
|
"name": "agentAgentflow",
|
|
"type": "Agent",
|
|
"color": "#4DD0E1",
|
|
"baseClasses": ["Agent"],
|
|
"category": "Agent Flows",
|
|
"description": "Dynamically choose and utilize tools during runtime, enabling multi-step reasoning",
|
|
"inputParams": [
|
|
{
|
|
"label": "Model",
|
|
"name": "agentModel",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listModels",
|
|
"loadConfig": true,
|
|
"id": "agentAgentflow_2-input-agentModel-asyncOptions",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Messages",
|
|
"name": "agentMessages",
|
|
"type": "array",
|
|
"optional": true,
|
|
"acceptVariable": true,
|
|
"array": [
|
|
{
|
|
"label": "Role",
|
|
"name": "role",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "System",
|
|
"name": "system"
|
|
},
|
|
{
|
|
"label": "Assistant",
|
|
"name": "assistant"
|
|
},
|
|
{
|
|
"label": "Developer",
|
|
"name": "developer"
|
|
},
|
|
{
|
|
"label": "User",
|
|
"name": "user"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Content",
|
|
"name": "content",
|
|
"type": "string",
|
|
"acceptVariable": true,
|
|
"generateInstruction": true,
|
|
"rows": 4
|
|
}
|
|
],
|
|
"id": "agentAgentflow_2-input-agentMessages-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Tools",
|
|
"name": "agentTools",
|
|
"type": "array",
|
|
"optional": true,
|
|
"array": [
|
|
{
|
|
"label": "Tool",
|
|
"name": "agentSelectedTool",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listTools",
|
|
"loadConfig": true
|
|
},
|
|
{
|
|
"label": "Require Human Input",
|
|
"name": "agentSelectedToolRequiresHumanInput",
|
|
"type": "boolean",
|
|
"optional": true
|
|
}
|
|
],
|
|
"id": "agentAgentflow_2-input-agentTools-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Knowledge (Document Stores)",
|
|
"name": "agentKnowledgeDocumentStores",
|
|
"type": "array",
|
|
"description": "Give your agent context about different document sources. Document stores must be upserted in advance.",
|
|
"array": [
|
|
{
|
|
"label": "Document Store",
|
|
"name": "documentStore",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listStores"
|
|
},
|
|
{
|
|
"label": "Describe Knowledge",
|
|
"name": "docStoreDescription",
|
|
"type": "string",
|
|
"generateDocStoreDescription": true,
|
|
"placeholder": "Describe what the knowledge base is about, this is useful for the AI to know when and how to search for correct information",
|
|
"rows": 4
|
|
},
|
|
{
|
|
"label": "Return Source Documents",
|
|
"name": "returnSourceDocuments",
|
|
"type": "boolean",
|
|
"optional": true
|
|
}
|
|
],
|
|
"optional": true,
|
|
"id": "agentAgentflow_2-input-agentKnowledgeDocumentStores-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Knowledge (Vector Embeddings)",
|
|
"name": "agentKnowledgeVSEmbeddings",
|
|
"type": "array",
|
|
"description": "Give your agent context about different document sources from existing vector stores and embeddings",
|
|
"array": [
|
|
{
|
|
"label": "Vector Store",
|
|
"name": "vectorStore",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listVectorStores",
|
|
"loadConfig": true
|
|
},
|
|
{
|
|
"label": "Embedding Model",
|
|
"name": "embeddingModel",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listEmbeddings",
|
|
"loadConfig": true
|
|
},
|
|
{
|
|
"label": "Knowledge Name",
|
|
"name": "knowledgeName",
|
|
"type": "string",
|
|
"placeholder": "A short name for the knowledge base, this is useful for the AI to know when and how to search for correct information"
|
|
},
|
|
{
|
|
"label": "Describe Knowledge",
|
|
"name": "knowledgeDescription",
|
|
"type": "string",
|
|
"placeholder": "Describe what the knowledge base is about, this is useful for the AI to know when and how to search for correct information",
|
|
"rows": 4
|
|
},
|
|
{
|
|
"label": "Return Source Documents",
|
|
"name": "returnSourceDocuments",
|
|
"type": "boolean",
|
|
"optional": true
|
|
}
|
|
],
|
|
"optional": true,
|
|
"id": "agentAgentflow_2-input-agentKnowledgeVSEmbeddings-array",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Enable Memory",
|
|
"name": "agentEnableMemory",
|
|
"type": "boolean",
|
|
"description": "Enable memory for the conversation thread",
|
|
"default": true,
|
|
"optional": true,
|
|
"id": "agentAgentflow_2-input-agentEnableMemory-boolean",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Memory Type",
|
|
"name": "agentMemoryType",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "All Messages",
|
|
"name": "allMessages",
|
|
"description": "Retrieve all messages from the conversation"
|
|
},
|
|
{
|
|
"label": "Window Size",
|
|
"name": "windowSize",
|
|
"description": "Uses a fixed window size to surface the last N messages"
|
|
},
|
|
{
|
|
"label": "Conversation Summary",
|
|
"name": "conversationSummary",
|
|
"description": "Summarizes the whole conversation"
|
|
},
|
|
{
|
|
"label": "Conversation Summary Buffer",
|
|
"name": "conversationSummaryBuffer",
|
|
"description": "Summarize conversations once token limit is reached. Default to 2000"
|
|
}
|
|
],
|
|
"optional": true,
|
|
"default": "allMessages",
|
|
"show": {
|
|
"agentEnableMemory": true
|
|
},
|
|
"id": "agentAgentflow_2-input-agentMemoryType-options",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Window Size",
|
|
"name": "agentMemoryWindowSize",
|
|
"type": "number",
|
|
"default": "20",
|
|
"description": "Uses a fixed window size to surface the last N messages",
|
|
"show": {
|
|
"agentMemoryType": "windowSize"
|
|
},
|
|
"id": "agentAgentflow_2-input-agentMemoryWindowSize-number",
|
|
"display": false
|
|
},
|
|
{
|
|
"label": "Max Token Limit",
|
|
"name": "agentMemoryMaxTokenLimit",
|
|
"type": "number",
|
|
"default": "2000",
|
|
"description": "Summarize conversations once token limit is reached. Default to 2000",
|
|
"show": {
|
|
"agentMemoryType": "conversationSummaryBuffer"
|
|
},
|
|
"id": "agentAgentflow_2-input-agentMemoryMaxTokenLimit-number",
|
|
"display": false
|
|
},
|
|
{
|
|
"label": "Input Message",
|
|
"name": "agentUserMessage",
|
|
"type": "string",
|
|
"description": "Add an input message as user message at the end of the conversation",
|
|
"rows": 4,
|
|
"optional": true,
|
|
"acceptVariable": true,
|
|
"show": {
|
|
"agentEnableMemory": true
|
|
},
|
|
"id": "agentAgentflow_2-input-agentUserMessage-string",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Return Response As",
|
|
"name": "agentReturnResponseAs",
|
|
"type": "options",
|
|
"options": [
|
|
{
|
|
"label": "User Message",
|
|
"name": "userMessage"
|
|
},
|
|
{
|
|
"label": "Assistant Message",
|
|
"name": "assistantMessage"
|
|
}
|
|
],
|
|
"default": "userMessage",
|
|
"id": "agentAgentflow_2-input-agentReturnResponseAs-options",
|
|
"display": true
|
|
},
|
|
{
|
|
"label": "Update Flow State",
|
|
"name": "agentUpdateState",
|
|
"description": "Update runtime state during the execution of the workflow",
|
|
"type": "array",
|
|
"optional": true,
|
|
"acceptVariable": true,
|
|
"array": [
|
|
{
|
|
"label": "Key",
|
|
"name": "key",
|
|
"type": "asyncOptions",
|
|
"loadMethod": "listRuntimeStateKeys",
|
|
"freeSolo": true
|
|
},
|
|
{
|
|
"label": "Value",
|
|
"name": "value",
|
|
"type": "string",
|
|
"acceptVariable": true,
|
|
"acceptNodeOutputAsVariable": true
|
|
}
|
|
],
|
|
"id": "agentAgentflow_2-input-agentUpdateState-array",
|
|
"display": true
|
|
}
|
|
],
|
|
"inputAnchors": [],
|
|
"inputs": {
|
|
"agentModel": "groqChat",
|
|
"agentMessages": [
|
|
{
|
|
"role": "system",
|
|
"content": "<p>You are helpful assistant</p>"
|
|
}
|
|
],
|
|
"agentTools": "",
|
|
"agentKnowledgeDocumentStores": "",
|
|
"agentEnableMemory": true,
|
|
"agentMemoryType": "allMessages",
|
|
"agentUserMessage": "",
|
|
"agentReturnResponseAs": "userMessage",
|
|
"agentUpdateState": "",
|
|
"agentModelConfig": {
|
|
"credential": "",
|
|
"modelName": "llama-3.2-3b-preview",
|
|
"temperature": 0.9,
|
|
"streaming": true,
|
|
"agentModel": "groqChat"
|
|
}
|
|
},
|
|
"outputAnchors": [
|
|
{
|
|
"id": "agentAgentflow_2-output-agentAgentflow",
|
|
"label": "Agent",
|
|
"name": "agentAgentflow"
|
|
}
|
|
],
|
|
"outputs": {},
|
|
"selected": false
|
|
},
|
|
"type": "agentFlow",
|
|
"width": 214,
|
|
"height": 71,
|
|
"selected": false,
|
|
"positionAbsolute": {
|
|
"x": 250.2139715995238,
|
|
"y": 234.20808458654034
|
|
},
|
|
"dragging": false
|
|
},
|
|
{
|
|
"id": "stickyNoteAgentflow_0",
|
|
"position": {
|
|
"x": 246.81594867785896,
|
|
"y": -103.07943752447065
|
|
},
|
|
"data": {
|
|
"id": "stickyNoteAgentflow_0",
|
|
"label": "Sticky Note",
|
|
"version": 1,
|
|
"name": "stickyNoteAgentflow",
|
|
"type": "StickyNote",
|
|
"color": "#fee440",
|
|
"baseClasses": ["StickyNote"],
|
|
"category": "Agent Flows",
|
|
"description": "Add notes to the agent flow",
|
|
"inputParams": [
|
|
{
|
|
"label": "",
|
|
"name": "note",
|
|
"type": "string",
|
|
"rows": 1,
|
|
"placeholder": "Type something here",
|
|
"optional": true,
|
|
"id": "stickyNoteAgentflow_0-input-note-string",
|
|
"display": true
|
|
}
|
|
],
|
|
"inputAnchors": [],
|
|
"inputs": {
|
|
"note": "We can improve this by adding necessary tools for agents"
|
|
},
|
|
"outputAnchors": [
|
|
{
|
|
"id": "stickyNoteAgentflow_0-output-stickyNoteAgentflow",
|
|
"label": "Sticky Note",
|
|
"name": "stickyNoteAgentflow"
|
|
}
|
|
],
|
|
"outputs": {},
|
|
"selected": false
|
|
},
|
|
"type": "stickyNote",
|
|
"width": 189,
|
|
"height": 101,
|
|
"selected": false,
|
|
"positionAbsolute": {
|
|
"x": 246.81594867785896,
|
|
"y": -103.07943752447065
|
|
},
|
|
"dragging": false
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"source": "startAgentflow_0",
|
|
"sourceHandle": "startAgentflow_0-output-startAgentflow",
|
|
"target": "conditionAgentAgentflow_0",
|
|
"targetHandle": "conditionAgentAgentflow_0",
|
|
"data": {
|
|
"sourceColor": "#7EE787",
|
|
"targetColor": "#ff8fab",
|
|
"isHumanInput": false
|
|
},
|
|
"type": "agentFlow",
|
|
"id": "startAgentflow_0-startAgentflow_0-output-startAgentflow-conditionAgentAgentflow_0-conditionAgentAgentflow_0"
|
|
},
|
|
{
|
|
"source": "conditionAgentAgentflow_0",
|
|
"sourceHandle": "conditionAgentAgentflow_0-output-0",
|
|
"target": "agentAgentflow_0",
|
|
"targetHandle": "agentAgentflow_0",
|
|
"data": {
|
|
"sourceColor": "#ff8fab",
|
|
"targetColor": "#4DD0E1",
|
|
"edgeLabel": "0",
|
|
"isHumanInput": false
|
|
},
|
|
"type": "agentFlow",
|
|
"id": "conditionAgentAgentflow_0-conditionAgentAgentflow_0-output-0-agentAgentflow_0-agentAgentflow_0"
|
|
},
|
|
{
|
|
"source": "conditionAgentAgentflow_0",
|
|
"sourceHandle": "conditionAgentAgentflow_0-output-1",
|
|
"target": "agentAgentflow_1",
|
|
"targetHandle": "agentAgentflow_1",
|
|
"data": {
|
|
"sourceColor": "#ff8fab",
|
|
"targetColor": "#4DD0E1",
|
|
"edgeLabel": "1",
|
|
"isHumanInput": false
|
|
},
|
|
"type": "agentFlow",
|
|
"id": "conditionAgentAgentflow_0-conditionAgentAgentflow_0-output-1-agentAgentflow_1-agentAgentflow_1"
|
|
},
|
|
{
|
|
"source": "conditionAgentAgentflow_0",
|
|
"sourceHandle": "conditionAgentAgentflow_0-output-2",
|
|
"target": "agentAgentflow_2",
|
|
"targetHandle": "agentAgentflow_2",
|
|
"data": {
|
|
"sourceColor": "#ff8fab",
|
|
"targetColor": "#4DD0E1",
|
|
"edgeLabel": "2",
|
|
"isHumanInput": false
|
|
},
|
|
"type": "agentFlow",
|
|
"id": "conditionAgentAgentflow_0-conditionAgentAgentflow_0-output-2-agentAgentflow_2-agentAgentflow_2"
|
|
}
|
|
]
|
|
}
|