Notion DB 2/2
Notion 是一個協作平台,具有修改過的 Markdown 支援,整合了看板、任務、Wiki 和資料庫。它是一個用於筆記、知識和資料管理以及專案和任務管理的一體化工作區。
NotionDBLoader
是一個 Python 類別,用於從 Notion
資料庫載入內容。它從資料庫檢索頁面,讀取其內容,並傳回 Document 物件的清單。 NotionDirectoryLoader
用於從 Notion 資料庫傾印檔載入資料。
需求
- 一個
Notion
資料庫 - Notion 整合權杖
設定
1. 建立 Notion 表格資料庫
在 Notion 中建立新的表格資料庫。您可以將任何欄位新增至資料庫,它們將被視為元資料。例如,您可以新增以下欄位
- 標題:將標題設定為預設屬性。
- 類別:用於儲存與頁面關聯的類別的多選屬性。
- 關鍵字:用於儲存與頁面關聯的關鍵字的多選屬性。
將您的內容新增至資料庫中每個頁面的主體。NotionDBLoader 將從這些頁面中擷取內容和元資料。
2. 建立 Notion 整合
若要建立 Notion 整合,請依照下列步驟操作
- 造訪 Notion 開發人員 頁面,並使用您的 Notion 帳戶登入。
- 按一下「+ 新增整合」按鈕。
- 為您的整合命名,並選擇您的資料庫所在的工作區。
- 選取必要的授權,此擴充功能僅需要「讀取內容」授權
- 按一下「提交」按鈕以建立整合。建立整合後,您將獲得一個
整合權杖 (API 金鑰)
。複製此權杖並妥善保管,因為您需要它才能使用 NotionDBLoader。
3. 將整合連線至資料庫
若要將您的整合連線至資料庫,請依照下列步驟操作
- 在 Notion 中開啟您的資料庫。
- 按一下資料庫檢視右上角的三點選單圖示。
- 按一下「+ 新增整合」按鈕。
- 尋找您的整合,您可能需要在搜尋方塊中開始輸入其名稱。
- 按一下「連線」按鈕以將整合連線至資料庫。
4. 取得資料庫 ID
若要取得資料庫 ID,請依照下列步驟操作
- 在 Notion 中開啟您的資料庫。
- 按一下資料庫檢視右上角的三點選單圖示。
- 從選單中選取「複製連結」,將資料庫 URL 複製到剪貼簿。
- 資料庫 ID 是 URL 中找到的長串英數字元。它通常看起來像這樣:https://www.notion.so/username/8935f9d140a04f95a872520c4f123456?v=.... 在此範例中,資料庫 ID 為 8935f9d140a04f95a872520c4f123456。
有了正確設定的資料庫,以及整合權杖和資料庫 ID,您現在可以使用 NotionDBLoader 程式碼從您的 Notion 資料庫載入內容和元資料。
5. 安裝
安裝 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 匯出您的資料集。您可以透過按一下右上角的三個點,然後按一下 匯出
來執行此操作。
匯出時,請務必選取 Markdown & CSV
格式選項。
這將在您的「下載」資料夾中產生一個 .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")
API 參考:NotionDirectoryLoader
docs = loader.load()