
Repo ini berisi implementasi SearchThearXiv.com, mesin pencari semantik sederhana untuk lebih dari 300.000 ml makalah di Arxiv (dan penghitungan). Kode ini dipisahkan menjadi dua bagian, app dan data . app berisi implementasi frontend dan backend dari aplikasi Web, sementara data bertanggung jawab untuk memperbarui database secara berkala menggunakan OpenAi dan Pinecone. Baik app maupun data berisi DockerFile agar mudah digunakan ke platform cloud. Saya tidak berharap (atau mendorong) siapa pun untuk menjalankan klon proyek sendiri (itu akan aneh), tetapi mungkin berfungsi sebagai inspirasi bagi orang -orang yang membangun jenis mesin pencari semantik yang serupa.
Untuk menjalankan kode, Anda perlu menyediakan daftar variabel lingkungan berikut:
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
Nama pengguna Kaggle dan Kunci API diperlukan untuk mengambil metadataset Arxiv, dipelihara (dan diperbarui setiap minggu) oleh Cornell University. Kunci API OpenAI digunakan untuk menyematkan makalah baru menggunakan model text-embedding-ada-002 . Kunci API Pinecone dan nama indeks digunakan untuk terhubung ke indeks (yaitu database vektor) yang di -host di pinecone.
Jika Anda hanya tertarik pada embeddings, saya telah menerbitkan dataset lengkap di Kaggle. Ukuran saat ini sekitar 10GB tetapi tumbuh sedikit setiap minggu karena kertas baru ditambahkan.
Jika, untuk beberapa alasan, Anda masih ingin menyematkan kertas sendiri, Anda dapat menjalankan embed.py dalam data setelah mengunduh metadataet dari kaggle, mengatur variabel lingkungan, dan membuat indeks pinecone. Jika Anda tidak ingin menggunakan Pinecone, Anda bebas memodifikasi kode sesuka Anda. Karena indeks awalnya akan kosong, skrip akan menanamkan semua makalah ML (sekali lagi, lebih dari 300.000). Namun, sebelum melakukannya, itu akan memperkirakan harga menggunakan tokenizer Tiktoken Openai dan meminta Anda untuk mengonfirmasi. Anda dapat melewatkan langkah ini dengan menjalankan python3 embed.py --no-confirmation .
Jika Anda suka searchThearxiv.com dan ingin melihat sesuatu ditingkatkan, jangan ragu untuk mengirimkan permintaan tarik?