Mulai sekarangMulai gratis

Sistem rekomendasi produk

Dalam latihan ini, Anda akan membuat sistem rekomendasi untuk sebuah peritel online yang menjual berbagai produk. Sistem ini merekomendasikan tiga produk serupa kepada pengguna yang mengunjungi halaman produk tetapi tidak melakukan pembelian, berdasarkan produk terakhir yang mereka kunjungi.

Anda telah disediakan daftar kamus produk yang tersedia di situs,

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

serta sebuah kamus untuk produk terakhir yang dikunjungi pengguna, disimpan dalam last_product.

Fungsi kustom berikut yang didefinisikan sebelumnya dalam kursus juga tersedia untuk Anda gunakan:

  • create_embeddings(texts) → mengembalikan daftar embedding untuk setiap teks dalam texts.
  • create_product_text(product) → menggabungkan fitur-fitur product menjadi satu string untuk di-embedding.
  • find_n_closest(query_vector, embeddings, n=3) → mengembalikan n jarak terkecil beserta indeksnya antara query_vector dan embeddings, berdasarkan jarak kosinus.

Latihan ini merupakan bagian dari kursus

Pengantar Embeddings dengan OpenAI API

Lihat Kursus

Instruksi latihan

  • Gabungkan fitur teks dalam last_product, dan untuk setiap produk dalam products, menggunakan create_product_text().
  • Buat embedding untuk last_product_text dan product_texts menggunakan create_embeddings(), pastikan last_product_embeddings berupa satu daftar.
  • Temukan tiga jarak kosinus terkecil beserta indeksnya menggunakan find_n_closest().

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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'])
Edit dan Jalankan Kode