实践手册:Deep Research Agent

更新时间:
复制为 MD 格式

基于Dify on DMS构建的Deep Research Agent,能够无缝集成企业内部知识库,将互联网公开信息与内部私有数据进行有效融合,从而生成与实际业务场景高度契合的分析报告。该系统支持开箱即用与低代码编排,并提供模块级的可配置能力,您可以根据需求对各子模块进行二次开发与深度定制,确保每一步的执行结果符合业务要求。

前提条件

操作步骤

步骤一:安装插件

  1. 登录数据管理DMS 5.0

  2. 单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > Data+AI > Dify

    说明

    若您使用的是非极简模式的控制台,请在顶部菜单栏中,选择Data+AI > Dify

  3. 单击目标空间名称。

  4. 在工作空间左侧导航栏,选择image > 工作室

  5. 在页面右上角,单击插件

  6. 安装插件。

    • 安装DMS插件

      1. 选择安装插件 > DMS插件

      2. 在弹出的对话框中,勾选DMS Agent 策略

      3. 单击安装

      4. 等待插件安装完成后,单击关闭

    • 安装千问

      1. 选择安装插件 > Marketplace

      2. 将鼠标指针悬停在通义千问卡片,然后单击该卡片出现的安装

      3. 在弹出的对话框中,单击安装

      4. 单击安装

步骤二:导入Deep Research一键体验模板

  1. 工作室 > 全部页面,单击从应用模板创建

  2. 在左侧分类导航栏,单击DMS Data+AI

  3. 将鼠标指针悬停在Deep Research一键体验卡片,然后单击该卡片出现的使用该模板

  4. 在弹出的对话框,单击创建

    当右上角提示应用已创建,且DEEP RESEARCH AGENT节点的图表正确显示,即表示模板导入成功。

步骤三:配置Deep Research Agent

说明

DMS已经为您预设了大部分配置,您只需完成最后一步配置即可实现开箱体验。

  1. 单击DEEP RESEARCH AGENT节点。

  2. 在右侧Deep Research Agent面板中,填入夸克搜索 API KEY

    说明

    API KEY的获取方法,请参见创建、查看凭证Key

  3. 可选:调整Deep Research使用的研究策略以及在不同阶段所使用到的大语言模型(LLM)。

    说明

    建议先保持默认,即先使用Deep Research的基本策略,然后再自行定义。

    参数

    是否必配

    说明

    AGENT 策略

    Deep Research Structured策略支持定制不同的研究主题;Deep Research CoT策略能够进行更为全面和深入的研究,但相应地需要更长的执行时间。

    • Deep Research Structured:会在研究初期确定需要研究的各个主题,并进行研究。

    • Deep Research CoT:会在研究过程中根据已有的研究结果发现新的主题,并进行研究。

    模型(撰写报告)

    Deep Research Agent在对应阶段使用的LLM。

    模型(总结)

    模型(反思优化)

    SEARCH AGENT

    自行定义的Deep Research Agent的子模块(对应阶段的运行逻辑)。更多信息,请参见自定义工作流

    SUMMARY AGENT

    REPORT WRITING AGENT

步骤四:预览应用效果

  1. 在页面右上角,单击预览

  2. Bot聊天文本框中,输入对话信息。

  3. Bot聊天文本框的右侧,单击image运行。

步骤五:发布应用并访问API

  1. 在页面右上角,单击发布

  2. 在弹出的对话框,单击发布更新

  3. 右上角提示操作成功后,单击访问API

  4. 查看请求示例。

    说明
    • 通过DMS提供的域名访问Dify服务时,除了Dify应用本身所需的API密钥外,还需在请求的Headers中额外添加Dify API Key作为鉴权信息。

    • 在首次通过API提问后,返回的信息中会带有对应的对话ID(conversation_id)。在进行后续对话(例如问题澄清、报告大纲的确定)时,需要在请求中填写该对话ID,以便继续之前的对话。

附录

自定义工作流

DMS不仅提供了开箱即用的版本,还提供了可供专属定制的版本。通过在DEEP RESEARCH AGENT节点中的SEARCH AGENTSUMMARY AGENTREPORT WRITING AGENT参数中引入子模块(自定义的Dify工作流),即可自定义该Deep Research Agent对应阶段中的处理逻辑。

说明

对于每一个子模块,DMS均提供了相应的模板以供参考。

  1. 创建工作流。

    1. 单击页面上方的工作室,返回工作室主页面。

    2. 单击从应用模板创建

    3. 在左侧分类导航栏,单击DMS Data+AI

    4. 将鼠标指针悬停在目标工作流的卡片,然后单击该卡片出现的使用该模板

      例如,在 DMS Data+AI 分类下,找到 Search Agent 工作流模板卡片。

    5. 在弹出的对话框,单击创建

    6. 可选:根据提示,安装插件。

  2. 配置并发布工作流。

    1. 根据实际情况,配置工作流

    2. 在页面右上角,单击发布

    3. 在弹出的对话框,单击发布更新

  3. 将工作流发布为工具。

    1. 单击发布为工具

    2. 根据实际情况,配置工具。

      说明

      Search Agent工具调用名称配置为search_agent_example,Summary Agent工具调用名称配置为summary_agent_example,Report Writing Agent工具调用名称配置为report_writing_agent

      发布为工具页面,将名称设置为"Search Agent",工具描述设置为"检索互联网内容,检索企业内部知识库",并根据需要配置工具入参

    3. 单击保存

  4. DEEP RESEARCH AGENT节点,配置对应的Dify工作流并选择启用。

    1. 返回Deep Research一键体验应用。

    2. 单击DEEP RESEARCH AGENT节点。

    3. 单击对应参数(SEARCH AGENTSUMMARY AGENTREPORT WRITING AGENT)右侧的image

    4. 在弹出的对话框,单击工作流页签。

    5. 选择对应的工作流。

    6. 确保工作流为启用状态。

      工作流中包含 SEARCH AGENTSUMMARY AGENTREPORT WRITING AGENT 三个 Agent 分组,各 Agent 右侧的 Toggle 开关均处于开启状态。

工作流配置示例

Search Agent

通过定制Search Agent,使其不再局限于单一的搜索引擎。您可以通过编排Dify的工作流,使其成为一个多功能的信息检索官,同时从多个关键渠道获取信息。

说明

在自定义Search Agent工作流时,建议将输入和输出变量名称与该模板保持一致。

该工作流模板的输入变量为 query(必填),开始节点后并行执行多路检索分支,各分支结果分别经独立的代码节点处理后汇聚至合并搜索结果代码节点,最终由结束节点以 Array 类型输出合并后的检索结果。

Search Agent的编排中,您可以灵活地组合这些数据源,自定义最终的搜索排序顺序,从而实现研究工作流在公域与私域之间的无缝连接。

互联网数据

使用Dify第三方插件调用Tavily、Google、Perplexity等通用搜索引擎,或者使用AliyunDMS插件中提供的夸克搜索插件(该插件封装了阿里云信息查询服务API)。

私域知识库

通过Dify内置的知识检索功能,快速连接上传至Dify的企业内部文档、SOP操作手册等私有知识资产;同时也可以连接外部知识库API(如RAGFlow)。

业务数据库

通过集成的ChatBI Agent,直接使用自然语言查询数据库中的实时业务数据。使用DifyHTTP节点,连接企业内部系统的数据源查询接口以及专业的付费数据源(如万得、路透、LexisNexis等)。

Summary Agent

Summary AgentDeep Research中的主要任务是对原始信息进行预先“精炼”,以有效降低后续章节撰写时的上下文长度,同时屏蔽大量无关的干扰信息。在Dify中,您可以通过调整Prompt和编排工作流,使该Summary Agent按照您所需的风格进行摘要总结。

说明

在自定义Summary Agent工作流时,建议将输入和输出变量名称与该模板保持一致。

该工作流模板包含 4 个依次连接的节点:开始节点定义三个必填输入变量 research_topicsearch_resultssearch_query获取当前时间节点配置 FORMAT 为 %Y-%m-%d、TIMEZONE 为 Asia/Shanghai,输出变量名为 time总结&摘要节点选用模型 qwen-plus-latest结束节点输出字段为总结&摘要文本,类型为 String。

注入领域知识

您可以将您所在业务领域的专业术语和知识库接入Summary Agent,即通过Few-Shot这种简便的方法,稍加“引导”,其摘要能力将逐渐与您的业务需求更加契合。

多模态分析

除了文字,Summary Agent还能够通过调用多模态大模型实现对图像信息的理解,从而处理更复杂的分析任务。

场景化定制

例如,在追踪热点或分析案例时,通过调整提示词(Prompt),您可以通过Summary Agent生成一条清晰的事件时间线,并特别关注整合不同角度的观点。

Report Writing Agent

您可以通过自定义Report Writing Agent,使其在流式生成文件版的Markdown报告后调用第三方插件,将报告转换为PDFWord文档。同时,您也可以通过钉钉机器人直接@相关成员,并将报告发送给他们。

该工作流包含五个串联节点:开始节点接收必填输入参数 generated_report,依次经过MARKDOWN 转 PDF 文件节点、生成交互式报告(HTML)节点(使用 qwen-plus-latest 模型)、发送报告至钉钉机器人节点(需配置 ACCESS_TOKENSIGN_SECRETMESSAGE_TYPE 设为 markdown),最终在结束节点输出两个 String 类型的文本变量。