微信扫码
添加专属顾问
我要投稿
通过Dify爬虫搭建个人知识库的实战经验分享,详细记录了80次调试的血泪史,为你提供避坑指南。 核心内容: 1. 搭建个人知识库的动机与准备工作 2. 详细步骤拆解:从获取接口到存入知识库 3. 调试过程中遇到的问题与解决方案
之前在写ragflow爬虫组件的时候,我就想想通过爬虫组件采集信息,打造个人的私人知识库。我翻了下ragflow的源码,发现api必须上传文档,不能直接上传文本,周日在家想起这件事,我想看看dify的能否实现。
然后我看了知识库有对应的接口,就开始尝试了下,然后入坑了。调了80多次才调好。
以前写代码不正确先自我怀疑,用dify和ragflow一定不能有这种思维,一定要想这是bug。
拿到知识库的Id 03389f92-50f4-4ece-8618-df3e0a081aaa
在知识库里申请秘钥,
1
点击知识库,2
API,这个位置也是api的文档3
API密钥在知识库里申请密钥,这个密钥要好好的保存,是操作所有知识库的,不是某一个。
创建密钥或者直接通过2
复制已有的密钥。
比如我的密钥:dataset-H8YPPbtW5kJLzv546hpFtvnA
建议先用postman验证好。验证成功以后,我们点击位置
1
的图标,点击位置2
把curl命令复制下来。
在知识库的api文档里,第一个接口就是我们这次要用的接口。
最终流程如图。
我本来是想通过采集以后,自定义父子分段实现的,但是这个入坑了。
我们要实现采集并入库
1
要知道爬取的url,url可以手工输入,也可以搜索以后提取2
采集完以后如何分段存入知识库添加两个变量
网页爬虫是dify的一个工具,需要在市场里下载安装。直接引用输入的url即可。
微信公众号爬取是乱码,这个大家不用试了
爬虫组件获取数据接口如上,我们主要是要把text中的内容提取出来。
1
的位置设置模型,用v3或者其他的模型就行,别用r13
添加提取参数4
添加提取指令爬取成功,我们就存入知识库,否则则直接结束。
1
把在postman 验证通过的curl命令复制过来。这里需要注意下,接口请求方式是POST,自动填充的是GET2
的位置,把知识库id,改成变量3
和4
的位置,把提取到的标题和内容设置进去把请求结果输出。
我们拿dify官方文档的链接试一下
https://docs.dify.ai/zh-hans/guides/knowledge-base/retrieval-test-and-citation
1
运行,3
运行在知识库中我们可以看到存进去的文档。
点开可以查看分段结果。
看着很简单是吧,我被折磨快2天。这里需要注意一点,用本机的ip请求,如果一台机器上,可以用docker内网。
dify的接口文档和实际使用有出入,这个折腾了好久,主要是我想用父子分段,想自定义分段模式
在父子分段里是hierarchical
,跟踪前端页面找到的。
父子分段上传成功以后,也不会自动分段,再点击分段,报错,暂时还没有解决。
如果爬取的文章内容里面各种格式,又是markdown,又是代码的,很容易出现这个问题,而且你在postman上验证通过,在这里也通不过。需要写代码自己清洗,但是清洗就是一个无底洞,不要尝试。或者是你自己手写json,多一个或少一个标点符号。
调试的时候,经常出现400,报错信息为The browser (or proxy) sent a request that this server could not understand
,一般情况下都是你的json问题。从postman复制概率就很小
405 Method Not Allowed,你把请求方式设置错了,本来是post,设置成了get,就报
我把工作流扔网盘里,大家有需要可以下载。群友分享的几十个dify工作流。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-04
AI知识库:数据筑基与智能跃迁
2025-04-03
DeepSeek本地部署对于中小学教育的意义:低成本、高效率、安全地让教育数据“活起来”
2025-04-03
企业接入大模型的真实账本:被忽略的3个决策逻辑
2025-04-01
智能时代的知识管家:一个基于DeepSeek、Dify和Elasticsearch的知识库系统诞生与启示
2025-04-01
零代码搭建本地知识库:FireCrawl爬取+CherryStudio构建实战指南
2025-04-01
用腾讯ima对微信读书书架分类,还是DeepSeek懂我
2025-03-31
Dify+Deepseek:超实用ChatDoc,解锁一个万能文档交互新方法
2025-03-31
如果信息可以重复使用,那么它就是有用的
2024-09-14
2025-01-23
2024-07-10
2024-11-07
2025-02-17
2024-04-24
2024-08-04
2024-06-23
2024-05-15
2024-07-10
2025-03-22
2025-03-17
2025-03-11
2025-03-09
2025-03-05
2025-03-01
2025-02-20
2025-02-17