Das richtige Python -Paket auf PYPI zu finden, kann etwas schwierig sein, da PYPI nicht wirklich darauf ausgelegt ist, Pakete leicht zu entdecken. Sie können beispielsweise nach dem Wort "Handlung" suchen und eine Liste von Hunderten von Paketen erhalten, die das Wort "Handlung" in scheinbar zufälliger Reihenfolge enthalten.
Inspiriert von diesem Blog -Beitrag über die Suche nach Arxiv -Artikeln mit Vektor -Einbettungen habe ich mich entschlossen, eine kleine Anwendung zu erstellen, mit der Sie Python -Pakete mit einem ähnlichen Ansatz finden können. Zum Beispiel können Sie es fragen: "Ich möchte schöne Handlungen und Visualisierungen erstellen", und es bietet Ihnen eine kurze Liste von Paketen, die Ihnen dabei helfen können.
Das Projekt erfolgt mit mehr als 100 wöchentlichen Downloads, indem sie Projektzusammenfassungen und Beschreibungen für alle Pakete auf PYPI sammeln. Diese werden dann unter Verwendung von Satztransformatoren in Vektordarstellungen umgewandelt. Wenn der Benutzer eine Abfrage eingibt, wird er in eine Vektordarstellung umgewandelt und die ähnlichsten Paketbeschreibungen werden aus der Vektor -Datenbank abgerufen. Die Menge an wöchentlichen Downloads wird zusätzliches Gewicht gegeben, bevor die Ergebnisse dem Benutzer in einem Dashboard präsentiert werden.
Das Projekt verwendet die folgenden Technologien:
.env -Datei Standardmäßig werden alle Daten auf Ihrem lokalen Computer gespeichert. Es ist auch möglich, die Daten für die API für den Speicher Azure Blob zu speichern und die API von dort aus lesen zu lassen. Erstellen Sie dazu eine .env -Datei:
cp .env.template .envund füllen Sie die erforderlichen Felder aus.
Das Setup -Skript wird:
data .STORAGE_BACKEND auf BLOB eingestellt ist: Laden Sie die Datensätze in den Blob -Speicher hoch.Es gibt drei Methoden, um das Setup -Skript auszuführen, abhängig davon, ob Sie eine NVIDIA -GPU- und NVIDIA -Container -Toolkit installiert haben. Bitte führen Sie das Setup -Skript mit der für Sie anwendbaren Methode aus:
Notiz
Der Datensatz enthält ungefähr 100.000 Pakete auf PYPI mit mehr als 100 wöchentlichen Downloads. Um die lokale Entwicklung zu beschleunigen, können Sie die Anzahl der Pakete senken, die lokal verarbeitet werden, indem Sie den Wert von FRAC_DATA_TO_INCLUDE in pypi_scout/config.py senken.
Starten Sie die Anwendung mit Docker Compose:
docker-compose upNach kurzer Zeit findet Ihre Bewerbung unter http: // localhost: 3000 statt.
Der Datensatz für dieses Projekt wird mit dem PYPI -Datensatz in Google BigQuery erstellt. Die verwendete SQL -Abfrage finden Sie in pypi_bigQuery.sql. Der resultierende Datensatz ist als CSV -Datei auf Google Drive verfügbar.