Menemukan paket Python yang tepat di PYPI bisa sedikit sulit, karena PYPI tidak benar -benar dirancang untuk menemukan paket dengan mudah. Misalnya, Anda dapat mencari kata "plot" dan mendapatkan daftar ratusan paket yang berisi kata "plot" dalam urutan yang tampaknya acak.
Terinspirasi oleh posting blog ini tentang menemukan artikel ArXIV menggunakan Vector Embeddings, saya memutuskan untuk membangun aplikasi kecil yang membantu Anda menemukan paket Python dengan pendekatan yang sama. Misalnya, Anda dapat menanyakannya "Saya ingin membuat plot dan visualisasi yang bagus", dan itu akan memberi Anda daftar paket pendek yang dapat membantu Anda.
Proyek ini bekerja dengan mengumpulkan ringkasan proyek dan deskripsi untuk semua paket di PYPI dengan lebih dari 100 unduhan mingguan. Ini kemudian dikonversi menjadi representasi vektor menggunakan transformator kalimat. Ketika pengguna memasukkan kueri, itu dikonversi menjadi representasi vektor, dan deskripsi paket yang paling mirip diambil dari database vektor. Bobot tambahan diberikan pada jumlah unduhan mingguan sebelum menyajikan hasil kepada pengguna di dasbor.
Proyek ini menggunakan teknologi berikut:
.env Secara default, semua data akan disimpan di mesin lokal Anda. Dimungkinkan juga untuk menyimpan data untuk API di Azure Blob Storage, dan membuat API membaca dari sana. Untuk melakukannya, buat file .env :
cp .env.template .envdan mengisi bidang yang diperlukan.
Skrip pengaturan akan:
data .STORAGE_BACKEND diatur ke BLOB : Unggah dataset ke penyimpanan gumpalan.Ada tiga metode untuk menjalankan skrip pengaturan, bergantung pada jika Anda memiliki GPU NVIDIA dan toolkit wadah NVIDIA yang diinstal. Harap jalankan skrip pengaturan menggunakan metode yang berlaku untuk Anda:
Catatan
Dataset berisi sekitar 100.000 paket di PYPI dengan lebih dari 100 unduhan mingguan. Untuk mempercepat pengembangan lokal, Anda dapat menurunkan jumlah paket yang diproses secara lokal dengan menurunkan nilai FRAC_DATA_TO_INCLUDE di pypi_scout/config.py .
Mulai aplikasi menggunakan Docker Compose:
docker-compose upSetelah beberapa saat, aplikasi Anda akan langsung di http: // localhost: 3000.
Dataset untuk proyek ini dibuat menggunakan dataset PYPI di Google BigQuery. Kueri SQL yang digunakan dapat ditemukan di pypi_bigquery.sql. Dataset yang dihasilkan tersedia sebagai file CSV di Google Drive.