LoslegenKostenlos loslegen

Produktempfehlungssystem

In dieser Übung erstellst du ein Empfehlungssystem für einen Onlinehändler, der verschiedene Produkte verkauft. Dieses System empfiehlt Nutzerinnen und Nutzern, die zwar eine Produktseite besuchen, aber nichts kaufen, drei ähnliche Produkte – basierend auf dem zuletzt besuchten Produkt.

Du bekommst eine Liste von Dictionaries mit den auf der Website verfügbaren Produkten,

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"
        ]
    },
    ...
]

und ein Dictionary für das zuletzt besuchte Produkt der Nutzerin/des Nutzers in last_product.

Die folgenden benutzerdefinierten Funktionen aus dem Kurs stehen dir ebenfalls zur Verfügung:

  • create_embeddings(texts) → gibt eine Liste von Embeddings für jeden Text in texts zurück.
  • create_product_text(product) → kombiniert die Merkmale von product zu einem einzelnen String für das Embedding.
  • find_n_closest(query_vector, embeddings, n=3) → liefert die n kleinsten Distanzen und ihre Indizes zwischen query_vector und embeddings, basierend auf Kosinusdistanzen.

Diese Übung ist Teil des Kurses

Einführung in Embeddings mit der OpenAI API

Kurs anzeigen

Anleitung zur Übung

  • Kombiniere die Textmerkmale in last_product und für jedes Produkt in products mithilfe von create_product_text().
  • Erstelle Embeddings für last_product_text und product_texts mit create_embeddings() und stelle sicher, dass last_product_embeddings eine einzelne Liste ist.
  • Finde die drei kleinsten Kosinusdistanzen und ihre Indizes mit find_n_closest().

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Combine the features for last_product and each product in products
last_product_text = ____
product_texts = ____

# Embed last_product_text and product_texts
last_product_embeddings = ____
product_embeddings = ____

# Find the three smallest cosine distances and their indexes
hits = ____(____, product_embeddings)

for hit in hits:
  product = products[hit['index']]
  print(product['title'])
Code bearbeiten und ausführen