オープンな食品事実に基づいて、Chroma Vectorデータベースを使用した食品の類似性の推奨事項。

Open Food Facts APIを使用して約10,000個の製品が取得されていますが、一部の製品には情報がないため、処理後に約4,300個の製品があります。各製品には、一意の識別子、名前、画像URL、および成分の割合があります。 1,500を超えるインデックス付きベクトルがあり、各ベクトルは総食品(砂糖、油、水など)の成分の割合を表しています。
データセットの生成を開始するには、次のコマンドを実行します。
npm run data-mining移行は、製品データセット( products.json )をローカルクロマデータベースにエクスポートします。
移行を開始するには、実行してください。
npm run migrationベクトルデータベースにクエリを実行するには、製品データからベクトルを生成する必要があります。
まず、Open Food Facts製品APIを呼び出します。次に、埋め込み用のベクトル( likeliest_recipes.json )を生成し、それらを使用してデータベースにリクエストを行います。
デフォルトでは、クロマデータベースでクエリが実行されると、同様の製品がSquared L2 NormベクトルNORMを使用して決定されます。

その他のベクトル基準は、 Inner productやCosine similarity 、ChromaとHnswlibの詳細など、その他のベクトル規範も利用できます。
npm cidocker run -p 8000:8000 chromadb/chroma:0.4.213017620429484 :https://world.openfoodfacts.org/product/3017620429484/nutella-hazelnut-spread-ferrero) node ./query.js product=3017620429484すべてのデータセットは、Open Food Facts APIを使用して抽出されています。 Open Food Factsプロジェクトに寄付してください
このプロジェクトは、GNU AGPL V3ライセンスでライセンスされています。
詳細については、ライセンスを参照してください。