Notion Reader
Demonstrates our Notion data connector
%pip install llama-index-readers-notion
import loggingimport sys
logging.basicConfig(stream=sys.stdout, level=logging.INFO)logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
If youβre opening this Notebook on colab, you will probably need to install LlamaIndex π¦.
!pip install llama-index
from llama_index.core import SummaryIndexfrom llama_index.readers.notion import NotionPageReaderfrom IPython.display import Markdown, displayimport os
integration_token = os.getenv("NOTION_INTEGRATION_TOKEN")page_ids = ["<page_id>"]documents = NotionPageReader(integration_token=integration_token).load_data( page_ids=page_ids)
index = SummaryIndex.from_documents(documents)
# set Logging to DEBUG for more detailed outputsquery_engine = index.as_query_engine()response = query_engine.query("<query_text>")
display(Markdown(f"<b>{response}</b>"))
You can also pass the id of a database to index all the pages in that database:
database_ids = ["<database-id>"]
# https://developers.notion.com/docs/working-with-databases for how to find your database id
documents = NotionPageReader(integration_token=integration_token).load_data( database_ids=database_ids)
print(documents)
# set Logging to DEBUG for more detailed outputsindex = SummaryIndex.from_documents(documents)query_engine = index.as_query_engine()response = query_engine.query("<query_text>")display(Markdown(f"<b>{response}</b>"))
To list all databases in your Notion workspace:
reader = NotionPageReader(integration_token=integration_token)databases = reader.list_databases()print(databases)