它是一個 Flask 應用程序,用於從個人知識庫中閱讀和搜尋筆記。在這裡,知識庫是指帶有 Markdown 單元的 Jupyter 筆記本的集合,這些單元可能帶有標籤,並且可能包含彼此的連結。因此,該方法類似於 Zettelkasten。
搜尋系統的特點包括:
這個儲存庫可以作為一個整體(帶有我編寫的註釋)使用,也可以作為一個為您的註釋提供介面的 Python 套件使用。
這個專案最有價值的部分不是軟體。這是筆記本身。在編寫它們時,我嘗試以一種允許有效理解且盡可能少含糊不清的方式解釋複雜的事物。我主要寫關於機器學習的文章,但新的主題也會跟著來。唉,有一個潛在的破壞因素——到目前為止,這些票據只有俄語版本。如果它不適合您,請轉到下一部分。
首先,您需要將儲存庫複製到本機電腦並安裝readingbricks
軟體套件。這可以透過從終端機運行以下命令來完成:
cd /your/path/
git clone https://github.com/Nikolay-Lysenko/readingbricks
cd readingbricks
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .
每次您想要啟動 Flask 應用程式時,請執行以下命令:
cd /your/path/readingbricks
source venv/bin/activate
python -m readingbricks
最後一個命令啟動本地伺服器。準備好後,打開網頁瀏覽器並轉到127.0.0.1:5000
。有關更多詳細信息,請參閱介面指南。
為了使您自己的知識庫與應用程式相容,它必須表示如下:
notes_directory
├── field_one
│ ├── notebook_one.ipynb
│ ├── ...
│ └── notebook_n.ipynb
├── ...
└── field_k
├── notebook_one.ipynb
├── ...
└── notebook_m.ipynb
在這裡,字段代表獨立的領域(例如,機器學習、化學、音樂理論等)。在特定領域內,Jupyter 筆記本之間的筆記分佈可以是任意的。例如,您可以將所有筆記簡單地儲存在一個筆記本中。
筆記本的所有單元格必須是以## {title}
開頭的 Markdown 單元格。若要標記註釋,請使用「檢視 -> 儲存格工具列 -> 標籤」啟動標記功能。要新增從一個註解到另一個註解的鏈接,可以使用特殊模式__root_url__/{field}/notes/{note_title}
和__home_url__/notes/{note_title}
。雖然後者不太詳細,但只有前者支援跨網域連結。
到目前為止,一切都很好。知識庫已準備就緒,但必須配置應用程式才能使用它。在某個位置建立一個 JSON 文件,如下所示:
{
"LANGUAGE" : " en " ,
"FIELDS" : [ " field_one " , " field_two " ],
"FIELD_TO_ALIAS" : { "field_one" : " Field #1 " , "field_two" : " Field #2 " },
"FIELD_TO_SEARCH_PROMPT" : { "field_one" : " the_most_popular_tag " , "field_two" : " the_most_popular_tag " },
"NOTES_DIR" : " /absolute/path/to/notes_directory " ,
"RESOURCES_DIR" : " /any/directory/for/storing/internal/files "
}
現在,讓我們安裝 Python 套件:
source /your/path/venv/bin/activate
pip install readingbricks
剩下的就是啟動應用程式:
python -m readingbricks -c /absolute/path/to/config.json
與上一節一樣,轉到127.0.0.1:5000
。
Web 介面非常不言自明。
唯一重要的控制元素是位於欄位主頁上的搜尋欄。它可以以三種模式運作:
transformers in recommender systems
);tags:
是必需的(例如tags: transformers AND recommender_systems
);tags:
形成自然語言查詢,其後的符號會形成標籤表達式(例如, transformers tags: recommender_systems
)。如果查詢的至少一部分是自然語言,則結果按 TF-IDF 排序。否則,結果的順序取決於筆記本在欄位目錄中的字典位置以及筆記本內單元的位置。
享受閱讀的樂趣!