إنه تطبيق Flask لقراءة الملاحظات والبحث فيها من قاعدة المعرفة الشخصية. هنا، تعني قاعدة المعرفة مجموعة من دفاتر ملاحظات Jupyter التي تحتوي على خلايا Markdown والتي قد تحتوي على علامات وقد تحتوي على روابط لبعضها البعض. لذا فإن النهج يشبه زيتلكاستن.
ومن مميزات نظام البحث ما يلي:
يمكن استخدام المستودع ككل (مع الملاحظات التي كتبتها) أو كحزمة 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 عشوائيًا. على سبيل المثال، يمكنك ببساطة الاحتفاظ بجميع الملاحظات في دفتر ملاحظات واحد.
يجب أن تكون جميع خلايا دفتر الملاحظات عبارة عن خلايا Markdown تبدأ بـ ## {title}
. لوضع علامة على ملاحظة، قم بتنشيط مرافق وضع العلامات باستخدام "عرض -> شريط أدوات الخلية -> العلامات". لإضافة رابط من ملاحظة إلى ملاحظة أخرى، يمكن استخدام الأنماط الخاصة __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 "
}
الآن لنقم بتثبيت حزمة بايثون:
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. بخلاف ذلك، يعتمد ترتيب النتائج على المواضع المعجمية لدفاتر الملاحظات الخاصة بهم داخل الدليل الميداني الخاص بهم وعلى مواضع الخلايا داخل دفاتر الملاحظات.
استمتع بالقراءة!