BaşlayınÜcretsiz başlayın

Ürün öneri sistemi

Bu egzersizde, çeşitli ürünler satan bir çevrimiçi perakendeci için bir öneri sistemi oluşturacaksın. Bu sistem, bir ürün sayfasını ziyaret edip satın almayan kullanıcılara, en son ziyaret ettikleri ürüne göre üç benzer ürün önerir.

Sitede bulunan ürünlerin sözlüklerinden oluşan bir liste sana verildi,

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

ve kullanıcının en son ziyaret ettiği ürüne ait, last_product içinde saklanan bir sözlük de sağlandı.

Ayrıca, derste daha önce tanımlanmış aşağıdaki özel fonksiyonları da kullanabilirsin:

  • create_embeddings(texts)texts içindeki her metin için bir gömme (embedding) listesi döndürür.
  • create_product_text(product)product özelliklerini gömme için tek bir metin halinde birleştirir.
  • find_n_closest(query_vector, embeddings, n=3) → kosinüs uzaklıklarına göre query_vector ile embeddings arasındaki en yakın n uzaklığı ve bunların indekslerini döndürür.

Bu egzersiz, kursun bir parçasıdır

OpenAI API ile Embeddings’e Giriş

Kursa Göz Atın

Egzersiz talimatları

  • last_product içindeki metin özelliklerini ve products içindeki her ürün için create_product_text() kullanarak birleştir.
  • last_product_text ve product_texts için create_embeddings() ile gömme oluştur; last_product_embeddings değerinin tek bir liste olduğundan emin ol.
  • find_n_closest() ile en küçük üç kosinüs uzaklığını ve indekslerini bul.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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'])
Kodu Düzenle ve Çalıştır