
{
    "id": 11,
    "title": {
		"en": "Customer Review Analysis",
		"de": "Kundenbewertungsanalyse",
		"zh": "客户评价分析"},
    "description": {
		"en": "Automatically classify customer reviews using LLM (Large Language Model) and route them via email to the relevant departments.",
		"de": "Klassifiziert automatisch Kundenbewertungen mithilfe von LLM (Large Language Model) und leitet sie per E-Mail an die zuständigen Abteilungen weiter.",
		"zh": "大模型将自动分类客户评价，并通过电子邮件将结果发送到相关部门。"},
	"canvas_type": "Customer Support",
    "dsl": {
		"components": {
			"Categorize:FourTeamsFold": {
				"downstream": [
					"Email:SharpDeerExist",
					"Email:ChillyBusesDraw"
				],
				"obj": {
					"component_name": "Categorize",
					"params": {
						"category_description": {
							"After-sales issues": {
								"description": "The negative review is about after-sales issues.",
								"examples": [
									"1. The product easily broke down.\n2. I need to change a new one.\n3. It is not the type I ordered."
								],
								"to": [
									"Email:SharpDeerExist"
								]
							},
							"Transportation issue": {
								"description": "The negative review is about transportation issue.",
								"examples": [
									"1. The transportation is delayed too much.\n2. I can't find where is my order now."
								],
								"to": [
									"Email:ChillyBusesDraw"
								]
							}
						},
						"llm_id": "deepseek-chat@DeepSeek",
						"message_history_window_size": 1,
						"outputs": {
							"category_name": {
								"type": "string"
							}
						},
						"query": "sys.query",
						"temperature": 0
					}
				},
				"upstream": [
					"Categorize:RottenWallsObey"
				]
			},
			"Categorize:RottenWallsObey": {
				"downstream": [
					"Categorize:FourTeamsFold",
					"Email:WickedSymbolsLeave"
				],
				"obj": {
					"component_name": "Categorize",
					"params": {
						"category_description": {
							"Negative review ": {
								"description": "Negative review to the product.",
								"examples": [
									"1. I have issues. \n2. Too many problems.\n3. I don't like it."
								],
								"to": [
									"Categorize:FourTeamsFold"
								]
							},
							"Positive review": {
								"description": "Positive review to the product.",
								"examples": [
									"1. Good, I like it.\n2. It is very helpful.\n3. It makes my work easier."
								],
								"to": [
									"Email:WickedSymbolsLeave"
								]
							}
						},
						"llm_filter": "all",
						"llm_id": "deepseek-chat@DeepSeek",
						"message_history_window_size": 1,
						"outputs": {
							"category_name": {
								"type": "string"
							}
						},
						"query": "sys.query"
					}
				},
				"upstream": [
					"begin"
				]
			},
			"Email:ChillyBusesDraw": {
				"downstream": [
					"StringTransform:FuzzySpiesTrain"
				],
				"obj": {
					"component_name": "Email",
					"params": {
						"cc_email": "",
						"content": "{begin@1}",
						"email": "",
						"outputs": {
							"success": {
								"type": "boolean",
								"value": true
							}
						},
						"password": "",
						"sender_name": "",
						"smtp_port": 465,
						"smtp_server": "",
						"subject": "",
						"to_email": ""
					}
				},
				"upstream": [
					"Categorize:FourTeamsFold"
				]
			},
			"Email:SharpDeerExist": {
				"downstream": [
					"StringTransform:FuzzySpiesTrain"
				],
				"obj": {
					"component_name": "Email",
					"params": {
						"cc_email": "",
						"content": "{begin@1}",
						"email": "",
						"outputs": {
							"success": {
								"type": "boolean",
								"value": true
							}
						},
						"password": "",
						"sender_name": "",
						"smtp_port": 465,
						"smtp_server": "",
						"subject": "",
						"to_email": ""
					}
				},
				"upstream": [
					"Categorize:FourTeamsFold"
				]
			},
			"Email:WickedSymbolsLeave": {
				"downstream": [
					"StringTransform:FuzzySpiesTrain"
				],
				"obj": {
					"component_name": "Email",
					"params": {
						"cc_email": "",
						"content": "{begin@1}",
						"email": "",
						"outputs": {
							"success": {
								"type": "boolean",
								"value": true
							}
						},
						"password": "",
						"sender_name": "",
						"smtp_port": 465,
						"smtp_server": "",
						"subject": "",
						"to_email": ""
					}
				},
				"upstream": [
					"Categorize:RottenWallsObey"
				]
			},
			"Message:ShaggyAnimalsWin": {
				"downstream": [],
				"obj": {
					"component_name": "Message",
					"params": {
						"content": [
							"{StringTransform:FuzzySpiesTrain@result}"
						]
					}
				},
				"upstream": [
					"StringTransform:FuzzySpiesTrain"
				]
			},
			"StringTransform:FuzzySpiesTrain": {
				"downstream": [
					"Message:ShaggyAnimalsWin"
				],
				"obj": {
					"component_name": "StringTransform",
					"params": {
						"delimiters": [
							","
						],
						"method": "merge",
						"outputs": {
							"result": {
								"type": "string"
							}
						},
						"script": "{Email:WickedSymbolsLeave@success}{Email:SharpDeerExist@success}{Email:ChillyBusesDraw@success}",
						"split_ref": ""
					}
				},
				"upstream": [
					"Email:WickedSymbolsLeave",
					"Email:SharpDeerExist",
					"Email:ChillyBusesDraw"
				]
			},
			"begin": {
				"downstream": [
					"Categorize:RottenWallsObey"
				],
				"obj": {
					"component_name": "Begin",
					"params": {
						"enablePrologue": true,
						"inputs": {
							"1": {
								"key": "1",
								"name": "review",
								"optional": false,
								"options": [],
								"type": "line",
								"value": "test"
							}
						},
						"mode": "conversational",
						"prologue": "Hi! I'm your customer review analysis assistant. You can send a review to me.\n"
					}
				},
				"upstream": []
			}
		},
		"globals": {
			"sys.conversation_turns": 0,
			"sys.files": [],
			"sys.query": "",
			"sys.user_id": ""
		},
		"graph": {
			"edges": [
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__beginstart-Categorize:RottenWallsObeyend",
					"source": "begin",
					"sourceHandle": "start",
					"target": "Categorize:RottenWallsObey",
					"targetHandle": "end"
				},
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__Categorize:RottenWallsObeyc8aacd5d-eb40-45a2-bc8f-94d016d7f6c0-Categorize:FourTeamsFoldend",
					"source": "Categorize:RottenWallsObey",
					"sourceHandle": "c8aacd5d-eb40-45a2-bc8f-94d016d7f6c0",
					"target": "Categorize:FourTeamsFold",
					"targetHandle": "end"
				},
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__Categorize:RottenWallsObey16f0d215-18b8-400e-98f2-f3e30aa28ff9-Email:WickedSymbolsLeaveend",
					"source": "Categorize:RottenWallsObey",
					"sourceHandle": "16f0d215-18b8-400e-98f2-f3e30aa28ff9",
					"target": "Email:WickedSymbolsLeave",
					"targetHandle": "end"
				},
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__Categorize:FourTeamsFolda1f3068c-85d8-4cfa-aa86-ef1f71d2edce-Email:SharpDeerExistend",
					"source": "Categorize:FourTeamsFold",
					"sourceHandle": "a1f3068c-85d8-4cfa-aa86-ef1f71d2edce",
					"target": "Email:SharpDeerExist",
					"targetHandle": "end"
				},
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__Categorize:FourTeamsFold2fda442d-8580-440c-a947-0df607ca56fe-Email:ChillyBusesDrawend",
					"source": "Categorize:FourTeamsFold",
					"sourceHandle": "2fda442d-8580-440c-a947-0df607ca56fe",
					"target": "Email:ChillyBusesDraw",
					"targetHandle": "end"
				},
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__Email:WickedSymbolsLeavestart-StringTransform:FuzzySpiesTrainend",
					"source": "Email:WickedSymbolsLeave",
					"sourceHandle": "start",
					"target": "StringTransform:FuzzySpiesTrain",
					"targetHandle": "end"
				},
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__Email:SharpDeerExiststart-StringTransform:FuzzySpiesTrainend",
					"markerEnd": "logo",
					"source": "Email:SharpDeerExist",
					"sourceHandle": "start",
					"style": {
						"stroke": "rgba(91, 93, 106, 1)",
						"strokeWidth": 1
					},
					"target": "StringTransform:FuzzySpiesTrain",
					"targetHandle": "end",
					"type": "buttonEdge",
					"zIndex": 1001
				},
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__Email:ChillyBusesDrawstart-StringTransform:FuzzySpiesTrainend",
					"markerEnd": "logo",
					"source": "Email:ChillyBusesDraw",
					"sourceHandle": "start",
					"style": {
						"stroke": "rgba(91, 93, 106, 1)",
						"strokeWidth": 1
					},
					"target": "StringTransform:FuzzySpiesTrain",
					"targetHandle": "end",
					"type": "buttonEdge",
					"zIndex": 1001
				},
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__StringTransform:FuzzySpiesTrainstart-Message:ShaggyAnimalsWinend",
					"source": "StringTransform:FuzzySpiesTrain",
					"sourceHandle": "start",
					"target": "Message:ShaggyAnimalsWin",
					"targetHandle": "end"
				}
			],
			"nodes": [
				{
					"data": {
						"form": {
							"enablePrologue": true,
							"inputs": {
								"1": {
									"key": "1",
									"name": "review",
									"optional": false,
									"options": [],
									"type": "line",
									"value": ""
								}
							},
							"mode": "conversational",
							"prologue": "Hi! I'm your customer review analysis assistant. You can send a review to me.\n"
						},
						"label": "Begin",
						"name": "begin"
					},
					"dragging": false,
					"id": "begin",
					"measured": {
						"height": 76,
						"width": 200
					},
					"position": {
						"x": 53.79637618636758,
						"y": 55.73770491803276
					},
					"selected": false,
					"sourcePosition": "left",
					"targetPosition": "right",
					"type": "beginNode"
				},
				{
					"data": {
						"form": {
							"frequencyPenaltyEnabled": false,
							"frequency_penalty": 0.5,
							"items": [
								{
									"description": "Positive review to the product.",
									"examples": [
										{
											"value": "1. Good, I like it.\n2. It is very helpful.\n3. It makes my work easier."
										}
									],
									"name": "Positive review",
									"uuid": "16f0d215-18b8-400e-98f2-f3e30aa28ff9"
								},
								{
									"description": "Negative review to the product.",
									"examples": [
										{
											"value": "1. I have issues. \n2. Too many problems.\n3. I don't like it."
										}
									],
									"name": "Negative review ",
									"uuid": "c8aacd5d-eb40-45a2-bc8f-94d016d7f6c0"
								}
							],
							"llm_filter": "all",
							"llm_id": "deepseek-chat@DeepSeek",
							"maxTokensEnabled": false,
							"max_tokens": 4096,
							"message_history_window_size": 1,
							"outputs": {
								"category_name": {
									"type": "string"
								}
							},
							"parameter": "Precise",
							"presencePenaltyEnabled": false,
							"presence_penalty": 0.5,
							"query": "sys.query",
							"temperature": 0.2,
							"temperatureEnabled": false,
							"topPEnabled": false,
							"top_p": 0.75
						},
						"label": "Categorize",
						"name": "Review categorize"
					},
					"dragging": false,
					"id": "Categorize:RottenWallsObey",
					"measured": {
						"height": 140,
						"width": 200
					},
					"position": {
						"x": 374.0221988829014,
						"y": 37.350593375729275
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "categorizeNode"
				},
				{
					"data": {
						"form": {
							"frequencyPenaltyEnabled": false,
							"frequency_penalty": 0.7,
							"items": [
								{
									"description": "The negative review is about after-sales issues.",
									"examples": [
										{
											"value": "1. The product easily broke down.\n2. I need to change a new one.\n3. It is not the type I ordered."
										}
									],
									"name": "After-sales issues",
									"uuid": "a1f3068c-85d8-4cfa-aa86-ef1f71d2edce"
								},
								{
									"description": "The negative review is about transportation issue.",
									"examples": [
										{
											"value": "1. The transportation is delayed too much.\n2. I can't find where is my order now."
										}
									],
									"name": "Transportation issue",
									"uuid": "2fda442d-8580-440c-a947-0df607ca56fe"
								}
							],
							"llm_id": "deepseek-chat@DeepSeek",
							"maxTokensEnabled": false,
							"max_tokens": 256,
							"message_history_window_size": 1,
							"outputs": {
								"category_name": {
									"type": "string"
								}
							},
							"parameter": "Precise",
							"presencePenaltyEnabled": false,
							"presence_penalty": 0.4,
							"query": "sys.query",
							"temperature": 0,
							"temperatureEnabled": true,
							"topPEnabled": false,
							"top_p": 0.3
						},
						"label": "Categorize",
						"name": "Negative review categorize"
					},
					"dragging": false,
					"id": "Categorize:FourTeamsFold",
					"measured": {
						"height": 140,
						"width": 200
					},
					"position": {
						"x": 706.0637059431883,
						"y": 244.46649585736282
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "categorizeNode"
				},
				{
					"data": {
						"form": {
							"cc_email": "",
							"content": "{begin@1}",
							"email": "",
							"outputs": {
								"success": {
									"type": "boolean",
									"value": true
								}
							},
							"password": "",
							"sender_name": "",
							"smtp_port": 465,
							"smtp_server": "",
							"subject": "",
							"to_email": ""
						},
						"label": "Email",
						"name": "Email: positive "
					},
					"dragging": false,
					"id": "Email:WickedSymbolsLeave",
					"measured": {
						"height": 56,
						"width": 200
					},
					"position": {
						"x": 1034.9790998533604,
						"y": -253.19781265954452
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "ragNode"
				},
				{
					"data": {
						"form": {
							"cc_email": "",
							"content": "{begin@1}",
							"email": "",
							"outputs": {
								"success": {
									"type": "boolean",
									"value": true
								}
							},
							"password": "",
							"sender_name": "",
							"smtp_port": 465,
							"smtp_server": "",
							"subject": "",
							"to_email": ""
						},
						"label": "Email",
						"name": "Email: after-sales"
					},
					"dragging": false,
					"id": "Email:SharpDeerExist",
					"measured": {
						"height": 56,
						"width": 200
					},
					"position": {
						"x": 1109.6114876248466,
						"y": 111.37592732297131
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "ragNode"
				},
				{
					"data": {
						"form": {
							"cc_email": "",
							"content": "{begin@1}",
							"email": "",
							"outputs": {
								"success": {
									"type": "boolean",
									"value": true
								}
							},
							"password": "",
							"sender_name": "",
							"smtp_port": 465,
							"smtp_server": "",
							"subject": "",
							"to_email": ""
						},
						"label": "Email",
						"name": "Email: transportation"
					},
					"dragging": false,
					"id": "Email:ChillyBusesDraw",
					"measured": {
						"height": 56,
						"width": 200
					},
					"position": {
						"x": 1115.6114876248466,
						"y": 476.4689932718253
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "ragNode"
				},
				{
					"data": {
						"form": {
							"delimiters": [
								","
							],
							"method": "merge",
							"outputs": {
								"result": {
									"type": "string"
								}
							},
							"script": "{Email:WickedSymbolsLeave@success}{Email:SharpDeerExist@success}{Email:ChillyBusesDraw@success}",
							"split_ref": ""
						},
						"label": "StringTransform",
						"name": "Merge results"
					},
					"dragging": false,
					"id": "StringTransform:FuzzySpiesTrain",
					"measured": {
						"height": 56,
						"width": 200
					},
					"position": {
						"x": 1696.9790998533604,
						"y": 112.80218734045546
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "ragNode"
				},
				{
					"data": {
						"form": {
							"content": [
								"{StringTransform:FuzzySpiesTrain@result}"
							]
						},
						"label": "Message",
						"name": "Message"
					},
					"dragging": false,
					"id": "Message:ShaggyAnimalsWin",
					"measured": {
						"height": 56,
						"width": 200
					},
					"position": {
						"x": 1960.9013768854911,
						"y": 112.43528348294187
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "messageNode"
				},
				{
					"data": {
						"form": {
							"text": "Send positive feedback to the company's brand marketing department system"
						},
						"label": "Note",
						"name": "Note_0"
					},
					"dragHandle": ".note-drag-handle",
					"dragging": false,
					"id": "Note:FancyTownsSing",
					"measured": {
						"height": 136,
						"width": 244
					},
					"position": {
						"x": 1010,
						"y": -167
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "noteNode"
				},
				{
					"data": {
						"form": {
							"text": "Send after-sales issues to the product experience department"
						},
						"label": "Note",
						"name": "Note_1"
					},
					"dragHandle": ".note-drag-handle",
					"dragging": false,
					"id": "Note:SillyLampsDrum",
					"measured": {
						"height": 136,
						"width": 244
					},
					"position": {
						"x": 1108,
						"y": 195
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "noteNode"
				},
				{
					"data": {
						"form": {
							"text": "Send negative transportation feedback to the transportation department"
						},
						"label": "Note",
						"name": "Note_2"
					},
					"dragHandle": ".note-drag-handle",
					"dragging": false,
					"id": "Note:GreenNewsMake",
					"measured": {
						"height": 136,
						"width": 244
					},
					"position": {
						"x": 1119,
						"y": 574
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "noteNode"
				},
				{
					"data": {
						"form": {
							"text": "This workflow automatically classifies customer reviews using LLM (Large Language Model) and route them via email to the relevant departments."
						},
						"label": "Note",
						"name": "Workflow Overall Description"
					},
					"dragHandle": ".note-drag-handle",
					"dragging": false,
					"height": 146,
					"id": "Note:TangyHairsShow",
					"measured": {
						"height": 146,
						"width": 360
					},
					"position": {
						"x": 55.192937758820676,
						"y": 185.32156293136785
					},
					"resizing": false,
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "noteNode",
					"width": 360
				}
			]
		},
		"history": [],
		"messages": [],
		"path": [],
		"retrieval": []
	},
    "avatar": "data:image/png;base64,[encoded data, 8140 characters]"
}