简介

        解决问题:在Dify应用开发中,很多场景依赖大模型的时效性,需要获取最新资讯,如前沿技术研究,行业调研,新闻天气查询等,但通常模型供应商,通过API形式提供的大模型,不带‘联网搜索’功能,造成Dify大模型API工具的“知识截止”问题,只能涵盖到大模型训练时的知识。

        插件工具:现有的解决Dify大模型“上网”问题的方案,主要集中在Dify集成的若干联网插件,如SearXNG,deepResearch,博查,Tavily,安派思联网搜索工具等,这些工具能实时获取互联网信息并生成回答;联网搜索插件通过API调用(如‘安派思联网搜索’)、本地部署(如‘SearXNG’)及结构化数据处理(JSON解析)实现联网搜索功能,用于实现深度定制的搜索策略,但每次创建工作流时,需要很多额外的开发配置,甚至是写代码;

        外部工具:为了简化Dify大模型联网功能实现的门槛,以及功能的复用性(不必在每次创建工作流时反复配置),本文介绍一种借助外部工具,引入火山引擎,创建的大模型结合联网搜索功能的应用,实现直接调用具有联网功能的大模型应用;开箱即用,稳定性高,适合通用实时查询,配置简单,基本可以平替大模型自带的“联网搜索”功能;

        本文以在Dify中实现一个“每日新闻”工作流为例,详细介绍如何通在Dify的工作流,为DeepSeek R1大模型赋予实时信息获取能力。

        从在火山方舟创建应用,API对接、请求参数配置到响应解析,逐步拆解实现逻辑,并附上可复用的.yml工作流文件。


目录

     0. 从一个‘栗子’开始

  1. 问题分析

  2. 方案设计

  3. 实现步骤详解

    1. 火山方舟API配置(鉴权与Bot ID获取)

    2.  Dify中的HTTP请求节点配置(参数模板)
  4. 效果呈现


0. 从一个‘栗子’开始

        在Dify中创建一个工作流,用来实现以下功能:

               - 搜索24小时内发布的新闻;

               - 整理为结构化的新闻简讯;

        工作流如下图,首先获取了当前时间,需要注意的是设置正确时区,接下来获取的时间,作为上下文参数输入到大模型节点中,通过提升词,引导大模型根据当前时间,搜索近24小时的新闻,并结构化为新闻简讯文稿,(需要注意的是,该工作流开始节点,未预设输入提示词变量query,直接运行即可!):  

        运行上述工作流,实现的效果如下图,其中运行时间为2025年8月9日下午17:17分,大模型按提示词要求,整理出24小时内最具热度,最权威的10条国内外新闻,乍一看没什么问题:

        但当我们在浏览器中验证第二条新闻‘台风"桑达"登陆浙江 长三角启动应急响应‘时,发现台风桑达发生在2022年7月,而不是2025年8月,见下图

1. 问题分析

        通过同样的验证方法,会发现工作流生成的十条新闻,都是大模型”伪造“的;究其原因,发现dify工作流中,通过API调用大模型的方式,不会集成“联网搜索”功能,因此上文中直接基于dify创建的‘每日新闻’工作流,不能获取最新资讯,从而返回结果均是‘大模型幻觉’。

2. 方案设计

        现有的解决上述问题的方法,多是在dify工作流中添加联网搜索插件,比如下图中的“每日新闻_插件版”工作流,

        首先在开始节点增加了用户提示词输入变量query,用于定义搜索节点搜索内容(query输入示例:搜索科技领域与体育领域的最新最权威新闻。);

        然后,在获取时间节点之后,增加‘计算24小时前时间’的Python代码节点,用于定义搜索节点的搜索开始时间;

        接着,增加了‘安思派联网搜索’节点,通过设置‘搜索内容’,‘开始时间’,‘结束时间’变量,来定义搜索配置;

        但由于搜索到的内容是原始json信息,不能直接作为返回结果,需要先添加‘搜索结果转换’代码节点,提取关键搜索内容,并转换为字符串类型,再传递给大模型进行整理后,最终返回新闻资讯结果; 

        工作流返回结果如下:

        取第一条新闻,点击结果中的‘来源’链接地址,验证结果如下:

       验证结果完全符合,包括时间,真实性,领域等都满足工作流的基本需求,这种通过增加Dify插件实现的资讯获取方式,具有较高的灵活性,但每次构建工作流时,需要比较复杂的处理和配置,还需要写Python代码,对没有代码背景的人不够友好;

        为了使工作流的搭建过程更加简单高效,下文将介绍基于火山方舟应用的大模型联网功能实现方式!

3. 实现步骤详解

  • 3.1 火山方舟API配置(鉴权与Bot ID获取)

            1)登录火山引擎:首先通过账号或手机号方式,登录火山引擎账号登录-火山引擎

               2)进入火山方舟控制台:点击右上角‘控制台’,再点击‘火山方舟’,进入管理界面;

                                

                                

                3)创建推理模型:点击左侧边栏'在线推理',配置在线推理大模型,并生成和记录API KEY;

                                

                                

                                

                              

                        ​​​​​​​      

        ​​​​​​​        ​​​​​​​        ​​​​​​​      

                              

                              

                              

                4)创建联网应用:以上述创建的推理大模型为基础,创建应用并增加联网功能;

                              

                              

                              

                              

                              

                              

                              

                              

                              

                      截止现在,我们创建了一个在线推理大模型,及基于该大模型为底座的具备联网功能的火山应用,并记录了三个配置信息,分别为:API KEY,应用ID,应用地址;

                              

  • 3.2 Dify中的HTTP请求节点配置

                  1)创建工作流:该工作流首先通过‘获取当前时间’节点,获取当前时间,并在‘代码执行 2’节点,将当前时间,用户输入提示词query变量与预设提示词进行集成,输出包含当前时间,用户要求的完整提示词;再通过HTTP节点,连接火山联网大模型应用,获取新闻资讯,最后通过dify硅基流动供应商的大模型,进行结果整理;

                            

                     2)HTTP应用配置节点:将第一部分在火山方舟记录的API KEY,应用ID,应用地址,配置到HTTP节点,以连接火山大模型联网应用;

                           ​​​​​​​

4. 效果呈现

               

                验证第5条新闻结果如下,可以确认该新闻为近24小时内发布的最新新闻,且信息真实可靠:

               


结语

通过本文方案,开发者可在1小时内为现有DeepSeek应用增加联网能力,且该联网搜索大模型应用,可在后续创建新工作流时反复复用,节约Dify联网类工作流开发的时间,0代码降低开发难度。

附录

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐