{
    "id": 18,
    "title": {
		"en": "Choose Your Knowledge Base Workflow",
		"zh": "选择知识库工作流"},
    "description": {
		"en": "Select your desired knowledge base from the dropdown menu. The retrieval assistant will only use data from your selected knowledge base to generate responses.",
		"zh": "从下拉菜单中选择知识库，工作流将仅根据所选知识库内容生成回答。"},
	"canvas_type": "Other",
    "dsl": {
		"components": {
			"Agent:ProudDingosShout": {
				"downstream": [
					"Message:DarkRavensType"
				],
				"obj": {
					"component_name": "Agent",
					"params": {
						"delay_after_error": 1,
						"description": "",
						"exception_default_value": "",
						"exception_goto": [],
						"exception_method": "",
						"frequencyPenaltyEnabled": false,
						"frequency_penalty": 0.7,
						"llm_id": "deepseek-chat@DeepSeek",
						"maxTokensEnabled": false,
						"max_retries": 3,
						"max_rounds": 1,
						"max_tokens": 256,
						"mcp": [],
						"message_history_window_size": 12,
						"outputs": {
							"content": {
								"type": "string",
								"value": ""
							}
						},
						"presencePenaltyEnabled": false,
						"presence_penalty": 0.4,
						"prompts": [
							{
								"content": "User's query: {sys.query}\n\nRetrieval content: {Retrieval:RudeCyclesKneel@formalized_content}",
								"role": "user"
							}
						],
						"sys_prompt": "# Role\nYou are the **Docs QA Agent**, a specialized knowledge base assistant responsible for providing accurate answers based strictly on the connected documentation repository.\n# Core Principles\n1. **Knowledge Base Only**: Answer questions EXCLUSIVELY based on information retrieved from the connected knowledge base.\n2. **No Content Creation**: Never generate, infer, or create information that is not explicitly present in the retrieved documents.\n3. **Source Transparency**: Always indicate when information comes from the knowledge base vs. when it's unavailable.\n4. **Accuracy Over Completeness**: Prefer incomplete but accurate answers over complete but potentially inaccurate ones.\n# Response Guidelines\n## When Information is Available\n- Provide direct answers based on retrieved content\n- Quote relevant sections when helpful\n- Cite the source document/section if available\n- Use phrases like: \"According to the documentation...\" or \"Based on the knowledge base...\"\n## When Information is Unavailable\n- Clearly state: \"I cannot find this information in the current knowledge base.\"\n- Do NOT attempt to fill gaps with general knowledge\n- Suggest alternative questions that might be covered in the docs\n- Use phrases like: \"The documentation does not cover...\" or \"This information is not available in the knowledge base.\"\n# Response Format\n```markdown\n## Answer\n[Your response based strictly on knowledge base content]\n**Always do these:**\n- Use the Retrieval tool for every question\n- Be transparent about information availability\n- Stick to documented facts only\n- Acknowledge knowledge base limitations",
						"temperature": 0.1,
						"temperatureEnabled": true,
						"tools": [],
						"topPEnabled": false,
						"top_p": 0.3,
						"user_prompt": "",
						"visual_files_var": ""
					}
				},
				"upstream": [
					"Retrieval:RudeCyclesKneel"
				]
			},
			"Message:DarkRavensType": {
				"downstream": [],
				"obj": {
					"component_name": "Message",
					"params": {
						"content": [
							"{Agent:ProudDingosShout@content}"
						]
					}
				},
				"upstream": [
					"Agent:ProudDingosShout"
				]
			},
			"Retrieval:RudeCyclesKneel": {
				"downstream": [
					"Agent:ProudDingosShout"
				],
				"obj": {
					"component_name": "Retrieval",
					"params": {
						"cross_languages": [],
						"empty_response": "",
						"kb_ids": [
							"begin@knowledge base"
						],
						"keywords_similarity_weight": 0.7,
						"outputs": {
							"formalized_content": {
								"type": "string",
								"value": ""
							}
						},
						"query": "sys.query",
						"rerank_id": "",
						"similarity_threshold": 0.2,
						"top_k": 1024,
						"top_n": 8,
						"use_kg": false
					}
				},
				"upstream": [
					"begin"
				]
			},
			"begin": {
				"downstream": [
					"Retrieval:RudeCyclesKneel"
				],
				"obj": {
					"component_name": "Begin",
					"params": {
						"enablePrologue": true,
						"inputs": {
							"knowledge base": {
								"name": "knowledge base",
								"optional": false,
								"options": [
									"knowledge base 1",
									"knowledge base 2",
									"knowledge base 3"
								],
								"type": "options"
							}
						},
						"mode": "conversational",
						"prologue": "Hi! I'm your retrieval assistant. What do you want to ask?"
					}
				},
				"upstream": []
			}
		},
		"globals": {
			"sys.conversation_turns": 0,
			"sys.files": [],
			"sys.query": "",
			"sys.user_id": ""
		},
		"graph": {
			"edges": [
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__beginstart-Retrieval:RudeCyclesKneelend",
					"source": "begin",
					"sourceHandle": "start",
					"target": "Retrieval:RudeCyclesKneel",
					"targetHandle": "end"
				},
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__Retrieval:RudeCyclesKneelstart-Agent:ProudDingosShoutend",
					"source": "Retrieval:RudeCyclesKneel",
					"sourceHandle": "start",
					"target": "Agent:ProudDingosShout",
					"targetHandle": "end"
				},
				{
					"data": {
						"isHovered": false
					},
					"id": "xy-edge__Agent:ProudDingosShoutstart-Message:DarkRavensTypeend",
					"source": "Agent:ProudDingosShout",
					"sourceHandle": "start",
					"target": "Message:DarkRavensType",
					"targetHandle": "end"
				}
			],
			"nodes": [
				{
					"data": {
						"form": {
							"enablePrologue": true,
							"inputs": {
								"knowledge base": {
									"name": "knowledge base",
									"optional": false,
									"options": [
										"knowledge base 1",
										"knowledge base 2",
										"knowledge base 3"
									],
									"type": "options"
								}
							},
							"mode": "conversational",
							"prologue": "Hi! I'm your retrieval assistant. What do you want to ask?"
						},
						"label": "Begin",
						"name": "begin"
					},
					"id": "begin",
					"measured": {
						"height": 76,
						"width": 200
					},
					"position": {
						"x": 50,
						"y": 200
					},
					"selected": false,
					"sourcePosition": "left",
					"targetPosition": "right",
					"type": "beginNode"
				},
				{
					"data": {
						"form": {
							"cross_languages": [],
							"empty_response": "",
							"kb_ids": [
								"begin@knowledge base"
							],
							"keywords_similarity_weight": 0.7,
							"outputs": {
								"formalized_content": {
									"type": "string",
									"value": ""
								}
							},
							"query": "sys.query",
							"rerank_id": "",
							"similarity_threshold": 0.2,
							"top_k": 1024,
							"top_n": 8,
							"use_kg": false
						},
						"label": "Retrieval",
						"name": "Retrieval"
					},
					"dragging": false,
					"id": "Retrieval:RudeCyclesKneel",
					"measured": {
						"height": 96,
						"width": 200
					},
					"position": {
						"x": 368.9985951155415,
						"y": 188.91748618260078
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "retrievalNode"
				},
				{
					"data": {
						"form": {
							"delay_after_error": 1,
							"description": "",
							"exception_default_value": "",
							"exception_goto": [],
							"exception_method": "",
							"frequencyPenaltyEnabled": false,
							"frequency_penalty": 0.7,
							"llm_id": "deepseek-chat@DeepSeek",
							"maxTokensEnabled": false,
							"max_retries": 3,
							"max_rounds": 1,
							"max_tokens": 256,
							"mcp": [],
							"message_history_window_size": 12,
							"outputs": {
								"content": {
									"type": "string",
									"value": ""
								}
							},
							"presencePenaltyEnabled": false,
							"presence_penalty": 0.4,
							"prompts": [
								{
									"content": "User's query: {sys.query}\n\nRetrieval content: {Retrieval:RudeCyclesKneel@formalized_content}",
									"role": "user"
								}
							],
							"sys_prompt": "# Role\nYou are the **Docs QA Agent**, a specialized knowledge base assistant responsible for providing accurate answers based strictly on the connected documentation repository.\n# Core Principles\n1. **Knowledge Base Only**: Answer questions EXCLUSIVELY based on information retrieved from the connected knowledge base.\n2. **No Content Creation**: Never generate, infer, or create information that is not explicitly present in the retrieved documents.\n3. **Source Transparency**: Always indicate when information comes from the knowledge base vs. when it's unavailable.\n4. **Accuracy Over Completeness**: Prefer incomplete but accurate answers over complete but potentially inaccurate ones.\n# Response Guidelines\n## When Information is Available\n- Provide direct answers based on retrieved content\n- Quote relevant sections when helpful\n- Cite the source document/section if available\n- Use phrases like: \"According to the documentation...\" or \"Based on the knowledge base...\"\n## When Information is Unavailable\n- Clearly state: \"I cannot find this information in the current knowledge base.\"\n- Do NOT attempt to fill gaps with general knowledge\n- Suggest alternative questions that might be covered in the docs\n- Use phrases like: \"The documentation does not cover...\" or \"This information is not available in the knowledge base.\"\n# Response Format\n```markdown\n## Answer\n[Your response based strictly on knowledge base content]\n**Always do these:**\n- Use the Retrieval tool for every question\n- Be transparent about information availability\n- Stick to documented facts only\n- Acknowledge knowledge base limitations",
							"temperature": 0.1,
							"temperatureEnabled": true,
							"tools": [],
							"topPEnabled": false,
							"top_p": 0.3,
							"user_prompt": "",
							"visual_files_var": ""
						},
						"label": "Agent",
						"name": "Agent"
					},
					"dragging": false,
					"id": "Agent:ProudDingosShout",
					"measured": {
						"height": 86,
						"width": 200
					},
					"position": {
						"x": 732.9115613823421,
						"y": 173.29966667348305
					},
					"selected": true,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "agentNode"
				},
				{
					"data": {
						"form": {
							"content": [
								"{Agent:ProudDingosShout@content}"
							]
						},
						"label": "Message",
						"name": "Message"
					},
					"dragging": false,
					"id": "Message:DarkRavensType",
					"measured": {
						"height": 56,
						"width": 200
					},
					"position": {
						"x": 1072.2594210214197,
						"y": 178.92078947906558
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "messageNode"
				},
				{
					"data": {
						"form": {
							"text": "Select your desired knowledge base from the dropdown menu. \nThe retrieval assistant will only use data from your selected knowledge base to generate responses."
						},
						"label": "Note",
						"name": "Workflow overall description"
					},
					"dragHandle": ".note-drag-handle",
					"dragging": false,
					"height": 179,
					"id": "Note:HonestHatsSip",
					"measured": {
						"height": 179,
						"width": 345
					},
					"position": {
						"x": 79.79276047764881,
						"y": -41.86088007502428
					},
					"resizing": false,
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "noteNode",
					"width": 345
				},
				{
					"data": {
						"form": {
							"text": "Configure the dropdown menu with your knowledge bases for retrieval."
						},
						"label": "Note",
						"name": "Note: Begin"
					},
					"dragHandle": ".note-drag-handle",
					"id": "Note:BumpyWaspsAttend",
					"measured": {
						"height": 136,
						"width": 250
					},
					"position": {
						"x": 15,
						"y": 300
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "noteNode"
				},
				{
					"data": {
						"form": {
							"text": "The workflow will retrieve data from the knowledge base selected in the dropdown menu."
						},
						"label": "Note",
						"name": "Note: Retrieval"
					},
					"dragHandle": ".note-drag-handle",
					"dragging": false,
					"id": "Note:AllFlowersDig",
					"measured": {
						"height": 136,
						"width": 250
					},
					"position": {
						"x": 361.872717062755,
						"y": 308.6265804950158
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "noteNode"
				},
				{
					"data": {
						"form": {
							"text": "The Agent will generate responses according to the information retrieved from the chosen knowledge base."
						},
						"label": "Note",
						"name": "Note: Agent"
					},
					"dragHandle": ".note-drag-handle",
					"dragging": false,
					"id": "Note:UpsetGlassesDeny",
					"measured": {
						"height": 136,
						"width": 250
					},
					"position": {
						"x": 695.7034747745811,
						"y": 321.3328650385139
					},
					"selected": false,
					"sourcePosition": "right",
					"targetPosition": "left",
					"type": "noteNode"
				}
			]
		},
		"history": [],
		"messages": [],
		"path": [],
		"retrieval": []
	},
	"avatar": "data:image/png;base64,[encoded data, 7632 characters]"
}

