これは、個人の知識ベースからメモを読んだり検索したりするための Flask アプリです。ここで、ナレッジ ベースとは、マークダウン セルを含む 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
最後のコマンドはローカル サーバーを起動します。準備ができたら、Web ブラウザを開いて127.0.0.1:5000
に移動します。詳細については、インターフェースガイドを参照してください。
独自のナレッジ ベースをアプリと互換性を持たせるには、次のように表現する必要があります。
notes_directory
├── field_one
│ ├── notebook_one.ipynb
│ ├── ...
│ └── notebook_n.ipynb
├── ...
└── field_k
├── notebook_one.ipynb
├── ...
└── notebook_m.ipynb
ここで、フィールドは独立したドメイン (機械学習、化学、音楽理論など) を表します。特定のフィールド内では、Jupyter ノートブック間でのノートの配分は任意にすることができます。たとえば、すべてのメモを 1 つのノートブックに保存することができます。
ノートブックのすべてのセルは、 ## {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 インターフェイスは一目瞭然です。
唯一の重要なコントロール要素は、フィールドのホームページにある検索バーです。次の 3 つのモードで動作できます。
transformers in recommender systems
)。tags:
が必要です (例: tags: transformers AND recommender_systems
)。tags:
自然言語クエリを形成し、その後のシンボルがタグ式を形成します (例: transformers tags: recommender_systems
)。クエリの少なくとも一部が自然言語である場合、結果は TF-IDF によって並べ替えられます。それ以外の場合、結果の順序は、フィールド ディレクトリ内のノートブックの辞書編集上の位置と、ノートブック内のセルの位置に依存します。
読書をお楽しみください!