Dify工作流教程|以抓取网页并更新知识库为例详细讲解工作流编排过程(附DSL文件)

作者:超人阿亚

来源:公众号:dify实验室

1、系统背景

    你不会还在用书签管理自己的文章吧。有没有很痛苦,明明添加书签的网页,当你想阅读的时候,总是找不到或者好不容易找到了,发现网页404了。如果有个小工具,直接能把你输入的链接内容抓取下来,并且加入到你的知识库中,你说他香不香。

2、需求分析

    核心需求分析

    网页抓取,通过蜘蛛抓取网页内容、解析出网页标题和内容、调用知识库接口存入个人知识库。

3、流程设计

    

图片

4、网页抓取

使用Firecrawl 工具,在工具中找到Firecrawl,点击单页面抓取,添加到画布。

图片

首次使用需要授权。点击获取按钮,按照帮助说明,获取API密钥。

图片

无法获取授权的,也可以使用网页抓取工具,这个是免费的,抓取效果也可以。

图片

5、参数提取

使用参数提取器,提取网页标题和内容,新增两个提取参数,分别为title、content

图片

6、构造http请求,更新知识库

使用http请求节点,请求知识库API。

6.1 创建API秘钥。创建成功后,我们把他保存下来。

图片

6.2 创建一个知识库,后续将文章存入到哪个知识库中,就可以创建这个知识库。

图片

6.3 获取知识库的id

方法1,使用浏览器抓包。具体方法为,点击进入到这个知识库,右键-检查,刷新页面,然后找到 documents?page=1&limit=10&keyword=,点击后如下图。红框中的即为当前知识库的id,把他保存下来,后面会用到。

    

图片

方法2,构造请求,使用知识库API接口获取知识库id

get  http://host.docker.internal/v1/datasets?page=1&limit=20,配置好识库的APIkey。点击运行此步骤。获得知识库id,有多个知识库时,请根据name来判断。

图片

6.4构造请求, 更新知识库内容

API:

post http://host.docker.internal/v1/datasets/{你的知识库id}/document/create-by-text

HEADERS:

Content-Type : application/json

BODY-raw:

{"name": "{新建的title变量}","text": "新建的content变量","indexing_technique": "high_quality","process_rule": {"mode": "automatic"}}

7、http请求节点常见报错处理

 a、 报错内容为:

     Reached maximum retries (0) for URL http://localhost/v1/datasets/2bf8fe54-cc73-4864-8e9f-215a33851a65/document/create-by-text

         解决方案:将localhost替换为 host.docker.internal

     原因 当 Dify 需要访问宿主机上运行的服务(如数据库、API 或其他依赖服务)时,必须通过宿主机的真实 IP 进行通信。host.docker.internal 是 Docker 提供的特殊 DNS 名称,自动映射到宿主机的内部 IP。

b、Request failed with status code 400

         解决方案:检查请求方式、构造的参数是否正确,往往是构造参数错误导致的。

c、"status_code": 400,

  "body": "{\"code\": \"bad_request\", \"message\": \"The browser (or proxy) sent a request that this server could not understand.\", \"status\": 400}\n"

      解决方案:检查输入的文本中是否包含/n  /p / 等特殊字符,需要将特殊字符去掉,或者转义。

8、改进余地

    这个工作流还可以继续改进,例如加入 问题分类器 节点,判断网页知识的内容类型,以存入到不同的知识库中。

获取DSL文件(微信公众号:dify实验室)

   DSL文件分享公众号回复 DSL ,获取工作流DSL文件。目前我建立了一个dify学习交流群。可以在微信公众号回复 入群,我拉你进群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值