Use Caso de recomendações de similaridade para produtos alimentícios com banco de dados de vetores Chroma com base em fatos abertos.

Cerca de 10.000 produtos são recuperados usando a API de fatos de alimentos abertos, mas alguns produtos não têm informações; portanto, após o processamento, temos cerca de 4.300 produtos. Cada produto possui um identificador exclusivo, nome, URL da imagem e a porcentagem de ingredientes. Existem mais de 1.500 vetores indexados, com cada vetor representando a porcentagem de um ingrediente no produto alimentar total (como açúcar, óleo, água etc.).
Para iniciar a geração de conjuntos de dados, execute o seguinte comando:
npm run data-mining A migração exportará conjuntos de dados de produtos ( products.json ) para o banco de dados Chroma local.
Para lançar a migração, execute:
npm run migration Para executar uma consulta no banco de dados vetorial, você precisa gerar vetores a partir dos dados do produto.
Primeiro, chamamos a API do produto de fatos abertos. Em seguida, geramos vetores para incorporação ( likeliest_recipes.json ) e os usamos para fazer uma solicitação ao banco de dados.
Por padrão, quando uma consulta é realizada no banco de dados Chroma, produtos similares são determinados usando a norma vetorial Squared L2 Norm :

Outras normas vetoriais também estão disponíveis, como o Inner product ou Cosine similarity , mais detalhes sobre Chroma e HNSWLIB.
npm cidocker run -p 8000:8000 chromadb/chroma:0.4.213017620429484 : https://world.openfoodfacfacfacts.org/product/3017620429484/nutella-hazelnut-spread-ferro) node ./query.js product=3017620429484Todos os conjuntos de dados foram extraídos usando a API de fatos de alimentos abertos. Doe para abrir o projeto de fatos alimentares
Este projeto está licenciado com a licença GNU AGPL V3.
Consulte a licença para obter mais detalhes.