Dify+Notion本地化打造专属知识库

1 导入文本数据

轻点 Dify 平台顶部导航中 “知识库” → “创建知识库”

可上传本地文件、导入在线数据两种方式上传文档至知识库内。

1.1 上传本地文件

拖拽或选中文件进行上传,支持批量上传,同时上传的文件数量限制取决于订阅计划:

本地上传文档文件的限制:

  • 单文档上传大小限制≤ 15MB
  • 不同 SaaS 版订阅计划限定批量上传个数、文档上传总数、向量存储空间

1.2 导入在线数据

支持导入以下两种在线数据:

1.2.1 从 Notion 导入数据

Dify知识库支持从 Notion 导入,并支持后续的数据自动同步。点击“去绑定”:

① 授权验证
  • 点击 同步自 Notion 内容-- 去绑定,根据提示完成授权验证。
  • 也可:进入 设置 -- 数据来源 -- 添加数据源 中点击 Notion 来源 绑定 ,完成授权验证

完成 internal 类型集成后,点击“绑定”即可:

② 导入 Notion 数据

需要将想要同步的文章关联到对应的 Integrations 中

  • 在对应的工作空间下,打开一篇想要同步的文章
  • 点击右上角的菜单项,选择「Connects」,在里面选择刚刚我们创建的 Integrations「Dify DataSource」

确认:

同步:

回到创建知识库的页面,点击同步自 Notion 内容,选择需要的授权页面进行导入:

③ 分段和清洗

选择知识库的分段设置索引方式保存并处理。等 Dify 自动处理数据。Dify:

  • 不仅可导入 Notion 的普通类型页面
  • 也支持导入并汇总保存 database 类型下的页面属性

暂不支持导入图片和文件,表格类数据会被转换为文本展示。

预览 Notion 页的分段结果

④ 同步 Notion 数据

如你的 Notion 内容有更新,可以在知识库的 文档列表页中点击对应内容页的 同步 按钮进行数据同步。同步文档涉及嵌入过程,因此将消耗嵌入模型的 Tokens。

img

同步 Notion 内容

⑤ 社区版Notion internal集成配置

Notion分:

  • 内部集成(internal integration)
  • 外部集成(public integration)

两种方式,两种集成方式区别Notion 官方文档。先创建集成。默认,所有集成都以内部集成开始;内部集成将与你选择的工作区相关联,因此你需要是工作区所有者才能创建集成。

类型默认内部Internal,选择关联的空间,输入集成名称并上传 logo 后,点击“保存”,集成创建成功:

点击“配置集成设置”:

创建集成后,按需在 Capabilities 选项卡下更新其设置,并在 Secrets 下点击 “Show” 按钮然后复制 Secrets:

复制后回到 Dify 源代码下,在 .env 文件里配置相关环境变量:

NOTION_INTEGRATION_TYPE = internal or NOTION_INTEGRATION_TYPE = public
NOTION_INTERNAL_SECRET=you-internal-secret

修改好后,执行以下命令并重启容器:

docker-compose down
docker-compose up -d
### 配置 DIFY 的 `client_id` 和 `client_secret` 绑定 Notion 知识库的方法 在 `.env` 文件中正确配置 `NOTION_CLIENT_ID` 和 `NOTION_CLIENT_SECRET` 是绑定 Notion 知识库的关键步骤。以下是详细的配置方法和注意事项[^1]。 #### 环境变量配置 在 `.env` 文件中,需要设置以下环境变量以支持 Notion 知识库的绑定: ```plaintext NOTION_INTEGRATION_TYPE=public # 设置为 public 或 internal,根据需求选择 NOTION_CLIENT_ID=your-client-id # 替换为实际的 Notion 客户端 ID NOTION_CLIENT_SECRET=your-client-secret # 替换为实际的 Notion 客户端密钥 ``` - **NOTION_INTEGRATION_TYPE**:指定 Notion 集成类型,可以选择 `public` 或 `internal`。 - `public` 表示公共集成,适用于公开的知识库。 - `internal` 表示内部集成,适用于私有知识库。 - **NOTION_CLIENT_ID**:Notion 提供的客户端 ID,用于标识应用程序。 - **NOTION_CLIENT_SECRET**:Notion 提供的客户端密钥,用于验证身份。 #### 获取 `NOTION_CLIENT_ID` 和 `NOTION_CLIENT_SECRET` 要获取 `NOTION_CLIENT_ID` 和 `NOTION_CLIENT_SECRET`,需要在 Notion 官网创建一个集成应用,并生成相应的凭据[^2]。具体步骤如下: - 登录 Notion 官网,进入“我的集成”页面。 - 创建一个新的集成应用,并记录生成的 `NOTION_CLIENT_ID` 和 `NOTION_CLIENT_SECRET`。 #### 绑定 Notion 知识库 完成 `.env` 文件的配置后,按照以下方式绑定 Notion 知识库: - 在 DIFY 的界面中点击“绑定 Notion 知识库”,系统会跳转至 Notion 授权页面。 - 用户需要在此页面授权 DIFY 访问指定的知识库。 #### 示例代码 以下是一个示例代码,展示如何通过 `.env` 文件读取配置并验证绑定: ```python import os notion_integration_type = os.getenv("NOTION_INTEGRATION_TYPE") notion_client_id = os.getenv("NOTION_CLIENT_ID") notion_client_secret = os.getenv("NOTION_CLIENT_SECRET") if notion_integration_type == "public": print(f"Using public integration with client ID: {notion_client_id}") elif notion_integration_type == "internal": print(f"Using internal integration with client secret: {notion_client_secret}") else: raise ValueError("Invalid NOTION_INTEGRATION_TYPE specified in .env file") ``` #### 注意事项 - 确保 `.env` 文件中的变量名和值正确无误,避免拼写错误或遗漏。 - 如果选择 `internal` 类型,可能还需要额外配置 `NOTION_INTERNAL_SECRET`。 - 在绑定过程中,确保网络连接正常,并检查 Notion API Token 是否具有足够的权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值