Pypiを簡単に発見するために実際に設計されていないため、Pypiで適切なPythonパッケージを見つけるのは少し難しい場合があります。たとえば、「プロット」という単語を検索し、「プロット」という単語を一見ランダムな順序で含む数百のパッケージのリストを取得できます。
ベクターの埋め込みを使用したArxiv記事を見つけることに関するこのブログ投稿に触発された私は、同様のアプローチを備えたPythonパッケージを見つけるのに役立つ小さなアプリケーションを構築することにしました。たとえば、「私は素敵なプロットと視覚化を作りたい」と尋ねることができます。そして、それを助けることができるパッケージの短いリストを提供します。
このプロジェクトは、毎週100を超えるダウンロードを使用して、Pypiのすべてのパッケージのプロジェクトの要約と説明を収集することで機能します。次に、これらは文化器変圧器を使用してベクトル表現に変換されます。ユーザーがクエリを入力すると、ベクトル表現に変換され、最も類似したパッケージの説明がベクトルデータベースからフェッチされます。ダッシュボードでユーザーに結果を提示する前に、毎週ダウンロードの量に追加の重みが与えられます。
このプロジェクトでは、次のテクノロジーを使用しています。
.envファイルを作成しますデフォルトでは、すべてのデータがローカルマシンに保存されます。 Azure BlobストレージにAPIのデータを保存し、そこからAPIを読み取らせることもできます。そうするために、 .envファイルを作成します。
cp .env.template .env必要なフィールドに記入します。
セットアップスクリプトは次のとおりです。
dataディレクトリに保存します。STORAGE_BACKEND環境変数がBLOBに設定されている場合:データセットをBLOBストレージにアップロードします。セットアップスクリプトを実行するには、NVIDIA GPUとNVIDIAコンテナツールキットがインストールされているかどうかに応じて、セットアップスクリプトを実行する3つの方法があります。あなたに適用される方法を使用して、セットアップスクリプトを実行してください:
注記
データセットには、毎週100を超えるダウンロードがあるPypiに約100.000のパッケージが含まれています。ローカル開発をスピードアップするために、 pypi_scout/config.pyのFRAC_DATA_TO_INCLUDEの値を下げることにより、ローカルで処理されるパッケージの量を減らすことができます。
Docker Composeを使用してアプリケーションを開始します。
docker-compose upしばらくすると、アプリケーションはhttp:// localhost:3000でライブになります。
このプロジェクトのデータセットは、Google BigQueryのPypi Datasetを使用して作成されます。使用されるSQLクエリは、pypi_bigquery.sqlにあります。結果のデータセットは、GoogleドライブのCSVファイルとして利用できます。