
Ce dépôt contient la mise en œuvre de SearchtheArxiv.com, un moteur de recherche sémantique simple pour plus de 300 000 papiers ML sur ArXIV (et comptage). Le code est séparé en deux parties, app et data . app contient l'implémentation du frontend et du backend de l'application Web, tandis que data sont responsables de la mise à jour de la base de données à intervalles réguliers à l'aide d'Openai et de PineCone. app et data contiennent un dockerfile pour un déploiement facile vers les plates-formes cloud. Je ne m'attends pas à (ou à encourager) quiconque à gérer un clone du projet par eux-mêmes (ce serait bizarre), mais cela pourrait servir d'inspiration pour les personnes qui construisent un type de moteur de recherche sémantique similaire.
Afin d'exécuter le code, vous devez fournir la liste suivante des variables d'environnement:
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
Le nom d'utilisateur de Kaggle et la clé d'API sont nécessaires pour récupérer le métadataset Arxiv, entretenu (et mis à jour chaque semaine) par l'Université Cornell. La touche API OpenAI est utilisée pour intégrer de nouveaux articles à l'aide du modèle text-embedding-ada-002 . La touche API et le nom d'index PineCone sont utilisés pour se connecter à la base de données d'index (c.-à-d. Vector) hébergée sur PineCone.
Si vous n'êtes intéressé que par les intérêts, j'ai publié l'ensemble de données complet sur Kaggle. La taille actuelle est d'environ 10 Go, mais augmente légèrement chaque semaine à mesure que de nouveaux papiers sont ajoutés.
Si, pour une raison quelconque, vous souhaitez toujours intégrer les articles par vous-même, vous pouvez exécuter embed.py dans data après avoir téléchargé le métadataset à partir de Kaggle, définir les variables d'environnement et créer un index de poireau. Si vous ne souhaitez pas utiliser PineCone, vous êtes libre de modifier le code comme vous le souhaitez. Étant donné que l'index sera initialement vide, le script intégrera tous les papiers ML (encore une fois, plus de 300 000). Cependant, avant de le faire, il estimera un prix en utilisant TikToken Tokenizer d'Openai et vous demandera de confirmer. Vous pouvez ignorer cette étape en exécutant python3 embed.py --no-confirmation .
Si vous aimez SearchtheArxiv.com et que vous souhaitez voir quelque chose de amélioré, n'hésitez pas à soumettre une demande de traction?