1. Apprendre
  2. /
  3. Cours
  4. /
  5. Introduction aux embeddings avec l'API d'OpenAI

Connected

Exercice

Système de recommandation de produits

Dans cet exercice, vous allez créer un système de recommandation pour un détaillant en ligne qui vend une variété de produits. Ce système recommande trois produits similaires aux personnes qui consultent une page produit sans acheter, en se basant sur le dernier produit qu'elles ont visité.

On vous fournit une liste de dictionnaires représentant les produits offerts sur le site,

products = [
    {
        "title": "Smartphone X1",
        "short_description": "The latest flagship smartphone with AI-powered features and 5G connectivity.",
        "price": 799.99,
        "category": "Electronics",
        "features": [
            "6.5-inch AMOLED display",
            ...
            "Fast wireless charging"
        ]
    },
    ...
]

ainsi qu'un dictionnaire pour le dernier produit visité par l'utilisateur, stocké dans last_product.

Les fonctions personnalisées suivantes, définies plus tôt dans le cours, sont aussi à votre disposition :

  • create_embeddings(texts) → renvoie une liste d'embeddings pour chaque texte dans texts.
  • create_product_text(product) → combine les caractéristiques du product en une seule chaîne de caractères à intégrer.
  • find_n_closest(query_vector, embeddings, n=3) → renvoie les n distances les plus faibles et leurs indices entre le query_vector et les embeddings, selon la distance cosinus.

Instructions

100 XP
  • Combinez les caractéristiques textuelles dans last_product, et pour chaque produit de products, en utilisant create_product_text().
  • Générez les embeddings de last_product_text et product_texts avec create_embeddings(), en veillant à ce que last_product_embeddings soit une seule liste.
  • Trouvez les trois distances cosinus les plus petites et leurs indices avec find_n_closest().