Notion DB 2/2
Notion 是一個協作平台,具有修改後的 Markdown 支援,整合了看板、任務、維基和資料庫。 它是一個用於筆記、知識和資料管理以及專案和任務管理的多合一工作區。
NotionDBLoader
是一個 Python 類別,用於從 Notion
資料庫載入內容。 它從資料庫檢索頁面,讀取其內容,並傳回 Document 物件的列表。 NotionDirectoryLoader
用於從 Notion 資料庫轉儲載入資料。
需求
- 一個
Notion
資料庫 - Notion 整合權杖 (Notion Integration Token)
設定
1. 建立一個 Notion 表格資料庫
在 Notion 中建立一個新的表格資料庫。 您可以將任何欄位新增到資料庫,它們將被視為元資料。 例如,您可以新增以下欄位
- 標題:將標題設定為預設屬性。
- 類別:用於儲存與頁面相關聯的類別的多選屬性。
- 關鍵字:用於儲存與頁面相關聯的關鍵字的多選屬性。
將您的內容新增到資料庫中每個頁面的主體。 NotionDBLoader 將從這些頁面中提取內容和元資料。
2. 建立一個 Notion 整合
若要建立 Notion 整合,請按照下列步驟操作
- 造訪 Notion Developers 頁面,並使用您的 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()