개인 지식 베이스의 노트를 읽고 검색할 수 있는 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 Notebook 간의 노트 배포는 임의적일 수 있습니다. 예를 들어 모든 메모를 하나의 노트북에 보관할 수 있습니다.
Notebook의 모든 셀은 ## {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
으로 이동합니다.
웹 인터페이스는 설명이 필요하지 않습니다.
유일하게 중요한 제어 요소는 필드의 홈 페이지에 있는 검색 창입니다. 세 가지 모드로 작동할 수 있습니다.
transformers in recommender systems
)tags:
필수입니다(예: tags: transformers AND recommender_systems
).tags:
자연어 쿼리를 형성하고 태그 표현 이후의 기호(예: transformers tags: recommender_systems
).쿼리의 적어도 일부가 자연어로 된 경우 결과는 TF-IDF를 기준으로 정렬됩니다. 그렇지 않으면 결과 순서는 필드 디렉토리 내 노트북의 사전 편찬 위치와 노트북 내부 셀 위치에 따라 달라집니다.
즐겁게 읽으세요!