华为云Flexus+DeepSeek征文 | 基于Dify构建集成Notion的个人知识库
一、构建集成Notion的个人知识库引言
在信息爆炸的时代,个人知识管理变得尤为重要。Notion作为一款强大的笔记工具,帮助我们收集和整理了大量信息,但静态的知识库往往难以高效利用。通过结合Dify平台
和RAG(检索增强生成)
技术,我们可以将Notion中的静态知识转化为智能交互系统,实现知识的动态激活和高效利用。
我个人的主力笔记软件还是Notion
,在Notion中存储了大量笔记资料,但Notion无法进行信息整合,另外搜索功能也很鸡肋,而且我记笔记的特点是没有分类,没有标签的最原始信息,不使用任何模板,所以记录很多使用很少,每次都很难翻找到自己需要的东西。而Dify 知识库支持从 Notion 导入数据,可以实现集成Notion打造专属个人知识库方案。
华为云FlexusX云服务器
的加入进一步提升了这一解决方案的价值,极致性能
:支持GPU/FPGA硬件加速,算力效率提升40%以上,确保快速响应。部署便捷
:提供预置模板和自动化工具,10分钟内即可完成全流程部署。成本优势
:按需付费模式,单机部署全程成本极低,空闲时段可释放资源。
二、构建集成Notion的个人知识库环境
2.1 基于FlexusX实例的Dify平台
华为云FlexusX实例
提供高性价比的云服务器,按需选择资源规格、支持自动扩展,减少资源闲置,优化成本投入,并且首创大模型QoS保障,智能全域调度,算力分配长稳态运行,一直加速一直快,用于搭建Dify-LLM应用开发平台。
Dify是一个能力丰富的开源AI应用开发平台
,为大型语言模型(LLM)应用的开发而设计。它巧妙地结合了后端即服务(Backend as Service)和LLMOps的理念,提供了一套易用的界面和API,加速了开发者构建可扩展的生成式AI应用的过程。
参考:华为云Flexus+DeepSeek征文 | 基于FlexusX单机一键部署社区版Dify-LLM应用开发平台教程
2.2 基于MaaS的模型API商用服务
MaaS预置服务的商用服务为企业用户提供高性能、高可用的推理API服务,支持按Token用量计费的模式。该服务适用于需要商用级稳定性、更高调用频次和专业支持的场景。
参考:华为云Flexus+DeepSeek征文 | 基于ModelArts Studio开通和使用DeepSeek-V3/R1商用服务教程
三、构建集成Notion的个人知识库实战
3.1 创建Notion Integrations
浏览器输入Notion Integrations 网址,并登录账号
Notion Integrations 网址 :https://www.notion.so/profile/integrations
可以新建一个新集成
,输入集成名称
、选择关联空间、类型为内部、上传Logo图标,保存即可
出现提示:已成功创建集成,点击配置集成设置
,重点是查看内部集成密钥
,Dify 访问 Notion内容就是通过此密钥
提示:你的集成目前无权访问任何页面要开始使用集成,请从 Access Tab
添加页面和数据库,在访问权限
中添加运行访问的Notion页面即可
也可以在Notion 软件中添加允许访问的页面,在页面的右上角菜单中选择Connections
- Add a new connect
集成功能
中包含一些功能选项,我是默认开启的如下,我仅勾选了内容功能 - 读取内容
,避免失误出现篡改Notion内容的情况
3.2 配置Dify环境
输入管理员的邮箱和密码,登录基于FlexusX部署好的Dify网站
将MaaS平台的模型服务接入Dify,这里我们选择的是DeepSeek R1商用服务
,需要记住调用说明中的接口信息
和 API Key 管理中API Key
,若没有可以重新创建即可
配置Dify模型供应商:设置 - 模型供应商 - 找到OpenAI-API-compatible
供应商并单击添加模型
,在添加 OpenAI-API-compatible对话框,配置相关参数,然后单击保存
参数 | 说明 |
---|---|
模型类型 | 选择LLM 。 |
模型名称 | 填入模型名称。 |
API Key | 填入创建的API Key。 |
API Endpoint URL | 填入获取的MaaS服务的基础API地址,需要去掉地址尾部的“/chat/completions”后填入 |
通过SSH连接方式,登录FlexusX云服务器,找到部署 Dify 目录下配置文件 .env
文件,修改配置文件中的相关环境变量,将 NOTION_INTEGRATION_TYPE
修改为 internal
,NOTION_INTERNAL_SECRET
输入创建 Notion Integrations 的 内部集成密钥
# Configure as "public" or "internal".
# Since Notion's OAuth redirect URL only supports HTTPS,
# if deploying locally, please use Notion's internal integration.
NOTION_INTEGRATION_TYPE=internal
# Notion OAuth client secret (used for public integration type)
NOTION_CLIENT_SECRET=
# Notion OAuth client id (used for public integration type)
NOTION_CLIENT_ID=
# Notion internal integration secret.
# If the value of NOTION_INTEGRATION_TYPE is "internal",
# you need to configure this variable.
NOTION_INTERNAL_SECRET=xxxxxxxx
修改完成后,重新启动 Dify,在设置 - 数据来源中即可查看Notion已绑定的工作空间
若未修改.env
中Notion的相关配置,在设置 - 数据来源 - Notion 点击配置
会出现下述错误
{"error":"invalid_request","error_description":"query failed validation: query.client_id should be a string or `undefined`, instead was `0`.","request_id":"22bd3ce1-7576-4a4f-a9d9-8f0824f2603c"}
3.3 创建集成Notion的个人知识库
在知识库 - 创建知识库 - 同步自Notion内容,就会出现刚刚添加的允许访问的页面名称了,勾选此页面,点击下一步
文本分段与清洗:分段设置为默认通用,索引方式选择高质量
,在Embedding模型栏目选择刚创建的bge-m3
模型,在检索设置栏目,选择混合检索
(可同时使用向量检索和关键词检索,并控制两者权重),在模型下拉窗口选择刚创建的bge-reranker-v2-m3
, 然后在下方开启Score阈值开关,并滑动下方的滑动按钮来选择阈值,推荐0.5,下方还有TOP K的选项,可以控制最终被使用的文档分片的最大数量。
点击保存并处理,等待所有页面状态为可用即可,我的Notion包含350个页面,数据量比较大,也比较耗时
可以在这里搜索页面,也可以点击同步最新的Notion页面内容并重新处理
随便点击一个页面,可以查看分段信息和技术参数
在召回测试,输入文本即可进行混合检索,并列出召回段落内容
创建空白应用,选择聊天助手,输出应用名称:Notion个人助手,创建
关联Notion知识库,输入提示词,我这里是简单的梳理了个人助手的流程和目标
根据问题关键词,检索知识库匹配内容,总结并回答问题,给出来自知识库的参考点
在Dify编排界面的模型设置Temperature=0.3
减少随机性
在调试与预览
页面测试一些效果,输入问题:git rebase 用法,回答结果中给出了提及
结合DeepSeek R1的推理,输出的结果是很不错的,提及还可以直接跳转到知识库
测试完成就可以发布更新到探索
页面了!
3.4 使用集成Notion的个人知识库
在探索 - Notion个人助手中开启新对话
输入问题:adb 如何模拟手机低电量,这种类似的问题是我最常想要从Notion找到答案的问题,却总是不能轻易找到
输出结果如下,内容的确来自Notion的知识库中并给出了引用,效果不错
四、总结
通过Notion+Dify+华为云的组合,我们成功构建了一个智能个人知识库助手。这一解决方案不仅实现了静态知识的动态激活,还通过RAG技术大幅提升了信息检索和利用的效率。华为云FlexusX服务器
为Dify平台提供了稳定高效的运行环境,其卓越的性能和便捷的部署方式让技术门槛大幅降低
。而华为云提供的DeepSeek API服务
,则以其出色的推理能力和代码生成能力,为知识问答提供了强大的智能支持。
特别值得一提的是,华为云FlexusX服务器的智能资源调度和硬件加速能力,使得这一解决方案在处理复杂查询时表现出色,响应速度比传统方案快5-10倍。同时,华为云多层次的安全防护机制,也确保了个人知识数据的安全性和隐私性。