Skip to main content
Open In Colab在 GitHub 上打开

概念 DB 2/2

Notion 是一个协作平台,具有修改后的 Markdown 支持,集成了看板、任务、wiki 和数据库。它是一个用于记笔记、知识和数据管理以及项目和任务管理的一体化工作区。

NotionDBLoader是一个 Python 类,用于从Notion数据库。它从数据库中检索页面,读取其内容,并返回 Document 对象的列表。NotionDirectoryLoader用于从 Notion 数据库转储加载数据。

要求

  • 一个Notion数据库
  • Notion 集成令牌

设置

1. 创建 Notion Table 数据库

在 Notion 中创建新的表数据库。您可以将任何列添加到数据库中,它们将被视为元数据。例如,您可以添加以下列:

  • 标题:将标题设置为默认属性。
  • 类别:用于存储与页面关联的类别的 Multi-select 属性。
  • 关键字:用于存储与页面关联的关键字的 Multi-select 属性。

将您的内容添加到数据库中每个页面的正文中。NotionDBLoader 将从这些页面中提取内容和元数据。

2. 创建 Notion 集成

要创建 Notion 集成,请执行以下步骤:

  1. 访问 Notion 开发人员页面并使用您的 Notion 帐户登录。
  2. 点击 “+ New integration” 按钮。
  3. 为您的集成命名,然后选择数据库所在的工作区。
  4. 选择 require capabilities,此扩展只需要 Read content 能力
  5. 单击 “Submit” 按钮创建集成。 创建集成后,您将获得一个Integration Token (API key).复制此令牌并妥善保管,因为您需要它才能使用 NotionDBLoader。

3. 将集成连接到数据库

要将集成连接到数据库,请执行以下步骤:

  1. 在 Notion 中打开您的数据库。
  2. 单击数据库视图右上角的三点菜单图标。
  3. 点击 “+ New integration” 按钮。
  4. 找到您的集成,您可能需要开始在搜索框中输入其名称。
  5. 单击 “Connect” 按钮将集成连接到数据库。

4. 获取数据库 ID

要获取数据库 ID,请执行以下步骤:

  1. 在 Notion 中打开您的数据库。
  2. 单击数据库视图右上角的三点菜单图标。
  3. 从菜单中选择 “Copy link” 将数据库 URL 复制到剪贴板。
  4. 数据库 ID 是在 URL 中找到的一长串字母数字字符。它通常看起来像这样:https://www.notion.so/username/8935f9d140a04f95a872520c4f123456?v=....在此示例中,数据库 ID 为 8935f9d140a04f95a872520c4f123456。

正确设置数据库并准备好集成令牌和数据库 ID 后,您现在可以使用 NotionDBLoader 代码从 Notion 数据库加载内容和元数据。

5. 安装

Instaall 的langchain-community集成包。

%pip install -qU langchain-community

Notion 数据库加载器

NotionDBLoader 是 langchain 包的文档加载器的一部分。您可以按如下方式使用它:

from getpass import getpass

NOTION_TOKEN = getpass()
DATABASE_ID = getpass()
········
········
from langchain_community.document_loaders import NotionDBLoader
API 参考:NotionDBLoader
loader = NotionDBLoader(
integration_token=NOTION_TOKEN,
database_id=DATABASE_ID,
request_timeout_sec=30, # optional, defaults to 10
)
docs = loader.load()
print(docs)

Notion 目录加载程序

设置

从 Notion 导出您的数据集。您可以通过单击右上角的三个点,然后单击Export.

导出时,请确保选择Markdown & CSVformat 选项。

这将产生一个.zip文件。将.zip文件复制到此存储库中。

运行以下命令以解压缩 zip 文件(将Export...替换为您自己的文件名)。

unzip Export-d3adfe0f-3131-4bf3-8987-a52017fc1bae.zip -d Notion_DB

用法

运行以下命令以提取您刚刚下载的数据。

from langchain_community.document_loaders import NotionDirectoryLoader

loader = NotionDirectoryLoader("Notion_DB")
docs = loader.load()