AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


手把手教你用Coze零代码搭建一个智能搜索智能体,高时效性、保姆级!
发布日期:2024-11-04 07:36:58 浏览次数: 1945 来源:Ai日记哇


随着大模型技术的发展,越来越多的技术开始涌现,从聊天助手,到智能体,再到工作流,最后到三者的整合。大模型技术朝着更加智能化、通用化、个性化的方向发展,为人们的生活和工作带来了更多的便利和创新。

今天,手把手教大家如何通过Coze零代码搭建一个智能搜索智能体,能够根据你的关键词,自动进行全网搜索,筛选出最相关的内容,并进行智能总结,给出参考链接,提升你信息收集的效率,高时效、保姆级!比较肝,建议先收藏!

一、Coze介绍

1.1 什么是Coze

扣子是新一代 AI 应用开发平台。无论你是否有编程基础,都可以在扣子上快速搭建基于大模型的各类智能体,并将智能体发布到各个社交平台、通讯软件或部署到网站等其他渠道。

1.2 Coze的功能特性

  1. 1. 灵活的工作流设计

  • • 扣子工作流可处理逻辑复杂且稳定性要求高的任务流。

  • • 提供大量灵活可组合节点,如大语言模型 LLM、自定义代码、判断逻辑等。

  • • 无论有无编程基础都可通过拖拉拽方式快速搭建工作流,例如创建搜集电影评论工作流、撰写行业研究报告工作流。

  • 2. 无限拓展的能力集

    • • 扣子集成丰富插件工具,拓展智能体能力边界。

    • • 官方插件:扣子官方发布多款能力丰富插件,包括资讯阅读、旅游出行、效率办公、图片理解等 API 及多模态模型,可直接添加到智能体中,如使用新闻插件打造 AI 新闻播音员。

    • • 自定义插件:扣子平台支持创建自定义插件,可将已有 API 能力通过参数配置方式创建插件让智能体调用,也可发布到商店供其他用户使用。

  • 3. 丰富的数据源

    • • 扣子提供简单易用知识库功能管理和存储数据,支持智能体与用户自己的数据交互。

    • • 内容格式:知识库支持文本、表格、照片格式数据。

    • • 内容上传:知识库支持 TXT 等本地文件、在线网页数据、Notion 页面及数据库、API JSON 等多种数据源,也可直接在知识库内添加自定义数据。

  • 4. 持久化的记忆能力

    • • 扣子提供方便 AI 交互的数据库记忆能力,可持久记住用户对话重要参数或内容。

    • • 例如创建数据库记录阅读笔记,智能体可通过查询数据库提供更准确答案。

    二、什么是智能体

    在介绍如何搭建智能体之前,让我们了解一下什么是智能体。

    所谓智能体,是基于大型语言模型构建的智能实体,它具备感知规划推理学习执行决策等智能行为特征,能够自动化地完成包括文本生成、对话交互、语言翻译、数据分析、预测分析在内的多种复杂任务,显著提升工作效率,为人类创造更便捷、智能的生活方式。

    三、智能体搭建

    接下来,手把手教大家如何在Coze上搭建一个属于自己的智能搜索智能体。

    2.1 工作流创建

    2.1.1 认识工作流界面

    首先进入到Coze的官网,点击左侧的「工作空间」,然后点击「资源库」,再点击右上角的「资源」,选择工作流。

    然后输入工作流名称,我这里输入的是info_collection,也可以是其他的;输入工作流描述,我这里是调用各种搜索引擎,搜索相关信息。然后点击确认完成创建

    在工作流界面上,左侧有不同的节点,如:插件大模型代码知识库工作流等等。其中:

    • • 插件:可以通过API和外部数据与系统进行交互,能够增强模型能力。

    • • 大模型:顾名思义,就是大模型,基于大量不同的数据进行训练,具有强大的通用基础知识。

    • • 代码:可以通过代码来处理一个流程中的数据

    • • 知识库:可以理解为大模型的外挂知识库,可以有效解决模型的幻觉问题。

    2.1.2 添加搜索插件

    首先,让我们来为工作流添加几个搜索插件,点击左侧的「插件」:

    在弹出的窗口中,勾选上「仅显示官方插件」

    在左侧文本框输入「必应搜索」,并点击「添加」。

    然后再输入「头条搜索」,点击「添加」

    输入「头条新闻」,点击「添加」

    输入「抖音视频」,点击「添加」

    这样,我们的工作流就有了四个搜索来源了,节点名字分别是bingWebSearchsearchgetToutiaoNewsget_video,如果感兴趣的话,还可以继续添加。将「开始」节点和刚才添加的四个搜索节点进行链接:

    点击具体的搜索节点,分别设置每个搜索节点的输入参数,首先是bingWebSearch

    然后是search

    然后是getToutiaoNews

    最后是get_video

    2.1.3 添加代码插件

    在每个搜索节点执行完之后,我们需要将这几个搜索节点结果中的url合并起来,用来爬取其中的内容。这里,我新建了一个「代码」节点,用来合并搜索节点的结果。

    在左侧选择「代码」,点击+号,即可添加一个「代码」节点

    将「搜索」节点和「代码」节点进行连接:

    点击「代码」节点,设置它的输入参数,其中每个条目具体的参数如下:

    • • bing_result:data/webPages/value

    • • search_result: data/doc_results

    • • toutiao_result: news

    • • videl_result: data/list

    然后选择「在IDE中编辑」:

    在顶部将语言切换为「Python」:

    输入下面代码:

    async def main(args: Args)->Output:
        params = args.params
        bing_result = params['bing_result']
        search_result = params['search_result']
        toutiao_result = params['toutiao_result']
        video_result = params['video_result']
        result = []
        if bing_result is not None:
            for item in bing_result:
                if item == None:
                    continue
                result.append(item["url"])
        if search_result is not None:
            for item in search_result:
                if item == None:
                    continue
                result.append(item['url'])
        if toutiao_result is not None:
            for item in toutiao_result:
                if item == None:
                    continue
                result.append(item['url'])
        if video_result is not None:
            for item in video_result:
                if item == None:
                    continue
                result.append(item['link'])
        ret ={
            "key": result
        }
        return ret

    同时修改「输出」参数,如下所示:

    2.1.4 爬取网页结果

    现在,我们拿到了不同搜索节点获取到的链接,接下来,我们添加一个「链接读取」插件,来获取网页内容。

    同样,还是在左侧点击「插件」,选择「链接读取」,并点击「添加」。

    添加完之后,可以在工作流中看到对应的插件(链接读取),节点名字为LinkReaderPlugin。连接「代码」节点和「LinkReaderPlugin」:

    点击「LinkReaderPlugin」,设置一些参数。因为我们是一次传入一批url链接到「链接读取」插件,所以在参数设置中,选择「批处理」,如下所示:

    上面的设置中,不同条目的设置如下:

    • • 批处理:

      • • item:选择代码节点的输出

    • • 输入:

      • • url:选择LinkReaderPlugin->item

    2.1.5 过滤爬取结果

    可能会因为各种原因,网络爬虫无法对每条url都返回结果,这些无法爬取的url的结果在返回的时候是None(空),不太方便后面批量处理,因此我们需要对上面「链接获取」节点的输出结果进行过滤。再次添加一个「代码节点」,并修改名称为「结果过滤」,并和「链接获取」节点连接:

    设置「代码」节点的输入为「链接获取」节点的输出,如下所示:

    然后修改语言为Python,代码如下:

    async def main(args: Args)->Output:
        params = args.params
        link_result = params['link_result']
        content = []
        for item in link_result:
            try:
                content.append(item['data']['content'])
            except:
                continue
        return content

    同时修改「输出」:

    2.1.6 网页内容总结

    每个网页的结果数众多,我们不可能从头看到尾,因此需要用大模型对结果进行总结。在工作流界面左侧点击「大模型」,添加一个大模型,并链接上一节的「代码」节点。

    同样,大模型也需要进行批处理,下面是设置参考:

    2.1.7 结果汇总

    现在,我们一共有这些信息:

    1. 1. url

    2. 2. title

    3. 3. content总结

    但是这些信息分散在不同的节点。下面,我们新建一个「代码」节点将这些汇总起来,如下所示

    代码节点的参数配置如下:

    具体代码如下:

    async def main(args: Args)->Output:
        params = args.params
        link_result = params['link_result']
        link_list = params['link_list']
        model_result = params['model_result']
        assert len(link_list) == len(link_result)
        result = []
        for item1, item2 in zip(link_result, link_list):
            try:
                title = item1['data']['title']
                link = item2
                result.append({
                    "link": link,
                    "title": title,
                })
            except:
                continue
        assert len(model_result) == len(result)
        for i in range(len(result)):
            result[i]["content"] = model_result[i]['output']
        ret ={
            "key": result
        }
        return ret

    2.1.8 输出结果

    将上面「结果合并」节点和最终的「结束」节点连接

    并修改「结束」节点的输出,如下图所示:

    2.1.9 发布

    至此,一个工作流就创建完成了,可以点击右上角的试运行:

    输入关键词,运行一下看看:

    如果没有问题的话,可以看到「结束」节点的输出结果,在我的工作流里,一共有27个结果,每个结果包含:内容、链接、标题。

    然后点击发布:

    就可以在「资源库」页面看到我们创建的工作流了:

    接下来,我们可以创建一个智能体,来使用这个工作流了。

    2.2 智能体创建

    2.2.1 创建

    在Coze点击左侧的「工作空间」,选择「项目开发」,然后点击「创建智能体」,输入智能体名称和图标,点击「确认」,即可完成智能体创建。

    2.2.2 配置

    下面是智能体的配置,需要修改地方有:

    • • 人设与回复逻辑

    • • 工作流

    • • 开场白

    • • 开场白预置问题

    如下图所示:

    其中,人设与回复逻辑如下:

    # 角色
    你是一个专业且高效的信息收集专家,能够快速准确地搜集各类相关信息,并以清晰的方式呈现给用户。

    ## 技能
    ### 技能 1:确定信息主题与范围
    1.当接收到信息收集任务时,明确信息的具体主题及范围。
    2.调用 info_collection 工作流,获取关键词对应的搜索结果。

    ### 技能 2:整理与汇总信息
    1.对收集到的每一条信息进行细致整理,按照以下格式呈现:
    -标题:<title>
    -内容:<content>
    -链接:<link>

    ## 限制
    -只收集与给定主题高度相关的信息,坚决摒弃不相关内容。
    -输出内容必须严格按照规定格式组织,不得偏离要求框架。
    -不得减少结果条数。
    - 信息汇总务必保持客观、准确,严禁加入任何主观臆断。

    2.2.3 大模型配置

    因为我们主要是做信息搜集,不需要大模型有太强的发散能力,所以需要修改一下大模型的参数。

    点击顶部的大模型,将其设置为「精确模式」

    至此,一个智能体就搭建完成了。

    四、和智能体交互

    接下来,让我们向智能体提问几个问题,看看效果如下:

    4.1 问题:什么是智能体

    在对话框输入:什么是智能体?

    可以看到智能体会调用我们刚才创建的工作流进行信息搜索,并且也可以看到搜索的结果。

    然后智能体会将信息进行总结,并按照规定的格式输出,并且每条结果所附的链接也是完全准确的!

    五、总结

    本文从介绍什么是Coze什么是智能体,到工作流搭建智能体搭建手把手教你搭建了一个能够自动搜集全网信息的智能体,提高你的信息搜集效率,提升你的信息搜集体验,同时也避免了广告的困扰!如果对此类教程感兴趣的话,欢迎Mark~后续会持续更新!


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询