
يحتوي هذا الريبو على تنفيذ SearchTheArxiv.com ، وهو محرك بحث دلالي بسيط لأكثر من 300000 ورقة على Arxiv (والعد). يتم فصل الرمز إلى جزأين ، app data . يحتوي app على تنفيذ كل من الواجهة الأمامية والخلفية لتطبيق الويب ، في حين أن data مسؤولة عن تحديث قاعدة البيانات على فترات منتظمة باستخدام Openai و Pinecone. يحتوي كل من app data على dockerfile لسهولة النشر على منصات السحابة. لا أتوقع (أو أشجع) أي شخص أن يدير استنساخًا للمشروع بمفرده (سيكون ذلك غريبًا) ، ولكنه قد يكون بمثابة مصدر إلهام للأشخاص الذين يبنون نوعًا مماثلًا من محرك البحث الدلالي.
من أجل تشغيل الرمز ، تحتاج إلى توفير قائمة متغيرات البيئة التالية:
KAGGLE_USERNAME=your_kaggle_username
KAGGLE_API_KEY=your_kaggle_api_key
OPENAI_API_KEY=your_openai_api_key
PINECONE_API_KEY=your_pinecone_api_key
PINECONE_INDEX_NAME=your_pinecone_index_name
يُطلب من اسم مستخدم Kaggle و API مفتاح جلب Metadataset Arxiv ، التي تم الحفاظ عليها (وتحديثها أسبوعيًا) من قبل جامعة كورنيل. يتم استخدام مفتاح Openai API لتضمين أوراق جديدة باستخدام نموذج text-embedding-ada-002 . يتم استخدام مفتاح Pinecone API واسم الفهرس للاتصال بمؤشر (IE Vector Database) المستضافة على Pinecone.
إذا كنت مهتمًا فقط بالتضمينات ، فقد نشرت مجموعة البيانات الكاملة على Kaggle. يبلغ الحجم الحالي حوالي 10 جيجابايت ولكنه ينمو قليلاً كل أسبوع مع إضافة أوراق جديدة.
إذا ، لسبب ما ، لا تزال ترغب في تضمين الأوراق بنفسك ، فيمكنك تشغيل embed.py في data بعد تنزيل البيانات الوصفية من Kaggle ، وتعيين متغيرات البيئة ، وإنشاء فهرس pinecone. إذا كنت لا ترغب في استخدام Pinecone ، فأنت حر في تعديل الرمز كما تريد. نظرًا لأن الفهرس سيكون فارغًا في البداية ، سيقوم البرنامج النصي بتضمين جميع أوراق ML (مرة أخرى ، أكثر من 300000). ومع ذلك ، قبل القيام بذلك ، سيقدر سعرًا باستخدام Tiktoken Tokenizer من Openai ويطلب منك التأكيد. يمكنك تخطي هذه الخطوة عن طريق تشغيل python3 embed.py --no-confirmation .
إذا كنت تحب SearchTheArxiv.com وترغب في رؤية شيء تم تحسينه ، فلا تتردد في تقديم طلب سحب؟