Mulai sekarangMulai gratis

Mengurutkan berdasarkan kemiripan

Sekarang Anda telah membuat embedding untuk semua fitur, langkah berikutnya adalah menghitung kemiripan. Pada latihan ini, Anda akan mendefinisikan fungsi bernama find_n_closest() yang menghitung jarak kosinus antara sebuah vektor kueri dan daftar embedding, lalu mengembalikan n jarak terkecil beserta indeksnya.

Pada latihan berikutnya, Anda akan menggunakan fungsi ini untuk mengaktifkan aplikasi pencarian produk semantik Anda.

distance telah diimpor dari scipy.spatial.

Latihan ini merupakan bagian dari kursus

Pengantar Embeddings dengan OpenAI API

Lihat Kursus

Instruksi latihan

  • Hitung jarak kosinus antara query_vector dan embedding.
  • Tambahkan sebuah dictionary yang berisi dist dan index ke dalam list distances.
  • Urutkan list distances berdasarkan kunci 'distance' dari setiap dictionary.
  • Kembalikan n elemen pertama dalam distances_sorted.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

def find_n_closest(query_vector, embeddings, n=3):
  distances = []
  for index, embedding in enumerate(embeddings):
    # Calculate the cosine distance between the query vector and embedding
    dist = ____
    # Append the distance and index to distances
    distances.append({"distance": ____, "index": ____})
  # Sort distances by the distance key
  distances_sorted = ____
  # Return the first n elements in distances_sorted
  return ____
Edit dan Jalankan Kode