6大核心模块(Modules)
示例
Notiondb

LangChain

Notion数据库加载器

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

要求:

  • Notion数据库
  • Notion集成令牌

设置:

1. 创建Notion表数据库

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

  • 标题:将标题设置为默认属性。
  • 类别:一个多选属性,用于存储与页面相关联的类别。
  • 关键词:一个多选属性,用于存储与页面相关联的关键词。

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

2. 创建Notion集成

创建Notion集成,按照以下步骤操作:

  1. 访问Notion开发人员页面并使用Notion帐户登录。
  2. 点击“+新集成”按钮。
  3. 命名集成,并选择数据库所在的工作区。
  4. 选择所需的能力,此扩展名仅需读取内容能力。
  5. 点击“提交”按钮以创建集成。

集成创建后,您将获得一个集成令牌(API密钥)。复制此令牌并保持安全,因为您将需要它来使用NotionDBLoader。

3. 将集成连接到数据库

要将您的集成连接到数据库,请按照以下步骤操作:

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

4. 获取数据库ID

要获取数据库ID,请按照以下步骤操作:

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

具有正确设置的数据库和已经获得的集成令牌和数据库ID,现在可以使用NotionDBLoader代码从Notion数据库中加载内容和元数据。

用法:

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

from getpass import getpass
NOTION_TOKEN = getpass()
DATABASE_ID = getpass()
 
········
········
 
from langchain.document_loaders import NotionDBLoader
 
loader = NotionDBLoader(NOTION_TOKEN, DATABASE_ID)
 
docs = loader.load()
 
print(docs)