更新时间:2026-04-03 GMT+08:00
分享

搭建联网搜索工作流

场景介绍

在使用大模型处理各类任务时,用户期望能够获得准确、及时的信息支持。然而,大模型默认不具备联网能力,无法获取实时信息,这导致在处理需要最新数据的场景时存在信息滞后和准确性不足的问题。您可以通过添加搜索插件,让工作流在运行时调用搜索引擎获取最新内容。

本文演示如何使用代码节点和插件节点,构建一个处理搜索结果的工作流。

效果展示

用户输入关键词,工作流通过插件进行联网搜索,展示联网搜索的前几条搜索标题和链接,并通过大模型总结联网搜索的内容。

图1 效果展示

工作流设计

重点介绍工作流中的一些主要节点,每个节点负责特定的任务。以下是各个节点的功能和设计思路。

  • 开始节点:作为工作流的入口,开始节点负责接收用户输入的文本、语音或文件。
  • 插件节点-智谱搜索:该节点对用户输入的内容进行联网搜索。
  • 大模型节点:根据插件节点联网搜索的内容进行总结。
  • 代码节点:提取插件节点联网搜索内容的标题和URL。
  • 结束节点:展示联网搜索内容的标题和URL,以及大模型总结的搜索结果。
图2 联网搜索工作流全景

操作步骤

搭建工作流详细步骤如下:

步骤一:创建工作流

  1. 登录AgentArts智能体开发平台,在左侧导航栏“个人空间”区域,选择目标空间。
  2. 单击左侧导航栏开发中心 > 智能体管理 ,单击左上角“工作流”页签,进入工作流应用管理界面,单击右上角“创建工作流”
  3. 选择创建“对话型工作流”,在对应的创建页面,配置工作流相关信息,具体如图3所示,参数如表1所示。

    图3 创建工作流
    表1 参数说明

    参数名称

    示例

    说明

    名称

    联网搜索

    支持中英文、数字、下划线、中划线和空格,长度 2-64 字符,但不允许以空格开头或结尾。

    描述

    联网搜索

    描述工作流的功能,可直观呈现给用户,长度0~1024个字符。

  4. 配置完成后单击“立即创建”,进入工作流编排页面。

步骤二:添加插件节点

  1. 单击开始节点和大模型节点中间的,添加插件节点,选择来自插件广场的“智谱搜索”插件,单击“添加”,如图4所示。

    该插件用于根据用户输入的关键词进行联网搜索。
    图4 添加插件

  2. 为插件节点配置鉴权。如果插件已鉴权,则跳过此步骤。

    单击添加的“智谱搜索”插件节点,单击“配置鉴权”,如图5的①所示。

    在弹出的对话框中,单击“获取鉴权信息”的链接,前往对应网站获取API key,如图5的②所示。获取后填入API Key对话框,单击“确定”
    图5 配置鉴权

步骤三:添加代码节点

单击大模型节点和结束节点中间的,选择代码节点添加。

添加完成后,如图6所示。

图6 联网搜索工作流

步骤四:配置工作流节点

工作流各个核心节点的配置方式如下:

表2 节点配置说明

节点类型

说明

示例

开始节点

使用系统默认配置query参数,表示用户输入的内容。

插件节点-智谱搜索

此节点对用户输入的内容进行联网搜索。

输入参数:search_query,引用开始节点的query。其余参数保持默认值即可。

大模型节点

此节点根据插件节点联网搜索的内容进行总结。

  • 模型配置:选择Kimi-K2模型。
  • 输入参数:
    • query,引用开始节点的query。
    • doc_results,引用“智谱搜索”插件节点的search_result。
  • 提示词配置:
    • 系统提示词:定义一段系统提示词,如下所示。
      帮我总结一下联网搜索的结果{{doc_results}}
    • 用户提示词:引用当前的输入参数query,即引用用户的原始输入。
      {{query}}

代码节点

此节点提取插件节点联网搜索内容的标题和URL。

  • 绑定函数:
    1. 单击“新建函数”,在弹出的对话框输入函数名称:merge,函数描述为“字符串拼接”,输入完成后单击“确定”。
    2. 单击“编辑源码”,编辑如下代码:
      def main(args: dict) -> dict:
          """
          运行代码节点会调用此函数,请勿对下面的函数名做修改
          :param args: 输入固定为args字典类型,kv为输入参数键值对
          :return: 输出参数为字典类型,kv为输出参数键值对
          """
          # 获取输入的搜索结果数组
          search_result = args.get('string', [])
          # 初始化拼接内容
          content = "联网搜索结果如下:\n"
          
          # 遍历前3条结果,按格式拼接
          for i in range(5):
              if i < len(search_result):
                  item = search_result[i]
                  title = item.get('title', '')
                  url = item.get('url', '')
                  content += f"{i+1}. [{title}]({url})\n"
          
          # 定义返回结果
          ret = {
              "search_content": content
          }
          return ret
  • 输入参数:string,引用“智谱搜索”插件节点的search_result。
  • 输出参数:
    • 参数名称:search_content
    • 参数类型:String
    • 描述:联网搜索的主题和链接

结束节点

此节点用于展示联网搜索内容的标题和URL,以及大模型总结的搜索结果。

  • 输入参数:单击,添加如下参数。
    • result:引用大模型节点的raw_output。
    • url:引用代码节点的search_content。
  • 指定回复:
    {{url}}
    {{result}}

步骤五:调试工作流

配置完成后,在工作流编排界面单击右上角,效果如图7所示。

图7 效果展示

步骤五:发布工作流

  1. 工作流试运行成功后,在工作流编排页面,单击右上角“提交版本”
  2. 输入版本号与版本描述,如图8所示。

    图8 发布工作流

  3. 发布完成后选择上方“渠道管理”页签,可进入渠道管理页面。

    网页分享渠道的操作列单击“发布”按钮后将出现“立即访问”“复制链接”“重新生成”文字按钮。这里可以通过两种方式访问工作流应用的网页应用链接,同时支持重新生成发布链接。
    图9 发布工作流
    • 立即访问:单击当前页面的“立即访问”按钮,可立即进入网页版应用。
      图10 立即访问网页应用
    • 复制链接:单击当前页面的“复制链接”按钮,可直接复制网页URL嵌入或分享到其他应用场景。
      图11 复制工作流应用访问地址
    • 重新生成:重新生成工作流应用发布链接。

相关文档