自助建网站的平台 数据库,仿《爱美眉》网站 dede,社区网站怎么建,wordpress获取单篇文章一、功能
根据用户输入的主题进行多轮搜索并生成综合报告
1、流程分析
1.1 初始阶段
Start节点#xff1a;接收用户输入的depth参数#xff0c;决定搜索的深度/轮数 参数可以不填#xff0c;不填的时候取默认值3 Create Array节点#xff1a;根据depth参数…一、功能
根据用户输入的主题进行多轮搜索并生成综合报告
1、流程分析
1.1 初始阶段
Start节点接收用户输入的depth参数决定搜索的深度/轮数 参数可以不填不填的时候取默认值3 Create Array节点根据depth参数生成一个数组如depth3则生成[0,1,2]用于控制迭代次数
def main(depth: int) - dict:depth depth or 3array list(range(depth))return {array: array,depth: depth}输入是一个int类型的数值如果没有输入取默认值3 返回一个dict类型包含两个变量array是一个number的数组depth是一个int类型值
1.2 迭代搜索阶段核心循环
工作流的主体是一个迭代循环每次迭代包含以下步骤
1、搜索决策 LLM节点使用deepseek-v3模型分析当前状态决定
是否需要继续搜索shouldContinue、下一个搜索主题nextSearchTopic 输出为JSON格式 提示词
你是一个研究以下主题的研究助手。
你目前发现了什么还有哪些问题尚未解答接下来应该具体研究哪些方面#输出要求
1、不要输出与已搜索主题完全相同的主题。
2、如果需要进一步搜索信息请设置 nextSearchTopic。
3、如果已获得足够信息请将 shouldContinue 设为 false。
4、请以 JSON 格式输出
{nextSearchTopic: str | None
shouldContinue: bool
}在工作流中用到4个会话变量以及记忆功能 2、JSON解析 1、代码执行2节点从LLM输出中提取JSON内容 2、模板转换4节点格式化JSON数据 3、参数提取器节点提取nextSearchTopic和shouldContinue字段 大模型节点的输入类似下面的文字 { “text”: “json\n{\n \nextSearchTopic\: \Dify平台的功能和架构概述\,\n \shouldContinue\: true\n}\n” } 通过代码执行节点提取tex文本中json字符串 输入 { “arg1”: “json\n{\n \nextSearchTopic\: \Dify平台的功能和架构概述\,\n \shouldContinue\: true\n}\n” } 代码
import re
import json
def main(arg1: str) - dict:json_pattern rjson\s*([\s\S]*?)\s*match re.search(json_pattern, arg1.strip())if not match:raise ValueError(文本中未找到有效的JSON内容)json_str match.group(1)#去除转义的json_str re.sub(r\\n, , json_str)#.strip() 默认会移除字符串 开头和结尾 的 所有空白字符包括 \n, \t, 等json_str json_str.strip()json_strjson_str.replace(\\, ).replace(\\n, )# 解析为Python对象parsed_data json.loads(json_str)return {result:parsed_data}输出
{result: {nextSearchTopic: Dify平台的功能和架构概述,shouldContinue: true}
}代码执行结果是一个json对象通过模板转换节点转换为字符串用参数提取器节点提取json里的变量
3、变量更新 变量赋值节点更新以下变量
将nextSearchTopic写入会话变量 将shouldContinue写入会话变量 将nextSearchTopic追加到已搜索topics列表 4、条件判断 IF/ELSE节点检查shouldContinue值 如果为true执行Tavily搜索 Tavily Search节点使用nextSearchTopic进行网络搜索 Assign Variables节点将搜索结果追加到findings列表 Intermediate Output Format节点生成中间状态报告 如果为false跳过搜索进入空操作分支
1.3、结果聚合
变量聚合器节点收集所有迭代的结果 最终报告生成 Reasoning Model节点使用deepseek-r1模型综合分析所有findings 提示词
根据调查结果撰写一份关于该主题的全面分析报告。
提供重要见解、结论以及尚存的不确定性。必要时请引用来源。本分析应非常全面且详细预期为长篇文本。1.4 生成报告
生成详细的调查报告包含重要发现、结论和未解决的问题 Answer节点输出最终报告
二、工作流特点
多轮迭代搜索根据depth参数和模型判断动态控制搜索轮数 自适应搜索主题每轮搜索后模型会决定下一步要探索的子主题 避免重复搜索系统会记录已搜索的topics避免重复 综合报告生成最后将所有发现汇总分析生成详细报告
三、数据流
用户输入 → 初始分析 → 多轮搜索 → 结果收集 → 综合分析 → 报告输出