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

Ürünler için semantik arama

find_n_closest() fonksiyonunu kullanma zamanı! Modellettiğin zenginleştirilmiş veriye dayanarak, bir test sorgusunda semantik ürün aramanı deneyecek ve en semantik olarak benzer beş ürünün sıralı bir listesini hesaplayacaksın.

Önceki egzersizde oluşturduğun find_n_closest() fonksiyonuna bir hatırlatma:

def find_n_closest(query_vector, embeddings, n=3):
    distances = []
    for index, embedding in enumerate(embeddings):
        distance = spatial.distance.cosine(query_vector, embedding)
        distances.append({"distance": distance, "index": index})
    distances_sorted = sorted(distances, key=lambda x: x["distance"])
    return distances_sorted[0:n]

Daha önce oluşturduğun create_embeddings() fonksiyonu da mevcut. Bu fonksiyonun bir metin aldığını ve her bir metin için gömlemeleri içeren liste listesi döndürdüğünü unutma. Daha önce oluşturduğun products sözlüğü ve product_embeddings de yüklendi.

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

OpenAI API ile Embeddings’e Giriş

Kursa Göz Atın

Egzersiz talimatları

  • query_text'ten sorgu vektörünü oluştur.
  • find_n_closest() fonksiyonunu kullanarak en yakın beş mesafeyi ve bunlara karşılık gelen indeksleri bul.
  • hits üzerinde döngü kur ve hits listesindeki her 'index' konumundaki ürünü çıkar.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Create the query vector from query_text
query_text = "computer"
query_vector = ____[0]

# Find the five closest distances
hits = ____

print(f'Search results for "{query_text}"')
for hit in hits:
  # Extract the product at each index in hits
  product = products[____]
  print(product["title"])
Kodu Düzenle ve Çalıştır